For each property assignment of a node, there is a unique
corresponding property of the node's class whose name is the same as
the name part of the property assignment. This is referred to as the
property of the property assignment. The value part of a property
assignment is referred to as a value of the property of the
property assignment. A node is said to exhibit a value v for a
property p if there is a property assignment of the node whose
property is p and whose value part is v. The properties for
which the node exhibits a value are referred to as the properties
of the node.
The ordering of the properties of a class determines for nodes of that
class the ordering of the corresponding property assignments.
Every property value has a data type. The definition of a property
declares a certain data type to be possible for values of the
property. This data type is referred to as the declared data
type of the property.
In addition to simple abstract data types such as boolean or string,
there are three special data types called the nodal data types,
whose values are nodes or lists of nodes. These are described in
section 9.3.3, Data Type Definition.
The definition of a property may also allow that property
to have a null value in certain circumstances, instead of a
value having the declared data type. This null value is the unique
object of the null data type. The null data type can never be used as
a declared data type.