Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CodeLinePragma.cs
- AvTrace.cs
- XmlSchemaComplexContentRestriction.cs
- ApplicationGesture.cs
- DataSourceGroupCollection.cs
- FontStretchConverter.cs
- URLString.cs
- ComponentEditorForm.cs
- SortFieldComparer.cs
- WebUtil.cs
- RotateTransform.cs
- ProviderConnectionPointCollection.cs
- FactoryId.cs
- VisualStyleRenderer.cs
- LayoutTable.cs
- TdsParser.cs
- SqlParameterCollection.cs
- _OSSOCK.cs
- TimeSpanSecondsConverter.cs
- PageVisual.cs
- SelectionItemPattern.cs
- IdentityReference.cs
- BindingNavigator.cs
- __ComObject.cs
- WindowsMenu.cs
- serverconfig.cs
- InProcStateClientManager.cs
- AssemblyNameProxy.cs
- HttpRawResponse.cs
- ReachDocumentPageSerializer.cs
- UserNameSecurityTokenAuthenticator.cs
- MetadataItemSerializer.cs
- GridToolTip.cs
- CompilerInfo.cs
- InfoCardMetadataExchangeClient.cs
- ProcessHostServerConfig.cs
- SqlBuffer.cs
- UtilityExtension.cs
- XmlSerializerAssemblyAttribute.cs
- FrameSecurityDescriptor.cs
- SqlTopReducer.cs
- CroppedBitmap.cs
- HwndHost.cs
- AlphabeticalEnumConverter.cs
- _UriTypeConverter.cs
- TextPointer.cs
- CompilerLocalReference.cs
- ColorTransform.cs
- CodeTypeDelegate.cs
- Underline.cs
- Model3D.cs
- Odbc32.cs
- ChangePassword.cs
- ToolTipService.cs
- X509Chain.cs
- figurelength.cs
- ButtonBaseAutomationPeer.cs
- SqlConnectionFactory.cs
- DataGridDesigner.cs
- PartialCachingControl.cs
- EUCJPEncoding.cs
- WebPartManager.cs
- BuildResultCache.cs
- XmlDictionaryReaderQuotas.cs
- AssociationEndMember.cs
- _AutoWebProxyScriptWrapper.cs
- BitmapEffectGroup.cs
- SqlUtils.cs
- DataGridColumnCollection.cs
- CompilationRelaxations.cs
- SpeechUI.cs
- BitHelper.cs
- XmlEnumAttribute.cs
- DuplexChannel.cs
- ExceptionHelpers.cs
- LessThanOrEqual.cs
- SapiAttributeParser.cs
- TypeUtils.cs
- XmlChildNodes.cs
- CrossContextChannel.cs
- BlockCollection.cs
- PipeSecurity.cs
- GeneralTransform3DTo2D.cs
- RegexNode.cs
- IssuedTokenParametersElement.cs
- XslCompiledTransform.cs
- RestClientProxyHandler.cs
- PathGradientBrush.cs
- XmlQualifiedNameTest.cs
- EntityConnectionStringBuilder.cs
- CharEntityEncoderFallback.cs
- DataTemplate.cs
- DependencyObjectCodeDomSerializer.cs
- VersionedStream.cs
- IPAddressCollection.cs
- RowVisual.cs
- LogEntryDeserializer.cs
- ClientScriptManager.cs
- XmlDataSourceNodeDescriptor.cs
- srgsitem.cs