XmlAttribute::Specified Property


Gets a value indicating whether the attribute value was explicitly set.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

property bool Specified {
	virtual bool get();

Property Value

Type: System::Boolean

true if this attribute was explicitly given a value in the original instance document; otherwise, false. A value of false indicates that the value of the attribute came from the DTD.

The implementation is in charge of this property, not the user. If the user changes the value of the attribute (even if it ends up having the same value as the default/fixed value), then the specified flag is automatically flipped to true. To re-specify the attribute as the default/fixed value from the DTD, the user must delete the attribute. The implementation then makes a new attribute available with specified set to false and the default/fixed value (if one exists).

In summary:

  1. If the attribute has an assigned value in the document, Specified is true, and the value is the assigned value.

  2. If the attribute has no assigned value in the document and has a default/fixed value in the DTD, Specified is false, and the value is the default/fixed value in the DTD.

  3. Otherwise, the attribute does not appear in the structure model of the document.

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top