<root>

<root> (root node) represents the root node of a tree. 19.2 Trees
Modulenets — 19 Graphs, Networks, and Trees
Attributesatt.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change))
valueprovides the value of the root, which is a feature structure or other analytic element.
Status Optional
Datatype

<rng:ref name="data.pointer"/>
data.pointer
Values A valid identifier of a feature structure or other analytic element.
childrenprovides a list of identifiers of the elements which are the children of the root node.
Status Required
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values A list of valid identifiers.
Note
If the root has no children (i.e., the tree is ‘trivial’), then the children attribute must be omitted. For technical reasons, it cannot be specified as <root children=''>.
ord(ordered) indicates whether or not the root is ordered.
Status Optional
Datatype

<rng:ref name="data.xTruthValue"/>
data.xTruthValue
Note
The value true indicates that the children of the root are ordered, whereas false indicates the are unordered.
Use if and only if ord is specified as partial on the tree element and the root has more than one child.
outDegreegives the out degree of the root, the number of its children.
Status Optional
Datatype

<rng:ref name="data.count"/>
data.count
Values A nonnegative integer.
Note
The in degree of the root is always 0.
Used by
Contained by
nets: tree
May contain
core: label
Declaration

<rng:element name="root">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:optional>
  <rng:attribute name="value">
   <rng:ref name="data.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:attribute name="children">
  <rng:list>
   <rng:ref name="data.pointer"/>
   <rng:zeroOrMore>
    <rng:ref name="data.pointer"/>
   </rng:zeroOrMore>
  </rng:list>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="ord">
   <rng:ref name="data.xTruthValue"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="outDegree">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:ref name="label"/>
 </rng:optional>
</rng:element>
element root
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   attribute value { data.pointer }?,
   attribute children { list { data.pointer, data.pointer* } },
   attribute ord { data.xTruthValue }?,
   attribute outDegree { data.count }?,
   label?
}
Example
<root xml:id="vp1" children="#vb1 #pn1" outDegree="2">
 <label>VP</label>
</root>
<leaf xml:id="vb1"/>
<leaf xml:id="pn1"/>