Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / QueryReaderSettings.cs / 1 / QueryReaderSettings.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Xml; namespace System.Xml.Xsl { internal class QueryReaderSettings { private bool validatingReader; private XmlReaderSettings xmlReaderSettings; private XmlNameTable xmlNameTable; private EntityHandling entityHandling; private bool namespaces; private bool normalization; private bool prohibitDtd; private WhitespaceHandling whitespaceHandling; private XmlResolver xmlResolver; public QueryReaderSettings(XmlNameTable xmlNameTable) { Debug.Assert(xmlNameTable != null); xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.NameTable = xmlNameTable; xmlReaderSettings.ConformanceLevel = ConformanceLevel.Document; xmlReaderSettings.XmlResolver = null; xmlReaderSettings.ProhibitDtd = true; xmlReaderSettings.CloseInput = true; } public QueryReaderSettings(XmlReader reader) { #pragma warning disable 618 XmlValidatingReader valReader = reader as XmlValidatingReader; #pragma warning restore 618 if (valReader != null) { // Unwrap validation reader validatingReader = true; reader = valReader.Impl.Reader; } xmlReaderSettings = reader.Settings; if (xmlReaderSettings != null) { xmlReaderSettings = xmlReaderSettings.Clone(); xmlReaderSettings.NameTable = reader.NameTable; xmlReaderSettings.CloseInput = true; xmlReaderSettings.LineNumberOffset = 0; xmlReaderSettings.LinePositionOffset = 0; XmlTextReaderImpl impl = reader as XmlTextReaderImpl; if (impl != null) { xmlReaderSettings.XmlResolver = impl.GetResolver(); } } else { xmlNameTable = reader.NameTable; XmlTextReader xmlTextReader = reader as XmlTextReader; if (xmlTextReader != null) { XmlTextReaderImpl impl = xmlTextReader.Impl; entityHandling = impl.EntityHandling; namespaces = impl.Namespaces; normalization = impl.Normalization; prohibitDtd = impl.ProhibitDtd; whitespaceHandling = impl.WhitespaceHandling; xmlResolver = impl.GetResolver(); } else { entityHandling = EntityHandling.ExpandEntities; namespaces = true; normalization = true; prohibitDtd = true; whitespaceHandling = WhitespaceHandling.All; xmlResolver = null; } } } public XmlReader CreateReader(Stream stream, string baseUri) { XmlReader reader; if (xmlReaderSettings != null) { reader = XmlTextReader.Create(stream, xmlReaderSettings, baseUri); } else { XmlTextReaderImpl readerImpl = new XmlTextReaderImpl(baseUri, stream, xmlNameTable); readerImpl.EntityHandling = entityHandling; readerImpl.Namespaces = namespaces; readerImpl.Normalization = normalization; readerImpl.ProhibitDtd = prohibitDtd; readerImpl.WhitespaceHandling = whitespaceHandling; readerImpl.XmlResolver = xmlResolver; reader = readerImpl; } if (validatingReader) { #pragma warning disable 618 reader = new XmlValidatingReader(reader); #pragma warning restore 618 } return reader; } public XmlNameTable NameTable { get { return xmlReaderSettings != null ? xmlReaderSettings.NameTable : xmlNameTable; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Xml; namespace System.Xml.Xsl { internal class QueryReaderSettings { private bool validatingReader; private XmlReaderSettings xmlReaderSettings; private XmlNameTable xmlNameTable; private EntityHandling entityHandling; private bool namespaces; private bool normalization; private bool prohibitDtd; private WhitespaceHandling whitespaceHandling; private XmlResolver xmlResolver; public QueryReaderSettings(XmlNameTable xmlNameTable) { Debug.Assert(xmlNameTable != null); xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.NameTable = xmlNameTable; xmlReaderSettings.ConformanceLevel = ConformanceLevel.Document; xmlReaderSettings.XmlResolver = null; xmlReaderSettings.ProhibitDtd = true; xmlReaderSettings.CloseInput = true; } public QueryReaderSettings(XmlReader reader) { #pragma warning disable 618 XmlValidatingReader valReader = reader as XmlValidatingReader; #pragma warning restore 618 if (valReader != null) { // Unwrap validation reader validatingReader = true; reader = valReader.Impl.Reader; } xmlReaderSettings = reader.Settings; if (xmlReaderSettings != null) { xmlReaderSettings = xmlReaderSettings.Clone(); xmlReaderSettings.NameTable = reader.NameTable; xmlReaderSettings.CloseInput = true; xmlReaderSettings.LineNumberOffset = 0; xmlReaderSettings.LinePositionOffset = 0; XmlTextReaderImpl impl = reader as XmlTextReaderImpl; if (impl != null) { xmlReaderSettings.XmlResolver = impl.GetResolver(); } } else { xmlNameTable = reader.NameTable; XmlTextReader xmlTextReader = reader as XmlTextReader; if (xmlTextReader != null) { XmlTextReaderImpl impl = xmlTextReader.Impl; entityHandling = impl.EntityHandling; namespaces = impl.Namespaces; normalization = impl.Normalization; prohibitDtd = impl.ProhibitDtd; whitespaceHandling = impl.WhitespaceHandling; xmlResolver = impl.GetResolver(); } else { entityHandling = EntityHandling.ExpandEntities; namespaces = true; normalization = true; prohibitDtd = true; whitespaceHandling = WhitespaceHandling.All; xmlResolver = null; } } } public XmlReader CreateReader(Stream stream, string baseUri) { XmlReader reader; if (xmlReaderSettings != null) { reader = XmlTextReader.Create(stream, xmlReaderSettings, baseUri); } else { XmlTextReaderImpl readerImpl = new XmlTextReaderImpl(baseUri, stream, xmlNameTable); readerImpl.EntityHandling = entityHandling; readerImpl.Namespaces = namespaces; readerImpl.Normalization = normalization; readerImpl.ProhibitDtd = prohibitDtd; readerImpl.WhitespaceHandling = whitespaceHandling; readerImpl.XmlResolver = xmlResolver; reader = readerImpl; } if (validatingReader) { #pragma warning disable 618 reader = new XmlValidatingReader(reader); #pragma warning restore 618 } return reader; } public XmlNameTable NameTable { get { return xmlReaderSettings != null ? xmlReaderSettings.NameTable : xmlNameTable; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HtmlPanelAdapter.cs
- EnumUnknown.cs
- UserPreferenceChangedEventArgs.cs
- AspCompat.cs
- DrawListViewItemEventArgs.cs
- WindowsBrush.cs
- PipelineComponent.cs
- SQLSingleStorage.cs
- SplashScreenNativeMethods.cs
- ControlIdConverter.cs
- DispatchChannelSink.cs
- LinqDataSourceInsertEventArgs.cs
- CodeDefaultValueExpression.cs
- InternalPolicyElement.cs
- SendMailErrorEventArgs.cs
- AttachInfo.cs
- Transactions.cs
- CodeAccessSecurityEngine.cs
- RoutedEventConverter.cs
- ObjectSecurity.cs
- AssemblyAttributes.cs
- DataTemplateSelector.cs
- TextStore.cs
- StringHandle.cs
- ChildChangedEventArgs.cs
- DateTimeOffset.cs
- ProcessHostServerConfig.cs
- ToolStripActionList.cs
- WebBrowserNavigatedEventHandler.cs
- _ListenerResponseStream.cs
- DBConcurrencyException.cs
- JsonMessageEncoderFactory.cs
- ErrorFormatterPage.cs
- OLEDB_Util.cs
- DropShadowBitmapEffect.cs
- ComAdminWrapper.cs
- Fonts.cs
- DataStreamFromComStream.cs
- XpsSerializerWriter.cs
- TraceListeners.cs
- HandlerMappingMemo.cs
- ApplicationManager.cs
- EFDataModelProvider.cs
- DataGrid.cs
- SystemFonts.cs
- PolygonHotSpot.cs
- WindowsPen.cs
- ScriptReferenceEventArgs.cs
- SqlHelper.cs
- ToolStripItemEventArgs.cs
- DefaultBinder.cs
- RangeValuePattern.cs
- AddInToken.cs
- COAUTHIDENTITY.cs
- StorageSetMapping.cs
- Attributes.cs
- StrongNameKeyPair.cs
- ArcSegment.cs
- SettingsBindableAttribute.cs
- ColorConvertedBitmapExtension.cs
- ListMarkerLine.cs
- EventMappingSettings.cs
- SqlGenericUtil.cs
- ProfileSection.cs
- PropertyNames.cs
- OutKeywords.cs
- SHA256.cs
- PersonalizationDictionary.cs
- AncestorChangedEventArgs.cs
- LinkedResourceCollection.cs
- StreamMarshaler.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- AuthenticodeSignatureInformation.cs
- HttpWebResponse.cs
- HttpMethodConstraint.cs
- ExpressionDumper.cs
- StylusDownEventArgs.cs
- CompleteWizardStep.cs
- DefaultShape.cs
- ToolZone.cs
- CollectionDataContractAttribute.cs
- TextRenderer.cs
- WorkflowFileItem.cs
- InvokeMemberBinder.cs
- BaseAutoFormat.cs
- SkipQueryOptionExpression.cs
- ExtensionQuery.cs
- EntryIndex.cs
- HttpCachePolicyBase.cs
- CacheDependency.cs
- PixelFormats.cs
- PathStreamGeometryContext.cs
- StreamGeometry.cs
- VisualStyleRenderer.cs
- SafeEventLogWriteHandle.cs
- LabelDesigner.cs
- VisualBasicSettingsHandler.cs
- QueryCacheEntry.cs
- WsdlContractConversionContext.cs
- MulticastIPAddressInformationCollection.cs