Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- StringSorter.cs
- OptionUsage.cs
- AppDomainUnloadedException.cs
- X509AsymmetricSecurityKey.cs
- CommonProperties.cs
- FeatureManager.cs
- JsonEnumDataContract.cs
- _emptywebproxy.cs
- EncodingTable.cs
- CompilationLock.cs
- MessageQueuePermissionAttribute.cs
- DbException.cs
- RestHandler.cs
- MatrixAnimationBase.cs
- PropertyFilter.cs
- TraceListener.cs
- ToolStripSplitButton.cs
- CaseInsensitiveOrdinalStringComparer.cs
- SqlConnectionManager.cs
- NamespaceMapping.cs
- LinqDataSourceUpdateEventArgs.cs
- Pen.cs
- TransformGroup.cs
- MouseGestureValueSerializer.cs
- ObjectHandle.cs
- InternalDuplexChannelFactory.cs
- XmlCodeExporter.cs
- NumericExpr.cs
- ProxyGenerator.cs
- KnownTypes.cs
- EntityContainerEmitter.cs
- DataGridViewElement.cs
- XmlSchemaParticle.cs
- WorkflowStateRollbackService.cs
- SineEase.cs
- QueryExpr.cs
- ToolTipAutomationPeer.cs
- ConsoleKeyInfo.cs
- Base64Decoder.cs
- LazyTextWriterCreator.cs
- GeometryGroup.cs
- SQLSingle.cs
- UnsafeNativeMethodsPenimc.cs
- FontFamily.cs
- PresentationAppDomainManager.cs
- Matrix3DValueSerializer.cs
- OrCondition.cs
- TreeNode.cs
- MobileControlPersister.cs
- Types.cs
- Symbol.cs
- ServerType.cs
- HttpListenerPrefixCollection.cs
- CompleteWizardStep.cs
- StyleReferenceConverter.cs
- CrossAppDomainChannel.cs
- BinaryObjectReader.cs
- XPathChildIterator.cs
- Italic.cs
- SqlEnums.cs
- AuthorizationRule.cs
- TargetControlTypeCache.cs
- DefaultBindingPropertyAttribute.cs
- UiaCoreProviderApi.cs
- EventlogProvider.cs
- CodeObjectCreateExpression.cs
- RoleManagerSection.cs
- LinearGradientBrush.cs
- WebPartMenuStyle.cs
- WebPartZone.cs
- TypeNameConverter.cs
- httpstaticobjectscollection.cs
- XD.cs
- Math.cs
- SqlTrackingService.cs
- XmlBindingWorker.cs
- SQLMembershipProvider.cs
- NetworkInformationPermission.cs
- IntSecurity.cs
- DtrList.cs
- CodeSubDirectoriesCollection.cs
- XsltLibrary.cs
- PublisherMembershipCondition.cs
- ZipIORawDataFileBlock.cs
- DataConnectionHelper.cs
- PriorityQueue.cs
- UIAgentAsyncParams.cs
- UserMapPath.cs
- WmfPlaceableFileHeader.cs
- webproxy.cs
- StringSorter.cs
- ProviderIncompatibleException.cs
- MsmqOutputMessage.cs
- ControlCodeDomSerializer.cs
- EntityProviderFactory.cs
- Tokenizer.cs
- WebScriptEnablingElement.cs
- DataGridViewBand.cs
- ProcessHostFactoryHelper.cs
- CatalogPart.cs