Package org.opendaylight.yangtools.yang.data.api.schema

Definition of normalized YANG DOM Model Normalized DOM Model brings more direct mapping between YANG Model, DOM representation of data

See: Description

Package org.opendaylight.yangtools.yang.data.api.schema Description

Definition of normalized YANG DOM Model Normalized DOM Model brings more direct mapping between YANG Model, DOM representation of data

Normalized DOM Model

Node Types

Tree / subtree structure

Grammar representation

  YangInstanceIdentifier = YangInstanceIdentifier.PathArgument*
  YangInstanceIdentifier.PathArgument = YangInstanceIdentifier.NodeIdentifier| YangInstanceIdentifier.NodeIdentifierWithPredicates| YangInstanceIdentifier.NodeWithValue | YangInstanceIdentifier.AugmentationIdentifier

  TreeRoot = DataContainerNode
  DataContainerNode = ( LeafNode | ChoiceNode | AugmentationNode | MapNode | LeafSetNode)*
  ContainerDataNode = YangInstanceIdentifier.NodeIdentifier DataContainerNode

  LeafNode = YangInstanceIdentifier.NodeIdentifier SimpleValue
  AugmentationNode = YangInstanceIdentifier.AugmentationIdentifier DataContainerNode
  MapNode = YangInstanceIdentifier.NodeIdentifier MapEntryNode
  MapEntryNode = YangInstanceIdentifier.NodeIdentifierWithPredicates DataContainerNode

  // Special nodes
  LeafSetNode = YangInstanceIdentifier.NodeIdentifier LeafSetEntryNode*
  ChoiceNode = YangInstanceIdentifier.NodeIdentifier DataContainerNode
  LeafSetEntryNode = YangInstanceIdentifier.NodeWithValue SimpleValue
 
The resulting tree organization is following:

Ordering of child nodes

Ordering of child nodes is not enforced by this API definition, unless explicitly stated by subclasses of OrderedNodeContainer which marks nodes with semantic constrain to preserve user-supplied ordering.

Clients should not expect any specific ordering of child nodes for interfaces from this package which does not extend OrderedNodeContainer, since implementations are not required to have well-defined order, which allows for more efficient implementations. If such ordering is required by clients for serialization / debugability it SHOULD be done externally in code using these interfaces.

Copyright © 2017 OpenDaylight. All rights reserved.