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
- CannotUnloadAppDomainException.cs
- CalendarTable.cs
- SqlTopReducer.cs
- SendOperation.cs
- List.cs
- TargetFrameworkUtil.cs
- RequestSecurityTokenSerializer.cs
- FormsAuthenticationTicket.cs
- XPathAncestorIterator.cs
- MapPathBasedVirtualPathProvider.cs
- CapabilitiesPattern.cs
- WindowsNonControl.cs
- SHA256Cng.cs
- PickBranchDesigner.xaml.cs
- SymmetricAlgorithm.cs
- controlskin.cs
- Authorization.cs
- TypeDescriptionProviderAttribute.cs
- Set.cs
- TreeIterators.cs
- PersistenceMetadataNamespace.cs
- ImageSource.cs
- DataGridViewTopRowAccessibleObject.cs
- ToolStripButton.cs
- ErrorHandler.cs
- TraceSwitch.cs
- MultipleViewPatternIdentifiers.cs
- base64Transforms.cs
- XPathNode.cs
- TransactionProxy.cs
- FrameSecurityDescriptor.cs
- cache.cs
- RightNameExpirationInfoPair.cs
- MissingManifestResourceException.cs
- SetStateDesigner.cs
- SelectorAutomationPeer.cs
- GrammarBuilderPhrase.cs
- ConsoleKeyInfo.cs
- AppDomainUnloadedException.cs
- OneToOneMappingSerializer.cs
- Int16Storage.cs
- PrtCap_Builder.cs
- EventDescriptorCollection.cs
- WebPartCancelEventArgs.cs
- XmlTextReader.cs
- DisableDpiAwarenessAttribute.cs
- Object.cs
- SecurityCredentialsManager.cs
- PrintControllerWithStatusDialog.cs
- XmlTextAttribute.cs
- TextModifierScope.cs
- FormatConvertedBitmap.cs
- SecurityTimestamp.cs
- FlowDocumentView.cs
- HtmlControlAdapter.cs
- ReadOnlyDictionary.cs
- ExpressionDumper.cs
- RegionIterator.cs
- BaseComponentEditor.cs
- TextSelection.cs
- X509RawDataKeyIdentifierClause.cs
- XmlSchemaGroupRef.cs
- AffineTransform3D.cs
- SoapHeader.cs
- SerializationEventsCache.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- CompilerParameters.cs
- ActivityPropertyReference.cs
- InputLanguageProfileNotifySink.cs
- BuildDependencySet.cs
- ControlBuilder.cs
- DesignerForm.cs
- DeviceSpecificChoice.cs
- CharacterMetricsDictionary.cs
- DataIdProcessor.cs
- DateRangeEvent.cs
- ZipIOLocalFileDataDescriptor.cs
- XPathArrayIterator.cs
- ItemsPresenter.cs
- MessageQueuePermission.cs
- EndpointAddressElementBase.cs
- Int64AnimationBase.cs
- BinaryExpression.cs
- ResXDataNode.cs
- Size3DConverter.cs
- DrawingCollection.cs
- OdbcError.cs
- HTTPRemotingHandler.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- AssemblyBuilder.cs
- AdRotatorDesigner.cs
- XappLauncher.cs
- HttpListenerTimeoutManager.cs
- SynchronizedInputAdaptor.cs
- ByteFacetDescriptionElement.cs
- WindowsStatic.cs
- XmlCollation.cs
- Int16Storage.cs
- StrongNamePublicKeyBlob.cs
- DataGridViewEditingControlShowingEventArgs.cs