XmlReader.IsDefault Property

Definition

When overridden in a derived class, gets a value indicating whether the current node is an attribute that was generated from the default value defined in the DTD or schema.

public:
 virtual property bool IsDefault { bool get(); };
public:
 abstract property bool IsDefault { bool get(); };
public virtual bool IsDefault { get; }
public abstract bool IsDefault { get; }
member this.IsDefault : bool
Public Overridable ReadOnly Property IsDefault As Boolean
Public MustOverride ReadOnly Property IsDefault As Boolean

Property Value

true if the current node is an attribute whose value was generated from the default value defined in the DTD or schema; false if the attribute value was explicitly set.

Exceptions

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Examples

The following example displays all attributes on the root element.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main(){

    // Create the reader.
    XmlReader reader = XmlReader.Create("book4.xml");

    reader.MoveToContent();

    // Display each of the attribute nodes, including default attributes.
    while (reader.MoveToNextAttribute()){
        if (reader.IsDefault)
          Console.Write("(default attribute) ");
        Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
    }

    //Close the reader.
    reader.Close();

  }
} // End class

The example uses the following files as input.

book4.xml

<!DOCTYPE book SYSTEM 'book.dtd'>
<book ISBN = '1-861001-57-5'>
  <title>Pride And Prejudice</title>
  <price>19.95</price>
</book>

book.dtd

<!ELEMENT book (title,price)>
<!ATTLIST book
   genre CDATA "novel"
   ISBN CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>

Remarks

IsDefault always returns false for implementations of XmlReader that do not support schema or DTD information. This property applies only to an attribute node.

Applies to