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
- ToolStripDesignerUtils.cs
- BamlVersionHeader.cs
- DomainConstraint.cs
- PropertyMetadata.cs
- autovalidator.cs
- XmlCharacterData.cs
- InputLangChangeEvent.cs
- HtmlInputText.cs
- Repeater.cs
- RelativeSource.cs
- NodeLabelEditEvent.cs
- TracingConnectionInitiator.cs
- ActivityCodeDomSerializer.cs
- TypeResolvingOptionsAttribute.cs
- CodeTypeReference.cs
- SimpleWorkerRequest.cs
- SpeechAudioFormatInfo.cs
- Exceptions.cs
- AlphabetConverter.cs
- DummyDataSource.cs
- FrameworkContentElement.cs
- SafeMILHandleMemoryPressure.cs
- DocumentPageHost.cs
- SiteMapDataSource.cs
- XmlSchemaSimpleType.cs
- DBSchemaTable.cs
- _CommandStream.cs
- CharEnumerator.cs
- XmlException.cs
- GeneralTransform3DGroup.cs
- EncryptedReference.cs
- TypefaceMetricsCache.cs
- IntegerFacetDescriptionElement.cs
- HtmlInputReset.cs
- DataSourceControl.cs
- NameSpaceExtractor.cs
- EventSource.cs
- GridViewHeaderRowPresenter.cs
- GridItemCollection.cs
- AsyncOperation.cs
- BitArray.cs
- RelationshipDetailsCollection.cs
- BrowserTree.cs
- SqlXmlStorage.cs
- MiniAssembly.cs
- CqlLexerHelpers.cs
- TextEvent.cs
- XmlSerializerAssemblyAttribute.cs
- DescriptionAttribute.cs
- _WinHttpWebProxyDataBuilder.cs
- WebPartConnectionsConfigureVerb.cs
- SystemTcpConnection.cs
- __Error.cs
- SafeFileHandle.cs
- WSSecurityXXX2005.cs
- KeyedHashAlgorithm.cs
- EDesignUtil.cs
- InstancePersistenceCommand.cs
- VisualCollection.cs
- BuildTopDownAttribute.cs
- FramingChannels.cs
- EnumCodeDomSerializer.cs
- GlyphCache.cs
- SqlBulkCopyColumnMappingCollection.cs
- XmlIlTypeHelper.cs
- MemberListBinding.cs
- TextTreeTextBlock.cs
- ComEventsHelper.cs
- WebServiceTypeData.cs
- XmlObjectSerializerReadContextComplex.cs
- ResetableIterator.cs
- ReadOnlyTernaryTree.cs
- Size3D.cs
- Shape.cs
- RelatedPropertyManager.cs
- RegexGroupCollection.cs
- SoapReflectionImporter.cs
- BackgroundWorker.cs
- PagedDataSource.cs
- _IPv4Address.cs
- PropertyTab.cs
- CryptoConfig.cs
- CatalogZone.cs
- DataControlHelper.cs
- ConnectionPoolManager.cs
- SmiEventSink.cs
- FormViewDeletedEventArgs.cs
- ParallelTimeline.cs
- BufferedReadStream.cs
- IPGlobalProperties.cs
- StyleHelper.cs
- FacetDescriptionElement.cs
- StrokeIntersection.cs
- BaseDataListActionList.cs
- EventSinkHelperWriter.cs
- HttpClientCertificate.cs
- OdbcError.cs
- CodeMethodMap.cs
- DoubleCollectionValueSerializer.cs
- HttpProfileBase.cs