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
- Adorner.cs
- PanelStyle.cs
- DataGridViewRowCollection.cs
- WebPartConnectionsConfigureVerb.cs
- SqlGenericUtil.cs
- FilteredAttributeCollection.cs
- PersonalizationStateInfo.cs
- ISAPIRuntime.cs
- oledbconnectionstring.cs
- LinqDataSourceView.cs
- AutomationPatternInfo.cs
- SqlDeflator.cs
- FileSecurity.cs
- AuthenticationModuleElementCollection.cs
- tabpagecollectioneditor.cs
- GraphicsContainer.cs
- QilBinary.cs
- MultiAsyncResult.cs
- OdbcException.cs
- Int16Storage.cs
- SoapCodeExporter.cs
- FilterQuery.cs
- TakeQueryOptionExpression.cs
- IFormattable.cs
- DataGridViewCellValidatingEventArgs.cs
- OLEDB_Enum.cs
- ReferenceEqualityComparer.cs
- PatternMatcher.cs
- BaseTemplateBuildProvider.cs
- BitmapSource.cs
- XomlCompilerError.cs
- List.cs
- SerializationBinder.cs
- XamlTemplateSerializer.cs
- DataObjectFieldAttribute.cs
- Mappings.cs
- Point3DConverter.cs
- MatrixTransform3D.cs
- TextParagraphProperties.cs
- PermissionAttributes.cs
- XNodeNavigator.cs
- IsolatedStorageException.cs
- MessageAction.cs
- UIElementCollection.cs
- Triplet.cs
- _emptywebproxy.cs
- HtmlTable.cs
- CellQuery.cs
- Path.cs
- ScriptReference.cs
- FontStyles.cs
- DataPager.cs
- XmlSchemaChoice.cs
- EmptyStringExpandableObjectConverter.cs
- PenLineJoinValidation.cs
- EdmTypeAttribute.cs
- AuthorizationRuleCollection.cs
- TextElement.cs
- ListBoxItem.cs
- DataControlField.cs
- EdmToObjectNamespaceMap.cs
- DrawingContextDrawingContextWalker.cs
- Char.cs
- BitmapEffect.cs
- ExternalCalls.cs
- DocumentCollection.cs
- SourceFileBuildProvider.cs
- SqlCacheDependencyDatabase.cs
- CompiledRegexRunner.cs
- MethodBuilderInstantiation.cs
- Canvas.cs
- Latin1Encoding.cs
- TextUtf8RawTextWriter.cs
- XamlSerializationHelper.cs
- SerializationInfoEnumerator.cs
- RelativeSource.cs
- ArithmeticException.cs
- Size3DValueSerializer.cs
- SQLByteStorage.cs
- ChangeBlockUndoRecord.cs
- WebBrowsableAttribute.cs
- NamedPipeTransportManager.cs
- WrappedDispatcherException.cs
- CultureSpecificStringDictionary.cs
- Helper.cs
- SqlRowUpdatingEvent.cs
- ArraySubsetEnumerator.cs
- GridSplitter.cs
- CompiledRegexRunnerFactory.cs
- DefaultMemberAttribute.cs
- ColumnCollection.cs
- _SafeNetHandles.cs
- DataGridViewLayoutData.cs
- compensatingcollection.cs
- ApplicationId.cs
- Compiler.cs
- InvalidDataException.cs
- SoapAttributes.cs
- AuthorizationRuleCollection.cs
- AccessDataSource.cs