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
- GenericWebPart.cs
- precedingquery.cs
- StylusPointProperties.cs
- TextTreeRootTextBlock.cs
- ContentPropertyAttribute.cs
- EdmProperty.cs
- ContextMenu.cs
- BasicKeyConstraint.cs
- DefaultProxySection.cs
- PropertyConverter.cs
- DataSourceIDConverter.cs
- SiteMapDataSourceView.cs
- ZoneIdentityPermission.cs
- InstanceDataCollectionCollection.cs
- RoutedEvent.cs
- _IPv6Address.cs
- Point.cs
- SchemaMerger.cs
- BindingGroup.cs
- XhtmlBasicPhoneCallAdapter.cs
- ConfigurationSection.cs
- PackageProperties.cs
- DataSvcMapFileSerializer.cs
- DataRelationPropertyDescriptor.cs
- ScrollBar.cs
- WebPart.cs
- XPathParser.cs
- Pool.cs
- CopyOnWriteList.cs
- XmlNamespaceMapping.cs
- MailBnfHelper.cs
- XmlNodeComparer.cs
- ResourceManagerWrapper.cs
- HtmlHead.cs
- SqlDataSourceCache.cs
- AssemblyBuilder.cs
- DataGridViewUtilities.cs
- OdbcFactory.cs
- XmlQualifiedName.cs
- XMLSchema.cs
- CodeLinePragma.cs
- XmlFileEditor.cs
- TransactionProxy.cs
- SqlDataSourceEnumerator.cs
- ToolboxCategory.cs
- SchemaConstraints.cs
- wgx_commands.cs
- WebPartCollection.cs
- SafeRegistryKey.cs
- WebPartsSection.cs
- SizeKeyFrameCollection.cs
- RuleConditionDialog.Designer.cs
- WsiProfilesElementCollection.cs
- WorkflowApplicationException.cs
- SqlDataSourceCustomCommandEditor.cs
- OraclePermissionAttribute.cs
- DataGridViewImageColumn.cs
- SessionSwitchEventArgs.cs
- CodeAccessSecurityEngine.cs
- GC.cs
- ExtendedProperty.cs
- SqlDataSource.cs
- DataComponentMethodGenerator.cs
- DefinitionBase.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ImageIndexEditor.cs
- HtmlShim.cs
- TypeDescriptionProviderAttribute.cs
- SqlClientMetaDataCollectionNames.cs
- PathFigure.cs
- TransactionScope.cs
- ProcessInfo.cs
- OleDbDataAdapter.cs
- CodeDomDesignerLoader.cs
- basevalidator.cs
- GradientStopCollection.cs
- ExpressionBuilder.cs
- WindowsFormsHostPropertyMap.cs
- CodeSubDirectory.cs
- FlowSwitchLink.cs
- SqlProvider.cs
- BaseCodeDomTreeGenerator.cs
- DependencyPropertyDescriptor.cs
- RootBuilder.cs
- CallbackDebugElement.cs
- URLString.cs
- StringHelper.cs
- Stream.cs
- CodeNamespace.cs
- HttpInputStream.cs
- UnsafeNativeMethods.cs
- FontFaceLayoutInfo.cs
- AppSettings.cs
- TextTreeExtractElementUndoUnit.cs
- CompModSwitches.cs
- CollectionViewGroupInternal.cs
- FileAccessException.cs
- SafeRightsManagementSessionHandle.cs
- RowSpanVector.cs
- ComboBoxRenderer.cs