Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / Core / XmlReaderSettings.cs / 1 / XmlReaderSettings.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System.Xml;
using System.Xml.Schema;
namespace System.Xml {
// XmlReaderSettings class specifies features of an XmlReader.
public sealed class XmlReaderSettings {
//
// Fields
//
// Nametable
XmlNameTable nameTable;
// XmlResolver
XmlResolver xmlResolver;
// Text settings
int lineNumberOffset;
int linePositionOffset;
// Conformance settings
ConformanceLevel conformanceLevel;
bool checkCharacters;
long maxCharactersInDocument;
long maxCharactersFromEntities;
//Validation settings
ValidationType validationType;
XmlSchemaValidationFlags validationFlags;
XmlSchemaSet schemas;
ValidationEventHandler valEventHandler;
// Filtering settings
bool ignoreWhitespace;
bool ignorePIs;
bool ignoreComments;
// security settings
bool prohibitDtd;
// other settings
bool closeInput;
// read-only flag
bool isReadOnly;
//
// Constructor
//
public XmlReaderSettings() {
Reset();
}
//
// Properties
//
// Nametable
public XmlNameTable NameTable {
get {
return nameTable;
}
set {
CheckReadOnly( "NameTable" );
nameTable = value;
}
}
// XmlResolver
public XmlResolver XmlResolver {
set {
CheckReadOnly( "XmlResolver" );
xmlResolver = value;
}
}
internal XmlResolver GetXmlResolver() {
return xmlResolver;
}
// Text settings
public int LineNumberOffset {
get {
return lineNumberOffset;
}
set {
CheckReadOnly( "LineNumberOffset" );
if ( lineNumberOffset < 0 ) {
throw new ArgumentOutOfRangeException( "value" );
}
lineNumberOffset = value;
}
}
public int LinePositionOffset {
get {
return linePositionOffset;
}
set {
CheckReadOnly( "LinePositionOffset" );
if ( linePositionOffset < 0 ) {
throw new ArgumentOutOfRangeException( "value" );
}
linePositionOffset = value;
}
}
// Conformance settings
public ConformanceLevel ConformanceLevel {
get {
return conformanceLevel;
}
set {
CheckReadOnly( "ConformanceLevel" );
if ( (uint)value > (uint)ConformanceLevel.Document ) {
throw new ArgumentOutOfRangeException( "value" );
}
conformanceLevel = value;
}
}
public bool CheckCharacters {
get {
return checkCharacters;
}
set {
CheckReadOnly( "CheckCharacters" );
checkCharacters = value;
}
}
public long MaxCharactersInDocument {
get {
return maxCharactersInDocument;
}
set {
CheckReadOnly("MaxCharactersInDocument");
if (value < 0) {
throw new ArgumentOutOfRangeException("value");
}
maxCharactersInDocument = value;
}
}
public long MaxCharactersFromEntities {
get {
return maxCharactersFromEntities;
}
set {
CheckReadOnly("MaxCharactersFromEntities");
if (value < 0) {
throw new ArgumentOutOfRangeException("value");
}
maxCharactersFromEntities = value;
}
}
public ValidationType ValidationType {
get {
return validationType;
}
set {
CheckReadOnly("ValidationType");
if ( (uint)value > (uint)ValidationType.Schema ) {
throw new ArgumentOutOfRangeException( "value" );
}
validationType = value;
}
}
public XmlSchemaValidationFlags ValidationFlags {
get {
return validationFlags;
}
set {
CheckReadOnly("ValidationFlags");
if ( (uint)value > (uint)( XmlSchemaValidationFlags.ProcessInlineSchema | XmlSchemaValidationFlags.ProcessSchemaLocation |
XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.ProcessIdentityConstraints |
XmlSchemaValidationFlags.AllowXmlAttributes ) ) {
throw new ArgumentOutOfRangeException( "value" );
}
validationFlags = value;
}
}
public XmlSchemaSet Schemas {
get {
if ( schemas == null ) {
schemas = new XmlSchemaSet();
}
return schemas;
}
set {
CheckReadOnly( "Schemas" );
schemas = value;
}
}
public event ValidationEventHandler ValidationEventHandler {
add {
CheckReadOnly( "ValidationEventHandler" );
valEventHandler += value;
}
remove {
CheckReadOnly( "ValidationEventHandler" );
valEventHandler -= value;
}
}
// Filtering settings
public bool IgnoreWhitespace {
get {
return ignoreWhitespace;
}
set {
CheckReadOnly( "IgnoreWhitespace" );
ignoreWhitespace = value;
}
}
public bool IgnoreProcessingInstructions {
get {
return ignorePIs;
}
set {
CheckReadOnly( "IgnoreProcessingInstructions" );
ignorePIs = value;
}
}
public bool IgnoreComments {
get {
return ignoreComments;
}
set {
CheckReadOnly( "IgnoreComments" );
ignoreComments = value;
}
}
public bool ProhibitDtd {
get {
return prohibitDtd;
}
set {
CheckReadOnly( "ProhibitDtd" );
prohibitDtd = value;
}
}
public bool CloseInput {
get {
return closeInput;
}
set {
CheckReadOnly( "CloseInput" );
closeInput = value;
}
}
//
// Public methods
//
public void Reset() {
CheckReadOnly( "Reset" );
nameTable = null;
xmlResolver = new XmlUrlResolver();
lineNumberOffset = 0;
linePositionOffset = 0;
checkCharacters = true;
conformanceLevel = ConformanceLevel.Document;
schemas = null;
validationType = ValidationType.None;
validationFlags = XmlSchemaValidationFlags.ProcessIdentityConstraints;
validationFlags |= XmlSchemaValidationFlags.AllowXmlAttributes;
ignoreWhitespace = false;
ignorePIs = false;
ignoreComments = false;
prohibitDtd = true;
closeInput = false;
maxCharactersFromEntities = 0;
maxCharactersInDocument = 0;
isReadOnly = false;
}
public XmlReaderSettings Clone() {
XmlReaderSettings clonedSettings = MemberwiseClone() as XmlReaderSettings;
clonedSettings.isReadOnly = false;
return clonedSettings;
}
//
// Internal and private methods
//
internal bool ReadOnly {
get {
return isReadOnly;
}
set {
isReadOnly = value;
}
}
internal ValidationEventHandler GetEventHandler() {
return valEventHandler;
}
private void CheckReadOnly( string propertyName ) {
if ( isReadOnly ) {
throw new XmlException( Res.Xml_ReadOnlyProperty, "XmlReaderSettings." + propertyName );
}
}
internal bool CanResolveExternals {
get {
return prohibitDtd == false && xmlResolver != null;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System.Xml;
using System.Xml.Schema;
namespace System.Xml {
// XmlReaderSettings class specifies features of an XmlReader.
public sealed class XmlReaderSettings {
//
// Fields
//
// Nametable
XmlNameTable nameTable;
// XmlResolver
XmlResolver xmlResolver;
// Text settings
int lineNumberOffset;
int linePositionOffset;
// Conformance settings
ConformanceLevel conformanceLevel;
bool checkCharacters;
long maxCharactersInDocument;
long maxCharactersFromEntities;
//Validation settings
ValidationType validationType;
XmlSchemaValidationFlags validationFlags;
XmlSchemaSet schemas;
ValidationEventHandler valEventHandler;
// Filtering settings
bool ignoreWhitespace;
bool ignorePIs;
bool ignoreComments;
// security settings
bool prohibitDtd;
// other settings
bool closeInput;
// read-only flag
bool isReadOnly;
//
// Constructor
//
public XmlReaderSettings() {
Reset();
}
//
// Properties
//
// Nametable
public XmlNameTable NameTable {
get {
return nameTable;
}
set {
CheckReadOnly( "NameTable" );
nameTable = value;
}
}
// XmlResolver
public XmlResolver XmlResolver {
set {
CheckReadOnly( "XmlResolver" );
xmlResolver = value;
}
}
internal XmlResolver GetXmlResolver() {
return xmlResolver;
}
// Text settings
public int LineNumberOffset {
get {
return lineNumberOffset;
}
set {
CheckReadOnly( "LineNumberOffset" );
if ( lineNumberOffset < 0 ) {
throw new ArgumentOutOfRangeException( "value" );
}
lineNumberOffset = value;
}
}
public int LinePositionOffset {
get {
return linePositionOffset;
}
set {
CheckReadOnly( "LinePositionOffset" );
if ( linePositionOffset < 0 ) {
throw new ArgumentOutOfRangeException( "value" );
}
linePositionOffset = value;
}
}
// Conformance settings
public ConformanceLevel ConformanceLevel {
get {
return conformanceLevel;
}
set {
CheckReadOnly( "ConformanceLevel" );
if ( (uint)value > (uint)ConformanceLevel.Document ) {
throw new ArgumentOutOfRangeException( "value" );
}
conformanceLevel = value;
}
}
public bool CheckCharacters {
get {
return checkCharacters;
}
set {
CheckReadOnly( "CheckCharacters" );
checkCharacters = value;
}
}
public long MaxCharactersInDocument {
get {
return maxCharactersInDocument;
}
set {
CheckReadOnly("MaxCharactersInDocument");
if (value < 0) {
throw new ArgumentOutOfRangeException("value");
}
maxCharactersInDocument = value;
}
}
public long MaxCharactersFromEntities {
get {
return maxCharactersFromEntities;
}
set {
CheckReadOnly("MaxCharactersFromEntities");
if (value < 0) {
throw new ArgumentOutOfRangeException("value");
}
maxCharactersFromEntities = value;
}
}
public ValidationType ValidationType {
get {
return validationType;
}
set {
CheckReadOnly("ValidationType");
if ( (uint)value > (uint)ValidationType.Schema ) {
throw new ArgumentOutOfRangeException( "value" );
}
validationType = value;
}
}
public XmlSchemaValidationFlags ValidationFlags {
get {
return validationFlags;
}
set {
CheckReadOnly("ValidationFlags");
if ( (uint)value > (uint)( XmlSchemaValidationFlags.ProcessInlineSchema | XmlSchemaValidationFlags.ProcessSchemaLocation |
XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.ProcessIdentityConstraints |
XmlSchemaValidationFlags.AllowXmlAttributes ) ) {
throw new ArgumentOutOfRangeException( "value" );
}
validationFlags = value;
}
}
public XmlSchemaSet Schemas {
get {
if ( schemas == null ) {
schemas = new XmlSchemaSet();
}
return schemas;
}
set {
CheckReadOnly( "Schemas" );
schemas = value;
}
}
public event ValidationEventHandler ValidationEventHandler {
add {
CheckReadOnly( "ValidationEventHandler" );
valEventHandler += value;
}
remove {
CheckReadOnly( "ValidationEventHandler" );
valEventHandler -= value;
}
}
// Filtering settings
public bool IgnoreWhitespace {
get {
return ignoreWhitespace;
}
set {
CheckReadOnly( "IgnoreWhitespace" );
ignoreWhitespace = value;
}
}
public bool IgnoreProcessingInstructions {
get {
return ignorePIs;
}
set {
CheckReadOnly( "IgnoreProcessingInstructions" );
ignorePIs = value;
}
}
public bool IgnoreComments {
get {
return ignoreComments;
}
set {
CheckReadOnly( "IgnoreComments" );
ignoreComments = value;
}
}
public bool ProhibitDtd {
get {
return prohibitDtd;
}
set {
CheckReadOnly( "ProhibitDtd" );
prohibitDtd = value;
}
}
public bool CloseInput {
get {
return closeInput;
}
set {
CheckReadOnly( "CloseInput" );
closeInput = value;
}
}
//
// Public methods
//
public void Reset() {
CheckReadOnly( "Reset" );
nameTable = null;
xmlResolver = new XmlUrlResolver();
lineNumberOffset = 0;
linePositionOffset = 0;
checkCharacters = true;
conformanceLevel = ConformanceLevel.Document;
schemas = null;
validationType = ValidationType.None;
validationFlags = XmlSchemaValidationFlags.ProcessIdentityConstraints;
validationFlags |= XmlSchemaValidationFlags.AllowXmlAttributes;
ignoreWhitespace = false;
ignorePIs = false;
ignoreComments = false;
prohibitDtd = true;
closeInput = false;
maxCharactersFromEntities = 0;
maxCharactersInDocument = 0;
isReadOnly = false;
}
public XmlReaderSettings Clone() {
XmlReaderSettings clonedSettings = MemberwiseClone() as XmlReaderSettings;
clonedSettings.isReadOnly = false;
return clonedSettings;
}
//
// Internal and private methods
//
internal bool ReadOnly {
get {
return isReadOnly;
}
set {
isReadOnly = value;
}
}
internal ValidationEventHandler GetEventHandler() {
return valEventHandler;
}
private void CheckReadOnly( string propertyName ) {
if ( isReadOnly ) {
throw new XmlException( Res.Xml_ReadOnlyProperty, "XmlReaderSettings." + propertyName );
}
}
internal bool CanResolveExternals {
get {
return prohibitDtd == false && xmlResolver != null;
}
}
}
}
// 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
- ProtocolsConfiguration.cs
- ToolStripSplitStackLayout.cs
- DesignerAdapterAttribute.cs
- ConfigurationLocation.cs
- PropertyManager.cs
- TraceListeners.cs
- CalloutQueueItem.cs
- Math.cs
- PassportPrincipal.cs
- TdsParserStaticMethods.cs
- StrongNameKeyPair.cs
- WebDescriptionAttribute.cs
- DelegateArgumentValue.cs
- PeerCredential.cs
- SoapIgnoreAttribute.cs
- WebCategoryAttribute.cs
- SchemaElement.cs
- DataGrid.cs
- Parameter.cs
- Point3DIndependentAnimationStorage.cs
- BufferBuilder.cs
- ExpressionBinding.cs
- BrowserDefinition.cs
- CannotUnloadAppDomainException.cs
- FastPropertyAccessor.cs
- ValidatorCompatibilityHelper.cs
- AssemblyResourceLoader.cs
- ReceiveContextCollection.cs
- IPEndPointCollection.cs
- MetadataArtifactLoaderCompositeFile.cs
- WebPartConnectionsConnectVerb.cs
- TextHintingModeValidation.cs
- SystemUdpStatistics.cs
- NameValueSectionHandler.cs
- WindowsToolbarAsMenu.cs
- DataGridViewSelectedCellCollection.cs
- ItemsPanelTemplate.cs
- SystemPens.cs
- EntityModelSchemaGenerator.cs
- AttributeProviderAttribute.cs
- ChtmlTextWriter.cs
- TableLayoutSettings.cs
- AnimationClockResource.cs
- ContextDataSource.cs
- VarInfo.cs
- WinEventWrap.cs
- CodeExporter.cs
- IndexedEnumerable.cs
- FixedSOMFixedBlock.cs
- DocumentPageView.cs
- SymbolMethod.cs
- UrlPropertyAttribute.cs
- ping.cs
- WebPartTracker.cs
- WebExceptionStatus.cs
- AuthenticationModuleElementCollection.cs
- SimplePropertyEntry.cs
- cookiecontainer.cs
- propertytag.cs
- XmlCharCheckingReader.cs
- SchemaEntity.cs
- ListItemConverter.cs
- ResourceBinder.cs
- RectValueSerializer.cs
- AdCreatedEventArgs.cs
- CodeSubDirectory.cs
- PersonalizationAdministration.cs
- SqlBulkCopyColumnMappingCollection.cs
- RelationshipEndMember.cs
- ForwardPositionQuery.cs
- ProviderBase.cs
- ReturnValue.cs
- AppLevelCompilationSectionCache.cs
- StringExpressionSet.cs
- PhonemeConverter.cs
- XsltInput.cs
- SystemParameters.cs
- SerialStream.cs
- FtpRequestCacheValidator.cs
- SqlNotificationRequest.cs
- DBParameter.cs
- Util.cs
- ConnectionPoolManager.cs
- CellConstantDomain.cs
- ClassImporter.cs
- COM2Properties.cs
- TimeSpanStorage.cs
- WinEventHandler.cs
- FocusChangedEventArgs.cs
- Package.cs
- XmlSchemaCollection.cs
- Matrix.cs
- ReliableOutputSessionChannel.cs
- ReadOnlyCollection.cs
- ResourceBinder.cs
- RegexNode.cs
- FixedElement.cs
- URLAttribute.cs
- ValueSerializerAttribute.cs
- TextSimpleMarkerProperties.cs