Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SelectionChangedEventArgs.cs
- TimersDescriptionAttribute.cs
- VisualBrush.cs
- ConfigPathUtility.cs
- GridViewUpdateEventArgs.cs
- MILUtilities.cs
- RadioButton.cs
- EntryPointNotFoundException.cs
- Image.cs
- QueryCursorEventArgs.cs
- RectangleHotSpot.cs
- DbProviderFactory.cs
- SrgsItemList.cs
- KeyValuePairs.cs
- DataBoundControlAdapter.cs
- UIHelper.cs
- TextBoxAutoCompleteSourceConverter.cs
- ExpressionLexer.cs
- PackageRelationship.cs
- RegexGroupCollection.cs
- XmlElementAttribute.cs
- TraceUtils.cs
- BinarySerializer.cs
- ConstructorExpr.cs
- SettingsContext.cs
- AttachInfo.cs
- HtmlEmptyTagControlBuilder.cs
- PropertyDescriptorComparer.cs
- SamlAuthorizationDecisionStatement.cs
- InvokeWebServiceDesigner.cs
- IBuiltInEvidence.cs
- BindableTemplateBuilder.cs
- ScriptControl.cs
- PathFigureCollectionValueSerializer.cs
- VirtualDirectoryMappingCollection.cs
- TextBoxAutoCompleteSourceConverter.cs
- AdPostCacheSubstitution.cs
- RootBrowserWindowProxy.cs
- RotateTransform.cs
- DataSourceControl.cs
- EarlyBoundInfo.cs
- TextPointerBase.cs
- COM2PictureConverter.cs
- SerializationUtilities.cs
- ManagementObjectCollection.cs
- RadioButtonRenderer.cs
- SerializationEventsCache.cs
- View.cs
- embossbitmapeffect.cs
- ConfigurationPropertyCollection.cs
- GreaterThanOrEqual.cs
- HtmlTableCellCollection.cs
- PropertyGrid.cs
- ListBoxAutomationPeer.cs
- UnsafeNativeMethodsCLR.cs
- OutOfMemoryException.cs
- DesignerVerbToolStripMenuItem.cs
- WmpBitmapEncoder.cs
- ClientRuntimeConfig.cs
- DateTimeStorage.cs
- DelegatingTypeDescriptionProvider.cs
- BinaryCommonClasses.cs
- M3DUtil.cs
- AttachedPropertyMethodSelector.cs
- DiscreteKeyFrames.cs
- GetLastErrorDetailsRequest.cs
- ToolboxItemCollection.cs
- DataGridViewColumnHeaderCell.cs
- ProxyWebPart.cs
- MexTcpBindingElement.cs
- SortDescription.cs
- COAUTHINFO.cs
- DataFormats.cs
- ComplexPropertyEntry.cs
- OutKeywords.cs
- _CookieModule.cs
- WmlLiteralTextAdapter.cs
- CheckBox.cs
- QilPatternFactory.cs
- FolderLevelBuildProvider.cs
- LocalizationParserHooks.cs
- Pen.cs
- SqlCacheDependencySection.cs
- MetadataFile.cs
- MessageContractExporter.cs
- HttpCookiesSection.cs
- UIElement3DAutomationPeer.cs
- WebPartCloseVerb.cs
- DbProviderConfigurationHandler.cs
- ProxyBuilder.cs
- HandlerFactoryCache.cs
- SQLSingleStorage.cs
- TriggerBase.cs
- XmlChildEnumerator.cs
- AutomationProperties.cs
- LiteralLink.cs
- BuildProvider.cs
- ControlValuePropertyAttribute.cs
- ResourceDictionary.cs
- DataStreamFromComStream.cs