Schema Name: graphml-parseinfo.xsd
Target Namespace: http://graphml.graphdrawing.org/xmlns
Documentation:
This document defines the parseinfo extension of the GraphML language. It redefines the attribut list of <graph> by adding 7 new attributes: - parse.nodeids (fixed to 'canonical' meaning that the id attribute of <node> follows the pattern 'n[number]), - parse.edgeids (fixed to 'canonical' meaning that the id attribute of <edge> follows the pattern 'e[number]), - parse.order (required; one of the values 'nodesfirst', 'adjacencylist' or 'free'), - parse.nodes (required; number of nodes in this graph), - parse.edges (required; number of edges in this graph), - parse.maxindegree (optional; maximal indegree of a node in this graph), - parse.maxoutdegree (optional; maximal outdegree of a node in this graph). and it redefines the attribute list of node by adding 2 new attributes: - parse.indegree (optional; indegree of this node), - parse.outdegree (optional; outdegree of this node).
Simple type definitions for the new graph attributes.
Simple type definitions for the new node attributes.
Collapse XSD Schema Code:


<xs:schema   
             targetNamespace="http://graphml.graphdrawing.org/xmlns"

             xmlns="http://graphml.graphdrawing.org/xmlns"
             xmlns:xs="http://www.w3.org/2001/XMLSchema"

             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
>

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
     This document defines the parseinfo extension of the GraphML language.
     It redefines the attribut list of &lt;graph> by adding 7 new 
     attributes:
     - parse.nodeids (fixed to 'canonical' meaning that the id attribute
                      of &lt;node> follows the pattern 'n[number]),
     - parse.edgeids (fixed to 'canonical' meaning that the id attribute
                      of &lt;edge> follows the pattern 'e[number]),
     - parse.order (required; one of the values 'nodesfirst', 
                    'adjacencylist' or 'free'),
     - parse.nodes (required; number of nodes in this graph), 
     - parse.edges (required; number of edges in this graph), 
     - parse.maxindegree (optional; maximal indegree of a node in this graph),
     - parse.maxoutdegree (optional; maximal outdegree of a node in this graph).
     and it redefines the attribute list of node by adding 2 new attributes:
     - parse.indegree (optional; indegree of this node),
     - parse.outdegree (optional; outdegree of this node).

    </xs:documentation>
  </xs:annotation>


<xs:redefine schemaLocation="graphml-structure.xsd">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
     Redefinition of file graphml-structure.xsd.
     Extends the attribute group graph.extra.attrib (which takes
     part in the attribute list of &lt;graph>) by adding the
     attribute group graph.parseinfo.attrib which is defined below.
     Extends the attribute group node.extra.attrib (which takes
     part in the attribute list of &lt;node>) by adding the
     attribute group node.parseinfo.attrib which is defined below.
    </xs:documentation>
  </xs:annotation>

  <xs:attributeGroup name="graph.extra.attrib">
    <xs:attributeGroup ref="graph.extra.attrib"/>
    <xs:attributeGroup ref="graph.parseinfo.attrib"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="node.extra.attrib">
    <xs:attributeGroup ref="node.extra.attrib"/>
    <xs:attributeGroup ref="node.parseinfo.attrib"/>
  </xs:attributeGroup>

</xs:redefine>


  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
       Simple type definitions for the new graph attributes.
    </xs:documentation>
  </xs:annotation>

<xs:simpleType name="graph.order.type"  final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.order attribute of &lt;graph>.
      graph.order.type is final, that is, it may not be extended
                          or restricted.
      graph.order.type is a restriction of xs:NMTOKEN
      Allowed values: free, nodesfirst, adjacencylist.
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:NMTOKEN">
    <xs:enumeration value="free"/>
    <xs:enumeration value="nodesfirst"/>
    <xs:enumeration value="adjacencylist"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="graph.nodes.type"  final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.nodes attribute of &lt;graph>.
      graph.nodes.type is final, that is, it may not be extended
                          or restricted.
      graph.nodes.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:simpleType name="graph.edges.type" final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.edges attribute of &lt;graph>.
      graph.edges.type is final, that is, it may not be extended
                          or restricted.
      graph.edges.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:simpleType name="graph.maxindegree.type" final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.maxindegree attribute of &lt;graph>.
      graph.maxindegree.type is final, that is, it may not be extended
                          or restricted.
      graph.maxindegree.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:simpleType name="graph.maxoutdegree.type" final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.maxoutdegree attribute of &lt;graph>.
      graph.maxoutdegree.type is final, that is, it may not be extended
                          or restricted.
      graph.maxoutdegree.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:simpleType name="graph.nodeids.type"  final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.nodeids attribute of &lt;graph>.
      graph.nodeids.type is final, that is, it may not be extended
                          or restricted.
      graph.nodeids.type is a restriction of xs:string
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:NMTOKEN">
    <xs:enumeration value="canonical"/>
    <xs:enumeration value="free"/>
  </xs:restriction>  
</xs:simpleType>

<xs:simpleType name="graph.edgeids.type"  final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.edgeids attribute of &lt;graph>.
      graph.edgeids.type is final, that is, it may not be extended
                          or restricted.
      graph.edgeids.type is a restriction of xs:string
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:NMTOKEN">
    <xs:enumeration value="canonical"/>
    <xs:enumeration value="free"/>
  </xs:restriction>  
</xs:simpleType>

<xs:attributeGroup name="graph.parseinfo.attrib">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
     Definition of the attribute group graph.parseinfo.attrib.
     This group consists of the seven attributes
     - parse.nodeids (fixed to 'canonical' meaning that the id attribute
                      of &lt;node> follows the pattern 'n[number]),
     - parse.edgeids (fixed to 'canonical' meaning that the id attribute
                      of &lt;edge> follows the pattern 'e[number]),
     - parse.order (required; one of the values 'nodesfirst', 
                    'adjacencylist' or 'free'),
     - parse.nodes (required; number of nodes in this graph), 
     - parse.edges (required; number of edges in this graph), 
     - parse.maxindegree (optional; maximal indegree of a node in this graph),
     - parse.maxoutdegree (optional; maximal outdegree of a node in this graph)
    </xs:documentation>
  </xs:annotation>

  <xs:attribute name="parse.nodeids" type="graph.nodeids.type"/>
  <xs:attribute name="parse.edgeids" type="graph.edgeids.type"/>
  <xs:attribute name="parse.order" type="graph.order.type"/>
  <xs:attribute name="parse.nodes" type="graph.nodes.type"/>
  <xs:attribute name="parse.edges" type="graph.edges.type"/>
  <xs:attribute name="parse.maxindegree" type="graph.maxindegree.type" use="optional"/>
  <xs:attribute name="parse.maxoutdegree" type="graph.maxoutdegree.type" use="optional"/>
</xs:attributeGroup>



  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
       Simple type definitions for the new node attributes.
    </xs:documentation>
  </xs:annotation>

<xs:simpleType name="node.indegree.type" final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.indegree attribute of &lt;node>.
      node.indegree.type is final, that is, it may not be extended
                          or restricted.
      node.indegree.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:simpleType name="node.outdegree.type" final="#all">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
      Simple type for the parse.outdegree attribute of &lt;node>.
      node.outdegree.type is final, that is, it may not be extended
                          or restricted.
      node.outdegree.type is a restriction of xs:nonNegativeInteger
      Allowed values: (no restriction).
    </xs:documentation>
  </xs:annotation>

  <xs:restriction base="xs:nonNegativeInteger"/>  
</xs:simpleType>

<xs:attributeGroup name="node.parseinfo.attrib">

  <xs:annotation>
    <xs:documentation 
        source="http://graphml.graphdrawing.org/"
        xml:lang="en">
     Definition of the attribute group node.parseinfo.attrib.
     This group consists of two attributes
     - parse.indegree (optional; indegree of this node),
     - parse.outdegree (optional; outdegree of this node).
    </xs:documentation>
  </xs:annotation>

  <xs:attribute name="parse.indegree" type="node.indegree.type" use="optional"/>
  <xs:attribute name="parse.outdegree" type="node.outdegree.type" use="optional"/>
</xs:attributeGroup>

</xs:schema>

<!--======================================================-->
<!--      end of file: graphml-parseinfo.xsd             -->
<!--======================================================-->
Collapse AttributeGroups:
Collapse SimpleTypes: