Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventManager.cs
- ArrayItemValue.cs
- NotifyCollectionChangedEventArgs.cs
- ToolStripContentPanelRenderEventArgs.cs
- PolicyException.cs
- ProxyGenerationError.cs
- DSACryptoServiceProvider.cs
- SelectionRangeConverter.cs
- FixedPageAutomationPeer.cs
- IsolatedStorageFileStream.cs
- TransactionsSectionGroup.cs
- hebrewshape.cs
- ContextInformation.cs
- ListViewContainer.cs
- ElementAction.cs
- DetectEofStream.cs
- TypeGenericEnumerableViewSchema.cs
- TimelineGroup.cs
- BinaryFormatter.cs
- SspiWrapper.cs
- Int32CollectionValueSerializer.cs
- DataChangedEventManager.cs
- EdmItemCollection.cs
- TemplateKeyConverter.cs
- WebPartConnectionsConnectVerb.cs
- StronglyTypedResourceBuilder.cs
- DataSpaceManager.cs
- AttributedMetaModel.cs
- NativeMethods.cs
- PermissionSetTriple.cs
- FaultException.cs
- SiteMapDataSourceView.cs
- AlignmentXValidation.cs
- MailSettingsSection.cs
- sqlpipe.cs
- AccessedThroughPropertyAttribute.cs
- StylusOverProperty.cs
- MsmqQueue.cs
- LambdaCompiler.cs
- EditorZoneDesigner.cs
- WindowsSspiNegotiation.cs
- DecimalStorage.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- UrlMappingsModule.cs
- _AutoWebProxyScriptEngine.cs
- SignatureHelper.cs
- TextTreeNode.cs
- EntityDataSourceContainerNameItem.cs
- DesignBinding.cs
- CompoundFileStreamReference.cs
- BlockUIContainer.cs
- WpfWebRequestHelper.cs
- DbDataRecord.cs
- BindingsCollection.cs
- SelectorAutomationPeer.cs
- RSAOAEPKeyExchangeDeformatter.cs
- NativeMethods.cs
- UnsafeNativeMethods.cs
- KeyConverter.cs
- OrderByQueryOptionExpression.cs
- SerializationEventsCache.cs
- OdbcException.cs
- TextEditorTables.cs
- XmlDocument.cs
- LocalizableResourceBuilder.cs
- JsonDeserializer.cs
- Math.cs
- DataBinder.cs
- ExtentJoinTreeNode.cs
- DoubleAnimationBase.cs
- TimelineCollection.cs
- CodeTypeMember.cs
- QueryCacheEntry.cs
- DataGridViewElement.cs
- FixedSOMPageConstructor.cs
- UpdatePanel.cs
- HtmlTableRowCollection.cs
- EntityCollection.cs
- BufferedGraphicsManager.cs
- TreeBuilderXamlTranslator.cs
- InstanceHandleReference.cs
- TextFormatterHost.cs
- ReachPageContentCollectionSerializerAsync.cs
- ReadOnlyDictionary.cs
- CatalogZoneBase.cs
- ViewBase.cs
- SystemIcmpV6Statistics.cs
- NavigatingCancelEventArgs.cs
- DataObjectPastingEventArgs.cs
- PromptEventArgs.cs
- MetadataArtifactLoaderCompositeResource.cs
- AuthenticatingEventArgs.cs
- nulltextnavigator.cs
- PrimitiveXmlSerializers.cs
- PolyBezierSegment.cs
- LoginView.cs
- SemanticAnalyzer.cs
- CodeMemberMethod.cs
- EdmItemError.cs
- JavaScriptObjectDeserializer.cs