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
- InputBuffer.cs
- TextEditorParagraphs.cs
- RectangleHotSpot.cs
- DeviceSpecificChoiceCollection.cs
- ThemeDirectoryCompiler.cs
- HttpCachePolicyElement.cs
- XmlArrayAttribute.cs
- MulticastDelegate.cs
- HwndTarget.cs
- VScrollBar.cs
- DSACryptoServiceProvider.cs
- SqlEnums.cs
- VersionUtil.cs
- PrintControllerWithStatusDialog.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- PerformanceCounterManager.cs
- X509ChainElement.cs
- ElementProxy.cs
- StorageEndPropertyMapping.cs
- TcpConnectionPoolSettings.cs
- OdbcEnvironment.cs
- StreamInfo.cs
- OleDbStruct.cs
- StaticFileHandler.cs
- WindowPattern.cs
- Encoder.cs
- SqlStream.cs
- __ComObject.cs
- InvalidComObjectException.cs
- CanonicalFontFamilyReference.cs
- PageParserFilter.cs
- IndexerNameAttribute.cs
- DataGridViewColumnCollection.cs
- SHA1Cng.cs
- UIElementAutomationPeer.cs
- BinaryFormatterWriter.cs
- SQLMembershipProvider.cs
- coordinatorscratchpad.cs
- CharEntityEncoderFallback.cs
- ContainerUIElement3D.cs
- ListItemParagraph.cs
- GetWinFXPath.cs
- DataGridCaption.cs
- PerspectiveCamera.cs
- DynamicDataExtensions.cs
- AutomationEvent.cs
- CallbackTimeoutsBehavior.cs
- HandoffBehavior.cs
- PrintDocument.cs
- TableLayoutSettings.cs
- Asn1IntegerConverter.cs
- ForceCopyBuildProvider.cs
- Window.cs
- CodeCommentStatement.cs
- XmlSchemaGroup.cs
- ReaderOutput.cs
- GeometryGroup.cs
- GetPolicyDetailsRequest.cs
- TextRangeEditLists.cs
- Helper.cs
- PointConverter.cs
- FileNameEditor.cs
- HwndTarget.cs
- UpdateCompiler.cs
- CopyNodeSetAction.cs
- XmlSchemaComplexContentRestriction.cs
- EmptyCollection.cs
- InvokeBinder.cs
- GeometryConverter.cs
- DropDownButton.cs
- DefaultBinder.cs
- GridViewColumn.cs
- TextRangeAdaptor.cs
- BindingEditor.xaml.cs
- ScrollItemProviderWrapper.cs
- ProcessModelSection.cs
- HMACMD5.cs
- ItemsChangedEventArgs.cs
- AnnotationAuthorChangedEventArgs.cs
- SimpleRecyclingCache.cs
- TextRangeBase.cs
- EventLogTraceListener.cs
- WindowsPrincipal.cs
- SHA384CryptoServiceProvider.cs
- TextEditorParagraphs.cs
- Internal.cs
- ReceiveActivity.cs
- IItemContainerGenerator.cs
- ProxyGenerator.cs
- HebrewCalendar.cs
- TemplateParser.cs
- SqlCacheDependency.cs
- ListViewUpdateEventArgs.cs
- EventWaitHandleSecurity.cs
- ClickablePoint.cs
- GroupByExpressionRewriter.cs
- PrintControllerWithStatusDialog.cs
- ReferencedAssembly.cs
- TemplatePartAttribute.cs
- AssociationTypeEmitter.cs