XmlDocumentType.IsReadOnly Property

Definition

Gets a value indicating whether the node is read-only.

public:
 virtual property bool IsReadOnly { bool get(); };
public override bool IsReadOnly { get; }
member this.IsReadOnly : bool
Public Overrides ReadOnly Property IsReadOnly As Boolean

Property Value

true if the node is read-only; otherwise, false.

Because DocumentType nodes are read-only, this property always returns true.

Examples

The following example displays information about the DocumentType node.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<!DOCTYPE book [<!ENTITY h 'hardcover'>]>"
   "<book genre='novel' ISBN='1-861001-57-5'>"
   "<title>Pride And Prejudice</title>"
   "<style>&h;</style>"
   "</book>" );
   
   // Check if the node is read-only.
   if ( doc->DocumentType->IsReadOnly )
      Console::WriteLine( "Document type nodes are always read-only" );
}
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" +
                "<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "<style>&h;</style>" +
                "</book>");

    // Determine whether the node is read-only.
    if (doc.DocumentType.IsReadOnly)
       Console.WriteLine("Document type nodes are always read-only");
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        ' Create the XmlDocument.
        Dim doc As New XmlDocument()
        doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" & _
                    "<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "<style>&h;</style>" & _
                    "</book>")
        
        Dim doctype As XmlDocumentType = doc.DocumentType
        
        ' Determine whether the node is read-only.
        If doctype.IsReadOnly Then
            Console.WriteLine("Document type nodes are always read-only")
        End If 
    End Sub
End Class

Remarks

A read-only node is one whose properties, attributes, or children cannot be changed. However, you can remove a read-only node from the tree and insert it somewhere else.

You can remove a XmlDocumentType from a document and reinsert it back into the document as long as the document does not have an element node. Once a document has a root element, its XmlDocumentType cannot be changed.

This property is a Microsoft extension to the Document Object Model (DOM).

Applies to