<node>

<node> encodes a node, a possibly labeled point in a graph. [19.1 Graphs and Digraphs]
Modulenets — 19 Graphs, Networks, and Trees
Attributesatt.global (@xml:id, @n, @xml:lang, @rend, @style, @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))
valueprovides the value of a node, which is a feature structure or other analytic element.
Status Optional
Datatype

<rng:ref name="data.pointer"/>
data.pointer
Values A valid identifier.
typeprovides a type for a node.
Status Optional
Datatype

<rng:ref name="data.enumerated"/>
data.enumerated
Suggested values include:
initial
initial node in a transition network
final
final node in a transition network
<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) gives the identifiers of the nodes which are adjacent to the current node.
Status Optional
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values 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) gives the identifiers of the nodes which are adjacent from the current node.
Status Optional
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values 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) gives the identifiers of the nodes which are both adjacent to and adjacent from the current node.
Status Optional
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values 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>
Note
Use this attribute instead of the adjTo and adjFrom attributes when the graph is undirected and vice versa if the graph is directed.
inDegreegives the in degree of the node, the number of nodes which are adjacent from the given node.
Status Optional
Datatype

<rng:ref name="data.count"/>
data.count
Values 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>
outDegreegives the out degree of the node, the number of nodes which are adjacent to the given node.
Status Optional
Datatype

<rng:ref name="data.count"/>
data.count
Values 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>
degreegives the degree of the node, the number of arcs with which the node is incident.
Status Optional
Datatype

<rng:ref name="data.count"/>
data.count
Values 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>
Note
Use this attribute instead of the inDegree and outDegree attributes when the graph is undirected and vice versa if the graph is directed.
Used by
Contained by
nets: graph
May contain
core: label
Declaration

<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: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,
   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+ } }?,
   attribute adjFrom { list { data.pointer+ } }?,
   attribute adj { list { data.pointer+ } }?,
   attribute inDegree { data.count }?,
   attribute outDegree { data.count }?,
   attribute degree { data.count }?,
   ( label, label? )?
}
Example
<node
  xml:id="t6"
  type="final"
  inDegree="2"
  outDegree="0">

 <label>6</label>
</node>
Note
Zero, one, or two children label elements may be present. The first occurence of label provides a label for the arc; the second provides a second label for the arc, and should be used if a transducer is being encoded whose actions are associated with nodes rather than with arcs.