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
- WindowsEditBoxRange.cs
- DbParameterCollectionHelper.cs
- ResXBuildProvider.cs
- RtfToXamlReader.cs
- FileCodeGroup.cs
- SqlCommandSet.cs
- GlobalDataBindingHandler.cs
- CodeConstructor.cs
- DesignerTransactionCloseEvent.cs
- RangeValueProviderWrapper.cs
- Accessible.cs
- GregorianCalendarHelper.cs
- Configuration.cs
- _HTTPDateParse.cs
- SurrogateEncoder.cs
- SpeechSynthesizer.cs
- DirtyTextRange.cs
- PageContentCollection.cs
- UnitControl.cs
- StandardCommands.cs
- DeviceContext2.cs
- DefaultTraceListener.cs
- SqlDataSourceStatusEventArgs.cs
- AppAction.cs
- WaitHandle.cs
- BindingContext.cs
- AccessDataSourceView.cs
- CursorConverter.cs
- DataObjectPastingEventArgs.cs
- HitTestParameters3D.cs
- StyleSelector.cs
- CodeBlockBuilder.cs
- SqlMethodTransformer.cs
- WebPartCloseVerb.cs
- Int64Animation.cs
- ResXDataNode.cs
- ErrorProvider.cs
- ArrayItemValue.cs
- Image.cs
- Oid.cs
- RoleGroup.cs
- SplayTreeNode.cs
- EntityCommandDefinition.cs
- MergeFailedEvent.cs
- ServicePoint.cs
- SessionPageStateSection.cs
- updateconfighost.cs
- WorkItem.cs
- TextEditorThreadLocalStore.cs
- LayoutInformation.cs
- ISFTagAndGuidCache.cs
- HashCryptoHandle.cs
- KnownTypeAttribute.cs
- BrowserCapabilitiesCompiler.cs
- Peer.cs
- WebPartDeleteVerb.cs
- ReferenceEqualityComparer.cs
- SectionInformation.cs
- XPathArrayIterator.cs
- wmiutil.cs
- AdjustableArrowCap.cs
- ExpandSegment.cs
- FormCollection.cs
- InternalRelationshipCollection.cs
- ToolStripDropDownClosedEventArgs.cs
- RSAPKCS1SignatureFormatter.cs
- DataView.cs
- MultiAsyncResult.cs
- figurelengthconverter.cs
- TextEditorCopyPaste.cs
- PowerModeChangedEventArgs.cs
- WebPartUserCapability.cs
- InputMethodStateTypeInfo.cs
- CollectionContainer.cs
- MenuItemStyleCollectionEditor.cs
- XmlDocumentSerializer.cs
- safesecurityhelperavalon.cs
- AssemblySettingAttributes.cs
- MethodAccessException.cs
- DataView.cs
- ClientRolePrincipal.cs
- PageBuildProvider.cs
- DataTableMapping.cs
- InputLanguageManager.cs
- ConstructorArgumentAttribute.cs
- DatePickerAutomationPeer.cs
- ToolBarButtonDesigner.cs
- DSASignatureFormatter.cs
- SafeNativeMemoryHandle.cs
- XmlEntityReference.cs
- DiagnosticsConfiguration.cs
- Config.cs
- RadioButton.cs
- ApplicationFileCodeDomTreeGenerator.cs
- mansign.cs
- HeaderUtility.cs
- KeyToListMap.cs
- VisualStateGroup.cs
- LayoutSettings.cs
- EncodingInfo.cs