<tree>

<tree> (tree) 根、内部ノード、葉、矢(または辺)から成る木を示す。 [19.2 Trees]
モジュール nets — Graphs, Networks, and Trees
属性
arity⚓︎ 木構造における、根や内部ノードが持つ子供の最大数を示す。
状態 任意
データ型 teidata.count
ord⚓︎ (ordered) 当該木構造が、順序付き木、または半順序付き木であるかどうかを示す。
状態 必須
データ型 teidata.enumerated
正当な値:
true
木構造中の全ノードは、順序付きであることを示す。
partial
木構造中のノードの一部は順序付きであるが、一部は順序付きでは ないことを示す。
false
木構造の全ノードは、順序付きではないことを示す。
order⚓︎ 木構造の順番を示す。例えば、ノードの番号を示す。
状態 任意
データ型 teidata.count
解説

木構造中の辺数(サイズ)は、常にノード数(オーダー)より1少ない。 従って、属性sizeorderの2つは必要ない。

クラブのメンバー
上位
下位
core: label
解説

根がひとつ、0以上の内部ノード、複数の葉。但し、内部ノードが1つの 場合は、葉は1つになる。

<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>
Content model
<content>
 <sequence>
  <elementRef key="labelminOccurs="0"/>
  <sequence>
   <alternate minOccurs="0"
    maxOccurs="unbounded">

    <elementRef key="leaf"/>
    <elementRef key="iNode"/>
   </alternate>
   <elementRef key="root"/>
   <alternate minOccurs="0"
    maxOccurs="unbounded">

    <elementRef key="leaf"/>
    <elementRef key="iNode"/>
   </alternate>
  </sequence>
 </sequence>
</content>
宣言
<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:ref name="att.global.source.attributes"/>
 <rng:optional>
  <rng:attribute name="arity">
   <rng:ref name="teidata.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="teidata.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,
   att.global.source.attributes,
   attribute arity { teidata.count }?,
   attribute ord { "true" | "partial" | "false" },
   attribute order { teidata.count }?,
   ( label?, ( ( leaf | iNode )*, root, ( leaf | iNode )* ) )
}