<graph>

<graph> グラフを示す.ノードと矢(無向の場合は辺)の集合. 19.1 Graphs and Digraphs
モジュール nets — 19 Graphs, Networks, and Trees
グローバル属性の他
type 当該グラフの種類を示す.
状態 推薦される
データ型

<rng:ref name="data.enumerated"/>
data.enumerated
提案する値は以下の通り:
undirected
無向グラフ.
directed
有向グラフ.
transitionNetwork
遷移ネットワーク.初期ノードと最終ノードを分けた有向グラフ.
transducer
トランスデューサ.各矢に高々2つのラベルを持つ遷移ネットワーク.
解説
属性typeが値undirectedをとる場合, 要素arcにある属性tofromとの違 いはなくなる.また,属性adjFromadjToで はなく,属性adjが使われる場合,これは矢の終点を示す ために使われるべきである. 属性typeが値directedをとる場合(または他 の値が有向性を含む場合),属性adjではなく,属性 adjFromadjToが使われるべきである.
order 当該グラフのオーダー.グラフに含まれるノード数を示す.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
A positive integer.
size 当該グラフのサイズ.グラフに含まれる辺数を示す.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
A non-negative integer.
当該モジュールを使用するもの
下位
宣言

<rng:element name="graph">
 <rng:ref name="att.global.attributes"/>
 <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:data type="Name"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="order">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="size">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:ref name="label"/>
   <rng:zeroOrMore>
    <rng:ref name="model.global"/>
   </rng:zeroOrMore>
  </rng:optional>
  <rng:choice>
   <rng:group>
    <rng:oneOrMore>
     <rng:ref name="node"/>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:oneOrMore>
    <rng:zeroOrMore>
     <rng:ref name="arc"/>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:zeroOrMore>
   </rng:group>
   <rng:group>
    <rng:oneOrMore>
     <rng:ref name="arc"/>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:oneOrMore>
    <rng:oneOrMore>
     <rng:ref name="node"/>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:oneOrMore>
   </rng:group>
  </rng:choice>
 </rng:group>
</rng:element>
element graph
{
   att.global.attributes,
   attribute type
   {
      "undirected" | "directed" | "transitionNetwork" | "transducer" | xsd:Name
   }?,
   attribute order { data.count }?,
   attribute size { data.count }?,
   (
      ( label, model.global* )?,
      (
         ( ( node, model.global* )+, ( arc, model.global* )* )
       | ( ( arc, model.global* )+, ( node, model.global* )+ )
      )
   )
}
<graph
  xml:id="cug1"
  type="undirected"
  order="5"
  size="4"
  rend="LABEL-PLACE bottom center NODE-FRAME none ARC solid line">

 <label>Airline Connections in Southwestern USA</label>
 <node xml:id="lax" degree="2">
  <label>LAX</label>
 </node>
 <node xml:id="lvg" degree="2">
  <label>LVG</label>
 </node>
 <node xml:id="phx" degree="3">
  <label>PHX</label>
 </node>
 <node xml:id="tus" degree="1">
  <label>TUS</label>
 </node>
 <node xml:id="cib" degree="0">
  <label>CIB</label>
 </node>
 <arc from="#lax" to="#lvg"/>
 <arc from="#lax" to="#phx"/>
 <arc from="#lvg" to="#phx"/>
 <arc from="#phx" to="#tus"/>
</graph>
解説
ひとつ以上のノードと,ゼロ以上の矢(辺).