In the Nevron DOM, attributes the primary means with which you can attach additional, classified information to objects (not necessarily only to nodes or elements). The abstraction of an attribute is defined by the INAttribute interface a core implementation of which can be found in the NAttribute class.
Objects declare the fact that they contain attributes by implementing the
INAttributeContainer interface. In the case when this interface is implemented by an attribute it is said that this attribute is a
composite attribute.
Each attribute has two names:
- Local name - the local attribute name is provided to the attribute by the attribute container in which it resides. It can be obtained from the AttributeName property.
- Full name - the full attribute name is the concatenation of its parent attributes names (if any) and its local name divided with the '.' character. The full attribute name can be obtained from the FullAttributeName property.
Attributes are designed to notify their first container, which implements the
INAttributeObserver interface when a property or the state of the attribute has changed. In this way any object, which contains attributes can be consistently notified when any of its attributes is changed.