Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- FileStream.cs
- SHA1.cs
- Compiler.cs
- HttpCacheParams.cs
- HandleRef.cs
- WriteTimeStream.cs
- odbcmetadatacollectionnames.cs
- DefaultTextStoreTextComposition.cs
- Logging.cs
- TrackingValidationObjectDictionary.cs
- AudioBase.cs
- InstanceHandle.cs
- DisplayNameAttribute.cs
- EndpointDesigner.cs
- AmbientProperties.cs
- ObjectDataSourceEventArgs.cs
- TableItemProviderWrapper.cs
- ExecutionTracker.cs
- ExpressionBuilderCollection.cs
- SqlDataSourceCache.cs
- HwndStylusInputProvider.cs
- TypeUsageBuilder.cs
- DataGridCommandEventArgs.cs
- FastEncoderStatics.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- InvokeWebServiceDesigner.cs
- XmlSerializationWriter.cs
- TypeForwardedToAttribute.cs
- GZipUtils.cs
- ObjectTag.cs
- SortExpressionBuilder.cs
- ImportException.cs
- ClientCultureInfo.cs
- AuthorizationSection.cs
- GlyphElement.cs
- CompilerCollection.cs
- DesignTableCollection.cs
- SuppressMessageAttribute.cs
- URL.cs
- dataSvcMapFileLoader.cs
- HuffmanTree.cs
- HtmlSelect.cs
- AngleUtil.cs
- CardSpacePolicyElement.cs
- LogicalExpressionEditor.cs
- BamlBinaryReader.cs
- ColumnCollection.cs
- XmlElementAttribute.cs
- Library.cs
- StringHandle.cs
- FamilyCollection.cs
- SqlConnectionPoolGroupProviderInfo.cs
- COM2ExtendedUITypeEditor.cs
- ImageCodecInfo.cs
- Attributes.cs
- DataGridViewHitTestInfo.cs
- UIHelper.cs
- IIS7WorkerRequest.cs
- StringSource.cs
- ScriptControlDescriptor.cs
- AppModelKnownContentFactory.cs
- ScriptingScriptResourceHandlerSection.cs
- Stroke2.cs
- BindToObject.cs
- DesignTableCollection.cs
- SeekStoryboard.cs
- ObjectCacheHost.cs
- TypeConverterValueSerializer.cs
- VariantWrapper.cs
- cache.cs
- Typography.cs
- PagedDataSource.cs
- _DisconnectOverlappedAsyncResult.cs
- LinkLabelLinkClickedEvent.cs
- ControlCachePolicy.cs
- BreadCrumbTextConverter.cs
- TextEditorParagraphs.cs
- FormsAuthenticationEventArgs.cs
- AttributeCollection.cs
- COSERVERINFO.cs
- WorkflowOwnershipException.cs
- JsonReaderWriterFactory.cs
- WmpBitmapDecoder.cs
- _Rfc2616CacheValidators.cs
- PagesSection.cs
- RijndaelManaged.cs
- EntityTypeEmitter.cs
- TextEditorCharacters.cs
- ObjectNavigationPropertyMapping.cs
- IList.cs
- CalendarTable.cs
- GridView.cs
- XamlStyleSerializer.cs
- SafeNativeMethods.cs
- MetabaseSettingsIis7.cs
- GetParentChain.cs
- PeerNameRegistration.cs
- AndCondition.cs
- HGlobalSafeHandle.cs
- StyleXamlTreeBuilder.cs