<node>

<node> グラフのラベル付きノードを示す. 19.1 有向グラフ・無向グラフ
モジュールnets — 19 Graphs, Networks, and 木
属性
value ノードの値を示す.これは,素性構造または他の分析要素である.
状態 任意
データ型

<rng:ref name="data.pointer"/>
data.pointer
妥当な識別子
type ノードの種類を示す.
状態 任意
データ型

<rng:ref name="data.enumerated"/>
data.enumerated
提案する値は以下の通り:
initial
遷移ネットワークの初期ノード.
final
遷移ネットワークの最終ノード.
adjTo 有向グラフにおける,現行ノードに入るノードの識別子を示す.
状態 使えるならば必須
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
識別子のリスト.
adjFrom 有向グラフにおける,現行ノードから出るノードの識別子を示す.
状態 使えるならば必須
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
識別子のリスト.
adj 無向グラフにおける,現行ノードに隣接するノードの識別子を示す.
状態 使えるならば必須
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
識別子のリスト
解説
当該グラフが無向グラフの場合は,属性adjToadjFromの代わりに当該属性を使う.当該グラフが有向グ ラフの場合は,その逆である.
inDegree 現行ノードの入りの次数.すなわち,ノードへ入る辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
非負整数.
outDegree 現行ノードの出の次数.すなわち,ノードから出る辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
非負整数
degree 当該ノードの次数.すなわち,ノードにある辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
非負整数.
解説
当該属性は,当該グラフが無向グラフの場合に,属性 inDegreeoutDegreeの代わりに使用される. 有向グラフの場合は,その逆である.
当該モジュールを使用するもの
下位
core: label
宣言
<rng:element name="node">
 <rng:ref name="att.global.attributes"/>
 <rng:optional>
  <rng:attribute name="value">
   <rng:ref name="data.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="type">
   <rng:choice>
    <rng:value>initial</rng:value>
    <rng:value>final</rng:value>
    <rng:data type="Name"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adjTo">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adjFrom">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adj">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="inDegree">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="outDegree">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="degree">
   <rng:ref name="data.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:ref name="label"/>
  <rng:optional>
   <rng:ref name="label"/>
  </rng:optional>
 </rng:optional>
</rng:element>
element node
{
   att.global.attributes,
   attribute value { data.pointer }?,
   attribute type { "initial" | "final" | xsd:Name }?,
   attribute adjTo { list { data.pointer+ } }?,
   attribute adjFrom { list { data.pointer+ } }?,
   attribute adj { list { data.pointer+ } }?,
   attribute inDegree { data.count }?,
   attribute outDegree { data.count }?,
   attribute degree { data.count }?,
   ( label, label? )?
}
<node
  xml:id="t6"
  type="final"
  inDegree="2"
  outDegree="0">

 <label>6</label>
</node>
解説
ゼロ以上の子要素labelをとるかもしれない.最初の要素 labelは,辺のラベルを示す.2番目の要素labelは,辺の2つめのラベルを示す.トランスデューサの動作が,辺ではなくノードに関連して定義される場合に,当該要素が使用されるべきである.