<tree>

<tree> (arbre) encode un arbre, qui est composé d'une racine, de nœuds internes, de feuilles et d'arcs allant de la racine vers les feuilles. [19.2 Trees]
Modulenets — Graphs, Networks, and Trees
Attributsatt.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp))
aritydonne le nombre maximal d'enfants de la racine et des nœuds internes de l'arbre.
Statut Optionel
Type de données

<rng:ref name="data.count"/>
data.count
ord(ordonné) indique si l'arbre est ordonné ou non ou s'il l'est partiellement.
Statut Requis
Type de données

<rng:ref name="data.enumerated"/>
data.enumerated
Les valeurs autorisées sont:
true
indique que, dans l'arbre, tous les nœuds d'embranchement sont ordonnés.
partial
indique que, dans l'arbre, certains nœuds d'embranchement sont ordonnés et d'autres non.
false
indique que, dans l'arbre, tous les nœuds d'embranchement sont non ordonnés.
orderdonne l'ordre de l'arbre, c'est-à-dire le nombre de ses nœuds.
Statut Optionel
Type de données

<rng:ref name="data.count"/>
data.count
Note

La taille d'un arbre étant toujours inférieure d'un à son ordre, il n'est donc pas nécessaire d'avoir en même temps un attribut size et un attribut order.

Membre du
Contenu dans
Peut contenir
core: label
Declaration

<rng:element name="tree">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.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:ref name="att.global.responsibility.attributes"/>
 <rng:optional>
  <rng:attribute name="arity">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:attribute name="ord">
  <rng:choice>
   <rng:value>true</rng:value>
   <rng:value>partial</rng:value>
   <rng:value>false</rng:value>
  </rng:choice>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="order">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:ref name="label"/>
  </rng:optional>
  <rng:group>
   <rng:zeroOrMore>
    <rng:choice>
     <rng:ref name="leaf"/>
     <rng:ref name="iNode"/>
    </rng:choice>
   </rng:zeroOrMore>
   <rng:ref name="root"/>
   <rng:zeroOrMore>
    <rng:choice>
     <rng:ref name="leaf"/>
     <rng:ref name="iNode"/>
    </rng:choice>
   </rng:zeroOrMore>
  </rng:group>
 </rng:group>
</rng:element>
element tree
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   attribute arity { data.count }?,
   attribute ord { "true" | "partial" | "false" },
   attribute order { data.count }?,
   ( label?, ( ( leaf | iNode )*, root, ( leaf | iNode )* ) )
}
Exemple
<tree n="ex2arity="2ord="partial"
 order="13">

 <root xml:id="G-div1"
  children="#G-plu1 #G-exp1ord="true">

  <label>/</label>
 </root>
 <iNode xml:id="G-plu1"
  children="#G-exp2 #G-exp3parent="#G-div1ord="false">

  <label>+</label>
 </iNode>
 <iNode xml:id="G-exp1"
  children="#G-plu2 #G-num2.3parent="#G-div1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="G-exp2"
  children="#G-vara1 #G-num2.1parent="#G-plu1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="G-exp3"
  children="#G-varb1 #G-num2.2parent="#G-plu1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="G-plu2"
  children="#G-vara2 #G-varb2parent="#G-exp1ord="false">

  <label>+</label>
 </iNode>
 <leaf xml:id="G-vara1parent="#G-exp2">
  <label>a</label>
 </leaf>
 <leaf xml:id="G-num2.1parent="#G-exp2">
  <label>2</label>
 </leaf>
 <leaf xml:id="G-varb1parent="#G-exp3">
  <label>b</label>
 </leaf>
 <leaf xml:id="G-num2.2parent="#G-exp3">
  <label>2</label>
 </leaf>
 <leaf xml:id="G-vara2parent="#G-plu2">
  <label>a</label>
 </leaf>
 <leaf xml:id="G-varb2parent="#G-plu2">
  <label>b</label>
 </leaf>
 <leaf xml:id="G-num2.3parent="#G-exp1">
  <label>2</label>
 </leaf>
</tree>
Exemple
<tree n="ex2arity="2ord="partial"
 order="13">

 <root xml:id="fr_G-div1"
  children="#fr_G-plu1 #fr_G-exp1ord="true">

  <label>/</label>
 </root>
 <iNode xml:id="fr_G-plu1"
  children="#fr_G-exp2 #fr_G-exp3parent="#fr_G-div1ord="false">

  <label>+</label>
 </iNode>
 <iNode xml:id="fr_G-exp1"
  children="#fr_G-plu2 #fr_G-num2.3parent="#fr_G-div1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="fr_G-exp2"
  children="#fr_G-vara1 #fr_G-num2.1parent="#fr_G-plu1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="fr_G-exp3"
  children="#fr_G-varb1 #fr_G-num2.2parent="#fr_G-plu1ord="true">

  <label>**</label>
 </iNode>
 <iNode xml:id="fr_G-plu2"
  children="#fr_G-vara2 #fr_G-varb2parent="#fr_G-exp1ord="false">

  <label>+</label>
 </iNode>
 <leaf xml:id="fr_G-vara1"
  parent="#fr_G-exp2">

  <label>a</label>
 </leaf>
 <leaf xml:id="fr_G-num2.1"
  parent="#fr_G-exp2">

  <label>2</label>
 </leaf>
 <leaf xml:id="fr_G-varb1"
  parent="#fr_G-exp3">

  <label>b</label>
 </leaf>
 <leaf xml:id="fr_G-num2.2"
  parent="#fr_G-exp3">

  <label>2</label>
 </leaf>
 <leaf xml:id="fr_G-vara2"
  parent="#fr_G-plu2">

  <label>a</label>
 </leaf>
 <leaf xml:id="fr_G-varb2"
  parent="#fr_G-plu2">

  <label>b</label>
 </leaf>
 <leaf xml:id="fr_G-num2.3"
  parent="#fr_G-exp1">

  <label>2</label>
 </leaf>
</tree>
Note

Il doit y avoir un nœud racine et zéro, un ou plusieurs nœuds internes et feuilles. S'il y a un nœud interne, il doit y avoir au moins une feuille.