<node>

<node> (node) encodes a node, a possibly labeled point in a graph. [19.1 Graphs and Digraphs]
Module nets — Graphs, Networks, and Trees
Attributes
type⚓︎ provides a type for a node.
Derived from att.typed
Status Optional
Datatype teidata.enumerated
Suggested values include:
initial
initial node in a transition network
final
final node in a transition network
<graph>
 <node xml:id="gnex11adjTo="#gnex12"
  adj="#gnex13type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex12adjFrom="#gnex11"
  adjTo="#gnex13">

  <label>2</label>
 </node>
 <node xml:id="gnex13adjFrom="#gnex12"
  adj="#gnex11type="final">

  <label>3</label>
 </node>
</graph>
value⚓︎ provides the value of a node, which is a feature structure or other analytic element.
Status Optional
Datatype teidata.pointer
adjTo⚓︎ (adjacent to) gives the identifiers of the nodes which are adjacent to the current node.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
<graph>
 <node xml:id="gnex21adjTo="#gnex22"
  adj="#gnex23type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex22adjTo="#gnex23">
  <label>2</label>
 </node>
 <node xml:id="gnex23type="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 teidata.pointer separated by whitespace
<graph>
 <node xml:id="gnex31type="initial">
  <label>1</label>
 </node>
 <node xml:id="gnex32adjFrom="#gnex31">
  <label>2</label>
 </node>
 <node xml:id="gnex33adjFrom="#gnex32"
  adj="#gnex31type="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 teidata.pointer separated by whitespace
<graph>
 <node xml:id="gnex41"
  adj="#gnex42 #gnex43type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex42"
  adj="#gnex41 #gnex43">

  <label>2</label>
 </node>
 <node xml:id="gnex43"
  adj="#gnex42 #gnex41type="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.

inDegree⚓︎ gives the in degree of the node, the number of nodes which are adjacent from the given node.
Status Optional
Datatype teidata.count
<graph>
 <node xml:id="gnex51adjTo="#gnex52"
  adj="#gnex53inDegree="1type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex52adjFrom="#gnex51"
  adjTo="#gnex53inDegree="2">

  <label>2</label>
 </node>
 <node xml:id="gnex53adjFrom="#gnex52"
  adj="#gnex51inDegree="2type="final">

  <label>3</label>
 </node>
</graph>
outDegree⚓︎ gives the out degree of the node, the number of nodes which are adjacent to the given node.
Status Optional
Datatype teidata.count
<graph>
 <node xml:id="gnex61adjTo="#gnex62"
  adj="#gnex63outDegree="2type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex62adjFrom="#gnex61"
  adjTo="#gnex63outDegree="1">

  <label>2</label>
 </node>
 <node xml:id="gnex63adjFrom="#gnex62"
  adj="#gnex61outDegree="2type="final">

  <label>3</label>
 </node>
</graph>
degree⚓︎ gives the degree of the node, the number of arcs with which the node is incident.
Status Optional
Datatype teidata.count
<graph>
 <node xml:id="gnex71adjTo="#gnex72"
  adj="#gnex73outDegree="1inDegree="0degree="1"
  type="initial">

  <label>1</label>
 </node>
 <node xml:id="gnex72adjFrom="#gnex71"
  adjTo="#gnex73outDegree="1inDegree="1degree="0">

  <label>2</label>
 </node>
 <node xml:id="gnex73adjFrom="#gnex72"
  adj="#gnex71outDegree="0inDegree="1degree="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.

Contained by
nets: graph
May contain
core: label
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.

Example
<node xml:id="t6type="finalinDegree="2"
 outDegree="0">

 <label>6</label>
</node>
Content model
<content>
 <sequence minOccurs="0">
  <elementRef key="label"/>
  <elementRef key="labelminOccurs="0"/>
 </sequence>
</content>
Schema Declaration
<rng:element name="node">
 <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>initial</rng:value>
    <rng:value>final</rng:value>
    <rng:ref name="teidata.enumerated"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="value">
   <rng:ref name="teidata.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adjTo">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adjFrom">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="adj">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="teidata.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="inDegree">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="outDegree">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="degree">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:group>
   <rng:ref name="label"/>
   <rng:optional>
    <rng:ref name="label"/>
   </rng:optional>
  </rng:group>
 </rng:optional>
</rng:element>
element node
{
   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 { "initial" | "final" | teidata.enumerated }?,
   attribute value { teidata.pointer }?,
   attribute adjTo { list { teidata.pointer+ } }?,
   attribute adjFrom { list { teidata.pointer+ } }?,
   attribute adj { list { teidata.pointer+ } }?,
   attribute inDegree { teidata.count }?,
   attribute outDegree { teidata.count }?,
   attribute degree { teidata.count }?,
   ( label, label? )?
}