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
- DWriteFactory.cs
- ToolStripActionList.cs
- SymbolType.cs
- XmlSchemaExporter.cs
- DefaultParameterValueAttribute.cs
- DbModificationClause.cs
- InteropExecutor.cs
- GlyphElement.cs
- MethodAccessException.cs
- TdsParameterSetter.cs
- ComboBoxItem.cs
- DBDataPermissionAttribute.cs
- TypeConverter.cs
- SymmetricKey.cs
- FileSystemEventArgs.cs
- RenderingEventArgs.cs
- TreeBuilderBamlTranslator.cs
- ParameterInfo.cs
- TextRunTypographyProperties.cs
- DynamicUpdateCommand.cs
- BooleanConverter.cs
- WebPartAuthorizationEventArgs.cs
- SizeConverter.cs
- DataControlFieldsEditor.cs
- DefaultTextStore.cs
- CopyNodeSetAction.cs
- DataServiceProcessingPipeline.cs
- UniqueIdentifierService.cs
- ISessionStateStore.cs
- DBAsyncResult.cs
- NamespaceExpr.cs
- ACE.cs
- PointIndependentAnimationStorage.cs
- XDeferredAxisSource.cs
- ScaleTransform3D.cs
- CompressionTransform.cs
- SystemPens.cs
- TypeDelegator.cs
- CollectionTypeElement.cs
- DetailsViewActionList.cs
- InteropTrackingRecord.cs
- ObjectTag.cs
- validationstate.cs
- XmlSchemaAttribute.cs
- ClaimTypeElementCollection.cs
- CultureSpecificStringDictionary.cs
- ColumnResult.cs
- ErrorRuntimeConfig.cs
- AssemblyCollection.cs
- clipboard.cs
- StorageConditionPropertyMapping.cs
- Binding.cs
- EntityClassGenerator.cs
- assemblycache.cs
- DllNotFoundException.cs
- OdbcConnectionFactory.cs
- HttpResponseInternalBase.cs
- FragmentQueryKB.cs
- PersistenceException.cs
- ActivationServices.cs
- UriScheme.cs
- TraceListener.cs
- PropertySourceInfo.cs
- WithParamAction.cs
- BrushConverter.cs
- _UriSyntax.cs
- SpotLight.cs
- ListViewCancelEventArgs.cs
- ListDictionaryInternal.cs
- StringFunctions.cs
- QuaternionKeyFrameCollection.cs
- CoTaskMemUnicodeSafeHandle.cs
- DynamicValidator.cs
- Tag.cs
- TypeInitializationException.cs
- OdbcFactory.cs
- ToolStripMenuItem.cs
- FastPropertyAccessor.cs
- Gdiplus.cs
- WindowAutomationPeer.cs
- TemplateApplicationHelper.cs
- Columns.cs
- XsltConvert.cs
- VirtualizingStackPanel.cs
- ScriptingJsonSerializationSection.cs
- TextRangeSerialization.cs
- RewritingProcessor.cs
- Italic.cs
- TextSelectionHighlightLayer.cs
- ParenthesizePropertyNameAttribute.cs
- WS2007HttpBindingElement.cs
- Grid.cs
- RoleManagerSection.cs
- XamlSerializationHelper.cs
- FixedSOMTableCell.cs
- DataServiceBuildProvider.cs
- SelectionEditor.cs
- Style.cs
- NavigationCommands.cs
- _TLSstream.cs