<graph>

<graph> (graph) グラフを示す。ノードと矢(無向の場合は辺)の集合。 [19.1 Graphs and Digraphs]
モジュール nets — Graphs, Networks, and Trees
属性 att.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)) (att.global.source (@source)) att.typed (type, @subtype)
type⚓︎ 当該グラフの種類を示す。
Derived from att.typed
状態 推薦される
データ型 teidata.enumerated
提案する値は以下の通り:
undirected
無向グラフ。
directed
有向グラフ。
transitionNetwork
遷移ネットワーク。初期ノードと最終ノードを分けた有向グラフ。
transducer
トランスデューサ。各矢に高々2つのラベルを持つ遷移ネットワーク。
解説

属性typeが値undirectedをとる場合、 要素arcにある属性tofromとの違 いはなくなる。また、属性adjFromadjToで はなく、属性adjが使われる場合、これは矢の終点を示す ために使われるべきである。 属性typeが値directedをとる場合(または他 の値が有向性を含む場合)、属性adjではなく、属性 adjFromadjToが使われるべきである。

order⚓︎ 当該グラフのオーダー。グラフに含まれるノード数を示す。
状態 任意
データ型 teidata.count
size⚓︎ 当該グラフのサイズ。グラフに含まれる辺数を示す。
状態 任意
データ型 teidata.count
クラブのメンバー
上位
下位
解説

ひとつ以上のノードと、ゼロ以上の矢(辺)。

<graph xml:id="cug1type="undirected"
 order="5size="4"
 rend="LABEL-PLACE bottom center NODE-FRAME none ARC solid line">

 <label>Airline Connections in Southwestern USA</label>
 <node xml:id="laxdegree="2">
  <label>LAX</label>
 </node>
 <node xml:id="lvgdegree="2">
  <label>LVG</label>
 </node>
 <node xml:id="phxdegree="3">
  <label>PHX</label>
 </node>
 <node xml:id="tusdegree="1">
  <label>TUS</label>
 </node>
 <node xml:id="cibdegree="0">
  <label>CIB</label>
 </node>
 <arc from="#laxto="#lvg"/>
 <arc from="#laxto="#phx"/>
 <arc from="#lvgto="#phx"/>
 <arc from="#phxto="#tus"/>
</graph>
Content model
<content>
 <sequence>
  <sequence minOccurs="0">
   <elementRef key="label"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
  <alternate>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="0"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
  </alternate>
 </sequence>
</content>
宣言
<rng:element name="graph">
 <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:ref name="att.typed.attribute.subtype"/>
 <rng:optional>
  <rng:attribute name="type">
   <rng:choice>
    <rng:value>undirected</rng:value>
    <rng:value>directed</rng:value>
    <rng:value>transitionNetwork</rng:value>
    <rng:value>transducer</rng:value>
    <rng:ref name="teidata.enumerated"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="order">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="size">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:group>
    <rng:ref name="label"/>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:group>
  </rng:optional>
  <rng:choice>
   <rng:group>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
    <rng:zeroOrMore>
     <rng:group>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:zeroOrMore>
   </rng:group>
   <rng:group>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
    <rng:oneOrMore>
     <rng:group>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:group>
    </rng:oneOrMore>
   </rng:group>
  </rng:choice>
 </rng:group>
</rng:element>
element graph
{
   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,
   att.typed.attribute.subtype,
   attribute type
   {
      "undirected"
    | "directed"
    | "transitionNetwork"
    | "transducer"
    | teidata.enumerated
   }?,
   attribute order { teidata.count }?,
   attribute size { teidata.count }?,
   (
      ( label, model.global* )?,
      (
         ( ( node, model.global* )+, ( arc, model.global* )* )
       | ( ( arc, model.global* )+, ( node, model.global* )+ )
      )
   )
}