Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeReversePInvokeHandle.cs
- TcpActivation.cs
- XmlBinaryReader.cs
- ReadWriteObjectLock.cs
- Control.cs
- MarkupProperty.cs
- Ipv6Element.cs
- SystemEvents.cs
- PathFigure.cs
- SHA512.cs
- AdornedElementPlaceholder.cs
- HtmlGenericControl.cs
- MdImport.cs
- InvalidWMPVersionException.cs
- HashAlgorithm.cs
- DeadCharTextComposition.cs
- OpacityConverter.cs
- DecimalMinMaxAggregationOperator.cs
- DrawingDrawingContext.cs
- ConfigsHelper.cs
- SystemIPGlobalStatistics.cs
- Effect.cs
- DesignerDataParameter.cs
- XmlDocumentFragment.cs
- ScalarRestriction.cs
- ControlValuePropertyAttribute.cs
- XsltException.cs
- StringArrayConverter.cs
- PreviewKeyDownEventArgs.cs
- BamlMapTable.cs
- TreeView.cs
- DataKey.cs
- BinaryOperationBinder.cs
- WSDualHttpBindingCollectionElement.cs
- Comparer.cs
- Native.cs
- DynamicAttribute.cs
- ThicknessAnimation.cs
- StateManagedCollection.cs
- CompiledRegexRunnerFactory.cs
- XmlSchemaAttribute.cs
- DataPagerFieldCommandEventArgs.cs
- OutputCacheProviderCollection.cs
- StateMachineAction.cs
- CryptoProvider.cs
- WebBaseEventKeyComparer.cs
- ActivityInfo.cs
- InvokeAction.cs
- DetailsViewRowCollection.cs
- WebPartUtil.cs
- PersonalizationDictionary.cs
- UserPreference.cs
- BuildProviderUtils.cs
- NativeMethods.cs
- SoapElementAttribute.cs
- SecurityTokenValidationException.cs
- CodeNamespace.cs
- DataGridViewRow.cs
- GridEntry.cs
- Invariant.cs
- CLRBindingWorker.cs
- WriterOutput.cs
- KnownBoxes.cs
- WinInet.cs
- SqlHelper.cs
- TableLayoutSettings.cs
- XPathSingletonIterator.cs
- CallbackException.cs
- GridViewColumnCollectionChangedEventArgs.cs
- XmlUtil.cs
- SimpleApplicationHost.cs
- ClientEventManager.cs
- MobileListItemCollection.cs
- EventItfInfo.cs
- DeviceContext.cs
- DataSourceHelper.cs
- EventWaitHandleSecurity.cs
- FixedTextPointer.cs
- ExpressionNode.cs
- CodeGenHelper.cs
- NTAccount.cs
- Debug.cs
- MediaScriptCommandRoutedEventArgs.cs
- TimeSpanSecondsConverter.cs
- NamespaceTable.cs
- InternalResources.cs
- OrderedDictionary.cs
- WindowsFormsHost.cs
- HashCryptoHandle.cs
- ScrollChrome.cs
- ComboBoxRenderer.cs
- RowsCopiedEventArgs.cs
- FolderLevelBuildProviderCollection.cs
- ColorKeyFrameCollection.cs
- WindowsStatic.cs
- WebServiceHandlerFactory.cs
- X509ChainPolicy.cs
- ReferencedType.cs
- WebPartDescriptionCollection.cs
- DoubleCollectionConverter.cs