<graph>

<graph> (graph) 노드와 이 노드를 연결하는 호로 구성된 그래프를 부호화한다. [20.1 Graphs and Digraphs]
모듈 nets — Graphs, Networks, and Trees
속성
type⚓︎ 그래프의 유형을 기술한다.
Derived from att.typed
상태 권고적
자료 유형 teidata.enumerated
order⚓︎ 그래프의 순서를 진술한다. 즉, 그래프 노드의 번호.
상태 수의적
자료 유형 teidata.count
size⚓︎ 그래프의 크기를 진술한다. 즉, 그래프 호의 수.
상태 수의적
자료 유형 teidata.count
클럽 회원
에 의해 포함된
포함할 수 있다
주석

One or more nodes and zero or more arcs in any order.

<graph xml:id="cug1type="undirected"
 order="5size="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>
Content model
<content>
 <sequence>
  <sequence minOccurs="0">
   <elementRef key="label"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
  <alternate>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="0"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="arc"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="node"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
  </alternate>
 </sequence>
</content>
선언
<rng:element name="graph">
 <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:ref name="teidata.enumerated"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="order">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="size">
   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:group>
   <rng:optional>
    <rng:ref name="label"/>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:optional>
  </rng:group>
  <rng:choice>
   <rng:group>
    <rng:group>
     <rng:oneOrMore>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:oneOrMore>
    </rng:group>
    <rng:group>
     <rng:zeroOrMore>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:zeroOrMore>
    </rng:group>
   </rng:group>
   <rng:group>
    <rng:group>
     <rng:oneOrMore>
      <rng:ref name="arc"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:oneOrMore>
    </rng:group>
    <rng:group>
     <rng:oneOrMore>
      <rng:ref name="node"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:oneOrMore>
    </rng:group>
   </rng:group>
  </rng:choice>
 </rng:group>
</rng:element>
element graph
{
   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 { teidata.enumerated }?,
   attribute order { teidata.count }?,
   attribute size { teidata.count }?,
   (
      ( ( label, model.global* )? ),
      (
         ( ( ( node, model.global* )+ ), ( ( arc, model.global* )* ) )
       | ( ( ( arc, model.global* )+ ), ( ( node, model.global* )+ ) )
      )
   )
}