Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / QueryReaderSettings.cs / 1305376 / 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.DtdProcessing = DtdProcessing.Prohibit; 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.DtdProcessing == DtdProcessing.Prohibit ); 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.DtdProcessing = prohibitDtd ? DtdProcessing.Prohibit : DtdProcessing.Parse; 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.DtdProcessing = DtdProcessing.Prohibit; 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.DtdProcessing == DtdProcessing.Prohibit ); 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.DtdProcessing = prohibitDtd ? DtdProcessing.Prohibit : DtdProcessing.Parse; 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
- ShaderEffect.cs
- RemotingHelper.cs
- DelayLoadType.cs
- NegatedCellConstant.cs
- IndentTextWriter.cs
- DefaultValueTypeConverter.cs
- TableLayoutRowStyleCollection.cs
- FontDriver.cs
- Privilege.cs
- LocalValueEnumerator.cs
- SoapIncludeAttribute.cs
- TextBounds.cs
- TickBar.cs
- _IPv4Address.cs
- WindowsFormsHostPropertyMap.cs
- ParseElement.cs
- CustomAttribute.cs
- HScrollProperties.cs
- WebBrowser.cs
- GPPOINTF.cs
- ToolStripContextMenu.cs
- FragmentNavigationEventArgs.cs
- DummyDataSource.cs
- ToolTip.cs
- StylusOverProperty.cs
- URIFormatException.cs
- StringValidatorAttribute.cs
- DbProviderFactories.cs
- OrderPreservingPipeliningSpoolingTask.cs
- Journal.cs
- AutoGeneratedFieldProperties.cs
- HMACSHA384.cs
- DynamicDataManager.cs
- DecimalConverter.cs
- AnonymousIdentificationModule.cs
- DataGridViewCellParsingEventArgs.cs
- PasswordBoxAutomationPeer.cs
- MetadataUtilsSmi.cs
- SQlBooleanStorage.cs
- EndpointConfigContainer.cs
- Interlocked.cs
- KernelTypeValidation.cs
- EmptyStringExpandableObjectConverter.cs
- SatelliteContractVersionAttribute.cs
- ToolStripSettings.cs
- TextTreeObjectNode.cs
- ImageKeyConverter.cs
- RunWorkerCompletedEventArgs.cs
- nulltextcontainer.cs
- DataRowChangeEvent.cs
- DropShadowEffect.cs
- PointLight.cs
- ProcessModuleCollection.cs
- DbDataSourceEnumerator.cs
- QueryPageSettingsEventArgs.cs
- nulltextnavigator.cs
- storagemappingitemcollection.viewdictionary.cs
- ThicknessAnimationBase.cs
- CommandEventArgs.cs
- TextComposition.cs
- ViewKeyConstraint.cs
- APCustomTypeDescriptor.cs
- DoubleStorage.cs
- StringResourceManager.cs
- MetadataPropertyAttribute.cs
- DataSourceViewSchemaConverter.cs
- AttachedProperty.cs
- DesignBindingConverter.cs
- TreeViewImageIndexConverter.cs
- PingReply.cs
- IndexedSelectQueryOperator.cs
- Color.cs
- SynchronizedInputHelper.cs
- CompilerCollection.cs
- HtmlTitle.cs
- InfoCardAsymmetricCrypto.cs
- ValidationHelpers.cs
- Vector.cs
- Stack.cs
- XmlReaderSettings.cs
- XmlSchemaObjectTable.cs
- SecurityTokenAuthenticator.cs
- MetadataUtilsSmi.cs
- TreeNodeStyle.cs
- ChannelDispatcherBase.cs
- DataColumnMapping.cs
- TypeSystem.cs
- FormatException.cs
- NavigationWindowAutomationPeer.cs
- XmlSchemaAll.cs
- prompt.cs
- UIElement3DAutomationPeer.cs
- TreeViewImageIndexConverter.cs
- BindingContext.cs
- PreloadedPackages.cs
- DataSourceListEditor.cs
- ServiceNameElementCollection.cs
- odbcmetadatafactory.cs
- DataSourceBooleanViewSchemaConverter.cs
- Preprocessor.cs