<graph>

<graph> codifica un grafo, cioè una raccolta di nodi e archi che collegano i nodi 19.1 Graphs and Digraphs
Modulonets — 19 Graphs, Networks, and Trees
Attributi
typedescrive il tipo di grafo
Stato Consigliato
Tipo di dati

<rng:ref name="data.enumerated"/>
data.enumerated
I valori suggeriti includono:
undirected
grafo non orientato
directed
grafo orientato
transitionNetwork
grafo orientato con nodi finale e iniziale distinti.
transducer
rete di transizione con un massimo di due etichette per arco
orderdefinisce l'ordine del grafo, cioè il numero dei suoi nodi
Stato Opzionale
Tipo di dati

<rng:ref name="data.count"/>
data.count
Valori A positive integer.
sizedefinisce la dimensione del grafo, cioè il numero dei suoi archi
Stato Opzionale
Tipo di dati

<rng:ref name="data.count"/>
data.count
Valori A non-negative integer.
Usato da
Può contenere
Dichiarazione

<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* )+ )
      )
   )
}
Esempio
<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="laxdegree="2">
  <label>LAX</label>
 </node>
 <node xml:id="lvgdegree="2">
  <label>LVG</label>
 </node>
 <node xml:id="phxdegree="3">
  <label>PHX</label>
 </node>
 <node xml:id="tusdegree="1">
  <label>TUS</label>
 </node>
 <node xml:id="cibdegree="0">
  <label>CIB</label>
 </node>
 <arc from="#laxto="#lvg"/>
 <arc from="#laxto="#phx"/>
 <arc from="#lvgto="#phx"/>
 <arc from="#phxto="#tus"/>
</graph>