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
- DoubleAnimation.cs
- Variable.cs
- FontStyleConverter.cs
- ManipulationVelocities.cs
- HiddenFieldDesigner.cs
- _HTTPDateParse.cs
- ConfigXmlDocument.cs
- ToolBar.cs
- ActiveXSite.cs
- assertwrapper.cs
- SingleSelectRootGridEntry.cs
- FloatUtil.cs
- ResponseBodyWriter.cs
- SqlReferenceCollection.cs
- LoadedOrUnloadedOperation.cs
- RuleSettingsCollection.cs
- MemoryMappedViewStream.cs
- InternalControlCollection.cs
- Predicate.cs
- WriteableBitmap.cs
- DBParameter.cs
- DataBoundControlAdapter.cs
- AddInDeploymentState.cs
- BitmapSizeOptions.cs
- MobileListItemCollection.cs
- SequenceDesigner.cs
- HuffModule.cs
- DynamicControl.cs
- XmlElementList.cs
- GPStream.cs
- OdbcParameter.cs
- EventSinkHelperWriter.cs
- DefaultProxySection.cs
- TiffBitmapDecoder.cs
- GlobalEventManager.cs
- HttpWebRequestElement.cs
- TabItemAutomationPeer.cs
- UserNameSecurityToken.cs
- BinaryMessageEncodingBindingElement.cs
- CompiledRegexRunnerFactory.cs
- CryptoProvider.cs
- HostedAspNetEnvironment.cs
- NamespaceTable.cs
- Switch.cs
- ReadOnlyDataSourceView.cs
- ServiceRoute.cs
- TabletDeviceInfo.cs
- AttachmentCollection.cs
- WebHttpBindingElement.cs
- GetPageNumberCompletedEventArgs.cs
- WebPartRestoreVerb.cs
- EmptyElement.cs
- ProtocolsConfigurationEntry.cs
- ColorMap.cs
- FrameworkRichTextComposition.cs
- SqlNotificationEventArgs.cs
- cookiecontainer.cs
- OutputCacheSettings.cs
- EntityViewContainer.cs
- ListBoxChrome.cs
- NetSectionGroup.cs
- WhiteSpaceTrimStringConverter.cs
- JpegBitmapDecoder.cs
- Guid.cs
- InkCanvasFeedbackAdorner.cs
- ListMarkerSourceInfo.cs
- SqlFileStream.cs
- TextServicesDisplayAttribute.cs
- TemplateAction.cs
- XPathParser.cs
- Int32Rect.cs
- IteratorFilter.cs
- CompiledXpathExpr.cs
- WebPartMenu.cs
- EventOpcode.cs
- Rotation3D.cs
- QilStrConcatenator.cs
- StreamGeometryContext.cs
- TraceUtility.cs
- StringComparer.cs
- UmAlQuraCalendar.cs
- DesignerHierarchicalDataSourceView.cs
- DynamicILGenerator.cs
- AssemblyInfo.cs
- PrinterSettings.cs
- HMACSHA1.cs
- ConfigurationSchemaErrors.cs
- PointLight.cs
- AmbientEnvironment.cs
- WebPartEventArgs.cs
- SafeBitVector32.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ZipIOFileItemStream.cs
- XmlHierarchicalDataSourceView.cs
- PagedDataSource.cs
- dataprotectionpermissionattribute.cs
- RuntimeResourceSet.cs
- PopupEventArgs.cs
- WsdlBuildProvider.cs
- VisualCollection.cs