Framework / System Layer / Document Object Model / Elements

In This Topic
    Elements
    In This Topic
    In the Nevron DOM, elements are the primary document building blocks. The abstraction of an element is defined by the INElement interface. Elements are nodes (the INElement interface derives from the INNode interface). This ensures that elements can be organized in hierarchical structures.
     Container and Composite Elements
    A node container, which consists only of elements, must implement the INElementContainer interface (derived from INNodeContainer). Analogously a composite node, which can only contain elements, must implement the INElementComposite interface).
     Elements Identification
    Elements are identifiable. Each element can be identified by its Id or UniqueId (the INElement interface derives from the INIdentifiable and INUniquelyIdentifiable interfaces). The Id of an element is unique only in the scope of the document in which the element resides. The UniqueId of an element is a GUID, which ensures that the element can be uniquely identified in the scope of several documents.
     Elements and Attributes
    By design elements are attribute containers and are notified when their attributes change (the INElement interface derives from the INAttributeContainer and INAttributeObserver interfaces).
     Cloning Elements

    Elements can be cloned in two ways:

    • Deep Clone with the same Unique Id - this type of cloning is performed by the standard .NET Clone() method (the INElement interface derives from ICloneable).
    • Deep Clone with new Unique Id - this type of cloning is performed by the CloneWithNewUniqueId method. This method accepts a single parameter - a map of unique ids, which is populated with the made unique id changes.

    Elements typically reference other elements by their unique id. Any unique ids, which an element stores in order to reference other elements are called foreign unique ids or element references. By design the INElement interface provides the basic means to change the element references with the help of the ReplaceForeignUniqueIds method.

     Implementation
    The Nevron DOM provides an implementation of the INElementComposite interface, which is represented by the NElementCompositeImpl class.
    See Also