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
- InputMethod.cs
- XmlTypeMapping.cs
- SQLBytes.cs
- DataServiceRequest.cs
- StateBag.cs
- EditorPart.cs
- TrackingProfileCache.cs
- UInt16.cs
- ContextMenuService.cs
- DataServiceEntityAttribute.cs
- UnitySerializationHolder.cs
- HttpPostedFile.cs
- XmlResolver.cs
- RectIndependentAnimationStorage.cs
- ReaderContextStackData.cs
- SortFieldComparer.cs
- WindowsListBox.cs
- InstanceDataCollection.cs
- OdbcConnectionPoolProviderInfo.cs
- OleDbError.cs
- Compiler.cs
- SystemEvents.cs
- remotingproxy.cs
- DataSourceCacheDurationConverter.cs
- GridViewRowCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- HttpWebRequest.cs
- AudioFormatConverter.cs
- PathSegmentCollection.cs
- InstanceData.cs
- RbTree.cs
- PlanCompilerUtil.cs
- PageAsyncTaskManager.cs
- PropertyKey.cs
- SoundPlayer.cs
- SyntaxCheck.cs
- SspiWrapper.cs
- CuspData.cs
- TextContainerChangeEventArgs.cs
- FactoryRecord.cs
- LocatorBase.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- StyleTypedPropertyAttribute.cs
- X509SecurityTokenParameters.cs
- XmlQueryContext.cs
- COAUTHIDENTITY.cs
- X509Utils.cs
- ProfileService.cs
- CustomValidator.cs
- PageClientProxyGenerator.cs
- Canvas.cs
- ImageMapEventArgs.cs
- Exceptions.cs
- SamlAssertion.cs
- UriTemplateVariablePathSegment.cs
- DesignerSerializerAttribute.cs
- ReflectTypeDescriptionProvider.cs
- ExplicitDiscriminatorMap.cs
- UTF8Encoding.cs
- ImageBrush.cs
- TextCharacters.cs
- XamlInt32CollectionSerializer.cs
- AnnouncementInnerClient11.cs
- DesignTimeVisibleAttribute.cs
- WebPartCatalogCloseVerb.cs
- BinaryCommonClasses.cs
- OdbcConnectionString.cs
- ThousandthOfEmRealDoubles.cs
- EvidenceBase.cs
- ProjectedSlot.cs
- prompt.cs
- PhysicalFontFamily.cs
- LineBreak.cs
- ErrorRuntimeConfig.cs
- DropTarget.cs
- Int16Converter.cs
- Vector3DAnimationBase.cs
- SMSvcHost.cs
- _SingleItemRequestCache.cs
- DataMemberAttribute.cs
- ZoomPercentageConverter.cs
- PopOutPanel.cs
- Rule.cs
- DynamicArgumentDialog.cs
- ListControlStringCollectionEditor.cs
- ClientScriptItemCollection.cs
- HttpListener.cs
- IdleTimeoutMonitor.cs
- RangeValuePattern.cs
- ProxyWebPartConnectionCollection.cs
- HttpCachePolicy.cs
- TabletCollection.cs
- CodeTryCatchFinallyStatement.cs
- FileStream.cs
- VisualTreeUtils.cs
- MimeTextImporter.cs
- PagePropertiesChangingEventArgs.cs
- GridProviderWrapper.cs
- PasswordRecovery.cs
- RadioButtonRenderer.cs