Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / Dom / XmlDocumentType.cs / 1305376 / XmlDocumentType.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System.Xml.Schema;
using System.Diagnostics;
// Contains information associated with the document type declaration.
public class XmlDocumentType : XmlLinkedNode {
string name;
string publicId;
string systemId;
string internalSubset;
bool namespaces;
XmlNamedNodeMap entities;
XmlNamedNodeMap notations;
// parsed DTD
SchemaInfo schemaInfo;
protected internal XmlDocumentType( string name, string publicId, string systemId, string internalSubset, XmlDocument doc ) : base( doc ) {
this.name = name;
this.publicId = publicId;
this.systemId = systemId;
this.namespaces = true;
this.internalSubset = internalSubset;
Debug.Assert( doc != null );
if ( !doc.IsLoading ) {
doc.IsLoading = true;
XmlLoader loader = new XmlLoader();
loader.ParseDocumentType( this ); //will edit notation nodes, etc.
doc.IsLoading = false;
}
}
// Gets the name of the node.
public override string Name {
get { return name;}
}
// Gets the name of the current node without the namespace prefix.
public override string LocalName {
get { return name;}
}
// Gets the type of the current node.
public override XmlNodeType NodeType {
get { return XmlNodeType.DocumentType;}
}
// Creates a duplicate of this node.
public override XmlNode CloneNode(bool deep) {
Debug.Assert( OwnerDocument != null );
return OwnerDocument.CreateDocumentType( name, publicId, systemId, internalSubset );
}
//
// Microsoft extensions
//
// Gets a value indicating whether the node is read-only.
public override bool IsReadOnly {
get {
return true; // Make entities and notations readonly
}
}
// Gets the collection of XmlEntity nodes declared in the document type declaration.
public XmlNamedNodeMap Entities {
get {
if (entities == null)
entities = new XmlNamedNodeMap( this );
return entities;
}
}
// Gets the collection of XmlNotation nodes present in the document type declaration.
public XmlNamedNodeMap Notations {
get {
if (notations == null)
notations = new XmlNamedNodeMap( this );
return notations;
}
}
//
// DOM Level 2
//
// Gets the value of the public identifier on the DOCTYPE declaration.
public string PublicId {
get { return publicId;}
}
// Gets the value of
// the system identifier on the DOCTYPE declaration.
public string SystemId {
get { return systemId;}
}
// Gets the entire value of the DTD internal subset
// on the DOCTYPE declaration.
public string InternalSubset {
get { return internalSubset;}
}
internal bool ParseWithNamespaces {
get { return namespaces; }
set { namespaces = value; }
}
// Saves the node to the specified XmlWriter.
public override void WriteTo(XmlWriter w) {
w.WriteDocType( name, publicId, systemId, internalSubset );
}
// Saves all the children of the node to the specified XmlWriter.
public override void WriteContentTo(XmlWriter w) {
// Intentionally do nothing
}
internal SchemaInfo DtdSchemaInfo {
get {
return schemaInfo;
}
set {
schemaInfo = value;
}
}
}
}
// 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
- MissingFieldException.cs
- MailWebEventProvider.cs
- MonitoringDescriptionAttribute.cs
- PageBuildProvider.cs
- ResourceLoader.cs
- SqlCacheDependencyDatabaseCollection.cs
- MenuItemStyleCollection.cs
- XmlNamespaceMappingCollection.cs
- QueryAccessibilityHelpEvent.cs
- ObjectDataSource.cs
- Control.cs
- TransformGroup.cs
- Point4D.cs
- OutputCacheSettingsSection.cs
- XmlAttributes.cs
- DetailsViewUpdateEventArgs.cs
- ValidationSummary.cs
- ErrorWebPart.cs
- CompressStream.cs
- EmptyReadOnlyDictionaryInternal.cs
- Enum.cs
- File.cs
- ClientFormsAuthenticationCredentials.cs
- URLAttribute.cs
- XmlSortKeyAccumulator.cs
- FixedSOMContainer.cs
- Funcletizer.cs
- InstanceData.cs
- XmlSchemaExporter.cs
- VirtualDirectoryMapping.cs
- AppDomainFactory.cs
- MinimizableAttributeTypeConverter.cs
- RtfNavigator.cs
- XPathEmptyIterator.cs
- XslNumber.cs
- SqlUserDefinedAggregateAttribute.cs
- TwoPhaseCommit.cs
- TabControlEvent.cs
- DispatcherHooks.cs
- AccessDataSourceView.cs
- XmlNullResolver.cs
- HttpWebResponse.cs
- EnumerableCollectionView.cs
- MetadataSerializer.cs
- HttpHandlersSection.cs
- FormatConvertedBitmap.cs
- BitmapCache.cs
- GroupBoxDesigner.cs
- XmlSchemaComplexContentExtension.cs
- ListBindingHelper.cs
- SiteMapProvider.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- CommandID.cs
- DateTimeAutomationPeer.cs
- ResourcesBuildProvider.cs
- SizeF.cs
- DynamicActionMessageFilter.cs
- DbQueryCommandTree.cs
- ActiveXSite.cs
- TriggerAction.cs
- DataObjectFieldAttribute.cs
- MetadataSerializer.cs
- BindValidator.cs
- XmlMemberMapping.cs
- Menu.cs
- SessionStateItemCollection.cs
- WebSysDefaultValueAttribute.cs
- ForeignKeyConstraint.cs
- InfoCardRSACryptoProvider.cs
- Int32KeyFrameCollection.cs
- TransactionInformation.cs
- CompilerGlobalScopeAttribute.cs
- PolicyChain.cs
- DocumentPaginator.cs
- HttpProfileGroupBase.cs
- Matrix.cs
- Boolean.cs
- ExpressionWriter.cs
- MetadataArtifactLoader.cs
- HierarchicalDataSourceConverter.cs
- NetNamedPipeBindingElement.cs
- ReachFixedDocumentSerializerAsync.cs
- EntityStoreSchemaGenerator.cs
- CodeExporter.cs
- CookieProtection.cs
- LayoutTable.cs
- EventLogPermissionHolder.cs
- PropertyChangedEventArgs.cs
- EntityTypeBase.cs
- EntityDataSourceValidationException.cs
- XmlSchemaRedefine.cs
- WebPartEditorCancelVerb.cs
- Configuration.cs
- RegionIterator.cs
- FontDriver.cs
- ValueExpressions.cs
- SourceItem.cs
- FieldNameLookup.cs
- ActiveXHelper.cs
- HttpCachePolicy.cs