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
- OdbcCommandBuilder.cs
- WindowsListViewScroll.cs
- XmlNodeList.cs
- Boolean.cs
- TableRow.cs
- CatalogPartChrome.cs
- WmlImageAdapter.cs
- PropertyToken.cs
- StorageComplexPropertyMapping.cs
- ErrorHandlerModule.cs
- Trace.cs
- GeneralTransform2DTo3D.cs
- XamlVector3DCollectionSerializer.cs
- MatrixTransform3D.cs
- WebPartDisplayModeCollection.cs
- OrderedDictionaryStateHelper.cs
- DbConnectionStringCommon.cs
- TranslateTransform.cs
- DSGeneratorProblem.cs
- ComponentEvent.cs
- LoginNameDesigner.cs
- OdbcHandle.cs
- SynchronizedChannelCollection.cs
- columnmapfactory.cs
- WsiProfilesElement.cs
- CounterCreationDataCollection.cs
- CommandBinding.cs
- Calendar.cs
- UInt64Storage.cs
- CodeSubDirectory.cs
- ToolStripDropDown.cs
- CompModHelpers.cs
- XmlNodeChangedEventArgs.cs
- InternalControlCollection.cs
- SqlMultiplexer.cs
- RectKeyFrameCollection.cs
- XmlSignatureProperties.cs
- StaticSiteMapProvider.cs
- UnauthorizedWebPart.cs
- DodSequenceMerge.cs
- DateTime.cs
- DependencyPropertyKey.cs
- WorkflowItemPresenter.cs
- UrlMapping.cs
- ReferenceConverter.cs
- ContentPlaceHolder.cs
- ConversionHelper.cs
- WebPartAddingEventArgs.cs
- SynchronizedDispatch.cs
- DaylightTime.cs
- NamespaceCollection.cs
- ArgumentException.cs
- ProgressChangedEventArgs.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- ScaleTransform3D.cs
- MetadataArtifactLoader.cs
- TransformGroup.cs
- RecordConverter.cs
- TypeBuilderInstantiation.cs
- SafeUserTokenHandle.cs
- StreamResourceInfo.cs
- Point3DAnimation.cs
- BitmapSourceSafeMILHandle.cs
- RequestQueue.cs
- BCLDebug.cs
- WebPartConnectionsCancelEventArgs.cs
- RenameRuleObjectDialog.Designer.cs
- Geometry.cs
- SystemTcpStatistics.cs
- ScopelessEnumAttribute.cs
- OrderedDictionary.cs
- SessionStateModule.cs
- RectangleGeometry.cs
- EffectiveValueEntry.cs
- CultureTableRecord.cs
- SortedSet.cs
- CancellationHandler.cs
- ActivityTypeResolver.xaml.cs
- DependencyPropertyAttribute.cs
- Events.cs
- PeerNameRecord.cs
- DataGridComboBoxColumn.cs
- login.cs
- CustomError.cs
- UnsafeNativeMethods.cs
- SpellCheck.cs
- ModuleElement.cs
- SQLStringStorage.cs
- QuaternionAnimation.cs
- RPIdentityRequirement.cs
- RIPEMD160Managed.cs
- HyperLink.cs
- EdmMember.cs
- Soap12ProtocolReflector.cs
- XXXOnTypeBuilderInstantiation.cs
- InvokeCompletedEventArgs.cs
- FontStretchConverter.cs
- Boolean.cs
- LocalFileSettingsProvider.cs
- VolatileEnlistmentMultiplexing.cs