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
- HtmlTableRow.cs
- SystemFonts.cs
- WebUtil.cs
- PerformanceCounterPermission.cs
- XmlSiteMapProvider.cs
- WeakEventManager.cs
- RangeValidator.cs
- CatalogPartChrome.cs
- LogoValidationException.cs
- ObjectManager.cs
- ExtentCqlBlock.cs
- GridLength.cs
- DataColumnPropertyDescriptor.cs
- XamlTemplateSerializer.cs
- FullTextLine.cs
- RepeaterItem.cs
- ReadOnlyObservableCollection.cs
- ObjectStateFormatter.cs
- OleServicesContext.cs
- NavigationEventArgs.cs
- BindableTemplateBuilder.cs
- listitem.cs
- XmlSchemaValidationException.cs
- MarkerProperties.cs
- MachinePropertyVariants.cs
- BinaryObjectWriter.cs
- GlyphRunDrawing.cs
- CollectionChangeEventArgs.cs
- NamedPipeHostedTransportConfiguration.cs
- CommandManager.cs
- CssTextWriter.cs
- CacheMemory.cs
- Thread.cs
- ByteStorage.cs
- ExpressionBindingCollection.cs
- CompilerResults.cs
- SudsParser.cs
- WebRequest.cs
- Brush.cs
- EtwTrace.cs
- GetWinFXPath.cs
- DataGridViewRowPrePaintEventArgs.cs
- LabelLiteral.cs
- _SslStream.cs
- CngKey.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Vector3DCollection.cs
- WebPartUtil.cs
- CharacterBufferReference.cs
- _CacheStreams.cs
- QilXmlReader.cs
- RecommendedAsConfigurableAttribute.cs
- SelectManyQueryOperator.cs
- RTLAwareMessageBox.cs
- CounterCreationData.cs
- MailMessageEventArgs.cs
- UnaryExpression.cs
- Clause.cs
- PerformanceCountersElement.cs
- ProfessionalColorTable.cs
- BrushValueSerializer.cs
- TaskCanceledException.cs
- SQLDouble.cs
- Transform.cs
- StreamAsIStream.cs
- TextEndOfLine.cs
- DisableDpiAwarenessAttribute.cs
- SrgsOneOf.cs
- MetabaseReader.cs
- TextWriterTraceListener.cs
- SpeakInfo.cs
- Wizard.cs
- Nodes.cs
- TrustLevelCollection.cs
- Message.cs
- BasicHttpMessageSecurityElement.cs
- BitmapEffectInputData.cs
- CapabilitiesState.cs
- EntityDataSourceColumn.cs
- SqlError.cs
- PropertyCollection.cs
- ClosureBinding.cs
- TextSelectionProcessor.cs
- AudioSignalProblemOccurredEventArgs.cs
- QilXmlReader.cs
- AutomationElement.cs
- BitmapEffectInputConnector.cs
- BodyGlyph.cs
- SqlDataSourceSelectingEventArgs.cs
- LocalizableAttribute.cs
- ExtensionQuery.cs
- XPathNode.cs
- CanExecuteRoutedEventArgs.cs
- Tracer.cs
- Rules.cs
- CompilerWrapper.cs
- UnsafeNativeMethodsPenimc.cs
- DataGridViewRowCollection.cs
- WebHttpDispatchOperationSelectorData.cs
- SystemInformation.cs