<node>

<node> グラフのラベル付きノードを示す. [19.1 Graphs and Digraphs]
モジュールnets — 19 Graphs, Networks, and Trees
属性att.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change))
value ノードの値を示す.これは,素性構造または他の分析要素である.
状態 任意
データ型

<rng:ref name="data.pointer"/>
data.pointer
A valid identifier.
type ノードの種類を示す.
状態 任意
データ型

<rng:ref name="data.enumerated"/>
data.enumerated
提案する値は以下の通り:
initial
遷移ネットワークの初期ノード.
final
遷移ネットワークの最終ノード.
<graph>
 <node
   xml:id="gnex11"
   adjTo="#gnex12"
   adj="#gnex13"
   type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex12" adjFrom="#gnex11" adjTo="#gnex13">
  <label>2</label>
 </node>
 <node
   xml:id="gnex13"
   adjFrom="#gnex12"
   adj="#gnex11"
   type="final">

  <label>3</label>
 </node>
</graph>
adjTo (adjacent to) 有向グラフにおける,現行ノードに入るノードの識別子を示す.
状態 任意
データ型 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
A list of identifiers.
<graph>
 <node
   xml:id="gnex21"
   adjTo="#gnex22"
   adj="#gnex23"
   type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex22" adjTo="#gnex23">
  <label>2</label>
 </node>
 <node xml:id="gnex23" type="final">
  <label>3</label>
 </node>
</graph>
adjFrom (adjacent from) 有向グラフにおける,現行ノードから出るノードの識別子を示す.
状態 任意
データ型 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
A list of identifiers.
<graph>
 <node xml:id="gnex31" type="initial">
  <label>1</label>
 </node>
 <node xml:id="gnex32" adjFrom="#gnex31">
  <label>2</label>
 </node>
 <node
   xml:id="gnex33"
   adjFrom="#gnex32"
   adj="#gnex31"
   type="final">

  <label>3</label>
 </node>
</graph>
adj (adjacent) 無向グラフにおける,現行ノードに隣接するノードの識別子を示す.
状態 任意
データ型 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
A list of identifiers.
<graph>
 <node xml:id="gnex41" adj="#gnex42 #gnex43" type="initial">
  <label>1</label>
 </node>
 <node xml:id="gnex42" adj="#gnex41 #gnex43">
  <label>2</label>
 </node>
 <node xml:id="gnex43" adj="#gnex42 #gnex41" type="final">
  <label>3</label>
 </node>
</graph>
解説
当該グラフが無向グラフの場合は,属性adjToadjFromの代わりに当該属性を使う.当該グラフが有向グ ラフの場合は,その逆である.
inDegree 現行ノードの入りの次数.すなわち,ノードへ入る辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
A non-negative integer.
<graph>
 <node
   xml:id="gnex51"
   adjTo="#gnex52"
   adj="#gnex53"
   inDegree="1"
   type="initial">

  <label>1</label>
 </node>
 <node
   xml:id="gnex52"
   adjFrom="#gnex51"
   adjTo="#gnex53"
   inDegree="2">

  <label>2</label>
 </node>
 <node
   xml:id="gnex53"
   adjFrom="#gnex52"
   adj="#gnex51"
   inDegree="2"
   type="final">

  <label>3</label>
 </node>
</graph>
outDegree 現行ノードの出の次数.すなわち,ノードから出る辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
A non-negative integer.
<graph>
 <node
   xml:id="gnex61"
   adjTo="#gnex62"
   adj="#gnex63"
   outDegree="2"
   type="initial">

  <label>1</label>
 </node>
 <node
   xml:id="gnex62"
   adjFrom="#gnex61"
   adjTo="#gnex63"
   outDegree="1">

  <label>2</label>
 </node>
 <node
   xml:id="gnex63"
   adjFrom="#gnex62"
   adj="#gnex61"
   outDegree="2"
   type="final">

  <label>3</label>
 </node>
</graph>
degree 当該ノードの次数.すなわち,ノードにある辺の数.
状態 任意
データ型

<rng:ref name="data.count"/>
data.count
A non-negative integer.
<graph>
 <node
   xml:id="gnex71"
   adjTo="#gnex72"
   adj="#gnex73"
   outDegree="1"
   inDegree="0"
   degree="1"
   type="initial">

  <label>1</label>
 </node>
 <node
   xml:id="gnex72"
   adjFrom="#gnex71"
   adjTo="#gnex73"
   outDegree="1"
   inDegree="1"
   degree="0">

  <label>2</label>
 </node>
 <node
   xml:id="gnex73"
   adjFrom="#gnex72"
   adj="#gnex71"
   outDegree="0"
   inDegree="1"
   degree="1"
   type="final">

  <label>3</label>
 </node>
</graph>
解説
当該属性は,当該グラフが無向グラフの場合に,属性 inDegreeoutDegreeの代わりに使用される. 有向グラフの場合は,その逆である.
当該モジュールを使用するもの
上位
nets: graph
下位
core: label
宣言

<rng:element name="node">
 <rng:ref name="att.global.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: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:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adjFrom">
   <rng:list>
    <rng:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adj">
   <rng:list>
    <rng:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </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,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   attribute value { data.pointer }?,
   attribute type { "initial" | "final" | xsd:Name }?,
   attribute adjTo { list { data.pointer, data.pointer* } }?,
   attribute adjFrom { list { data.pointer, data.pointer* } }?,
   attribute adj { list { data.pointer, 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つめのラベルを示す.トランスデューサの動作が,辺ではなくノー ドに関連して定義される場合に,当該要素が使用されるべきである.