Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- XmlSchemaObjectTable.cs
- PrintController.cs
- SafeLibraryHandle.cs
- DbBuffer.cs
- MarkupWriter.cs
- PublishLicense.cs
- SubordinateTransaction.cs
- SendMailErrorEventArgs.cs
- InfiniteTimeSpanConverter.cs
- Currency.cs
- MethodToken.cs
- Script.cs
- SQLSingle.cs
- SafeEventLogWriteHandle.cs
- InterleavedZipPartStream.cs
- DragCompletedEventArgs.cs
- SingleStorage.cs
- ModifierKeysValueSerializer.cs
- SimpleWebHandlerParser.cs
- FrameworkContentElement.cs
- ReliabilityContractAttribute.cs
- DataControlPagerLinkButton.cs
- ConstraintCollection.cs
- SettingsAttributes.cs
- DbConnectionPoolIdentity.cs
- GridViewEditEventArgs.cs
- Stack.cs
- TextPenaltyModule.cs
- XmlArrayAttribute.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- VisualStyleRenderer.cs
- DataGridAddNewRow.cs
- SqlFunctionAttribute.cs
- HttpCacheVaryByContentEncodings.cs
- EncodingInfo.cs
- TableCellCollection.cs
- ByValueEqualityComparer.cs
- SerializeAbsoluteContext.cs
- DataTableClearEvent.cs
- InputScope.cs
- NetCodeGroup.cs
- XmlSerializationGeneratedCode.cs
- ComponentDesigner.cs
- Rules.cs
- RegexFCD.cs
- DeobfuscatingStream.cs
- ActivationArguments.cs
- SessionStateModule.cs
- UnionCodeGroup.cs
- GradientSpreadMethodValidation.cs
- Crypto.cs
- Rect.cs
- EntityKeyElement.cs
- ProcessHost.cs
- VectorAnimationBase.cs
- BulletedListEventArgs.cs
- TableParaClient.cs
- CheckBoxAutomationPeer.cs
- SoapFormatterSinks.cs
- Registry.cs
- SmtpSection.cs
- NodeFunctions.cs
- HelpInfo.cs
- WindowAutomationPeer.cs
- WindowsGraphics.cs
- UmAlQuraCalendar.cs
- NativeMethods.cs
- ConstraintEnumerator.cs
- RangeContentEnumerator.cs
- CheckableControlBaseAdapter.cs
- AttributeEmitter.cs
- VoiceObjectToken.cs
- ActivationArguments.cs
- CompiledQuery.cs
- XmlElement.cs
- BitmapCodecInfo.cs
- WebPartRestoreVerb.cs
- WebDisplayNameAttribute.cs
- AbstractExpressions.cs
- FormsAuthenticationUserCollection.cs
- SupportsEventValidationAttribute.cs
- Message.cs
- FixedSOMPageConstructor.cs
- SemaphoreSecurity.cs
- SingleResultAttribute.cs
- MenuItemCollectionEditor.cs
- SpellCheck.cs
- DataGridViewImageColumn.cs
- CookielessHelper.cs
- TreePrinter.cs
- CalendarDayButton.cs
- SoapAttributeAttribute.cs
- WindowsBrush.cs
- WorkflowApplicationTerminatedException.cs
- UIPermission.cs
- FreezableOperations.cs
- ParameterExpression.cs
- CalendarDataBindingHandler.cs
- Mouse.cs
- UriSchemeKeyedCollection.cs