<graph>

<graph> (graphe) encode un graphe, c'est-à-dire un ensemble constitué de noeuds et des arcs qui les relient entre eux. 19.1 Graphs and Digraphs
Modulenets — 19 Graphs, Networks, and Trees
Attributs
typedécrit le type d'un graphe.
Statut Recommendé
Type de données

<rng:ref name="data.enumerated"/>
data.enumerated
Les valeurs suggérées comprennent:
undirected
graphe non orienté.
directed
graphe orienté.
transitionNetwork
un graphe orienté avec un noeud initial et un noeud terminal bien distincts.
transducer
un réseau de transition avec jusqu'à deux étiquettes par arc.
orderétablit l'ordre du graphe, c'est-à-dire le nombre de ses noeuds.
Statut Optionel
Type de données

<rng:ref name="data.count"/>
data.count
Valeurs A positive integer.
sizeétablit la taille du graphe, c'est-à-dire le nombre de ses arcs.
Statut Optionel
Type de données

<rng:ref name="data.count"/>
data.count
Valeurs A non-negative integer.
Utilisé par model.divPart
Peut contenir
Declaration

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