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
- QueryOutputWriter.cs
- GridItem.cs
- TimeZoneNotFoundException.cs
- Control.cs
- ConnectionProviderAttribute.cs
- TableLayoutColumnStyleCollection.cs
- XmlNodeChangedEventArgs.cs
- HttpRequest.cs
- PageThemeParser.cs
- RetriableClipboard.cs
- UIElementCollection.cs
- CombinedHttpChannel.cs
- WebDisplayNameAttribute.cs
- PowerModeChangedEventArgs.cs
- MimeXmlReflector.cs
- NotSupportedException.cs
- EventManager.cs
- SecurityManager.cs
- WizardPanel.cs
- DataGridViewCellValueEventArgs.cs
- TemplateControlCodeDomTreeGenerator.cs
- XmlWrappingReader.cs
- AdornerHitTestResult.cs
- Base64Decoder.cs
- EventSetterHandlerConverter.cs
- AppSettingsExpressionBuilder.cs
- WebPartsSection.cs
- RemotingConfigParser.cs
- EntityContainerRelationshipSet.cs
- OneOfElement.cs
- GridView.cs
- XPathNodeIterator.cs
- PersianCalendar.cs
- DataBindingExpressionBuilder.cs
- ObjectReaderCompiler.cs
- BitmapEffectGeneralTransform.cs
- MediaPlayerState.cs
- User.cs
- ReferenceEqualityComparer.cs
- WindowsSecurityTokenAuthenticator.cs
- TextDecorationCollection.cs
- LabelEditEvent.cs
- SqlCrossApplyToCrossJoin.cs
- PowerModeChangedEventArgs.cs
- SpeechSynthesizer.cs
- DesignerRegionMouseEventArgs.cs
- PersianCalendar.cs
- AutomationElement.cs
- x509store.cs
- EncryptedReference.cs
- ResourcesBuildProvider.cs
- WebFormDesignerActionService.cs
- GestureRecognitionResult.cs
- ContentPosition.cs
- WebPartEditorApplyVerb.cs
- basevalidator.cs
- COMException.cs
- ResourceDisplayNameAttribute.cs
- DataTransferEventArgs.cs
- RoleServiceManager.cs
- ConfigurationElement.cs
- InheritanceRules.cs
- Rect.cs
- SecurityContext.cs
- ValueConversionAttribute.cs
- SiteMapDataSourceDesigner.cs
- ChangeBlockUndoRecord.cs
- XmlWrappingReader.cs
- CopyOfAction.cs
- ResourceProperty.cs
- SmiEventSink_DeferedProcessing.cs
- DependencyPropertyAttribute.cs
- String.cs
- TextRangeEdit.cs
- Number.cs
- StandardCommandToolStripMenuItem.cs
- Size.cs
- RandomNumberGenerator.cs
- EntityChangedParams.cs
- HostDesigntimeLicenseContext.cs
- RawStylusInput.cs
- UnsafeNativeMethods.cs
- GreenMethods.cs
- CaseInsensitiveOrdinalStringComparer.cs
- FileNotFoundException.cs
- ToolStripSplitButton.cs
- ApplicationContext.cs
- PropertyTabAttribute.cs
- LinqDataView.cs
- WebHttpSecurity.cs
- NoResizeSelectionBorderGlyph.cs
- Effect.cs
- DataTableExtensions.cs
- MissingSatelliteAssemblyException.cs
- SelectingProviderEventArgs.cs
- SpeechSeg.cs
- MultipleViewPattern.cs
- TokenBasedSet.cs
- SerializationFieldInfo.cs
- DateTime.cs