<graph>

<graph> codifica un gráfico, es decir un conjunto de nodos y arcos que conectan los nodos. 19.1 Graphs and Digraphs
Módulo nets — 19 Graphs, Networks, and Trees
Además de los atributos globales
type describe el tipo de gráfico
Estado Recomendado
Tipo de datos

<rng:ref name="data.enumerated"/>
data.enumerated
Los valores sugeridos incluyen:
undirected
gráfico no-dirigido
directed
gráfico dirigido
transitionNetwork
un gráfico dirigido con los nodos iniciales y finales distinguidos
transducer
una red de transición con hasta dos escrituras de la etiqueta en cada arco
order define el orden del gráfico, es decir, el número de sus nodos.
Estado Opcional
Tipo de datos

<rng:ref name="data.count"/>
data.count
Valores A positive integer.
size define la dimensión del gráfico, es decir, el número de sus arcos.
Estado Opcional
Tipo de datos

<rng:ref name="data.count"/>
data.count
Valores A non-negative integer.
Usado por
Puede contener
Declaración

<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* )+ )
      )
   )
}
Ejemplo
<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>