| <?xml version="1.0" encoding="utf-16"?>
<xs:element name="graphml" type="graphml.type" block="#all">
    <xs:annotation>
        <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
           Description: <graphml> is the root element of each GraphML 
                      document.
           Occurence: root. 
      </xs:documentation>
    </xs:annotation>
    <xs:unique name="graphml_data_key_unique">
        <xs:annotation>
            <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
        Ensures: uniqueness of the key attributes of <data> children
                 of this <graphml> element.
      </xs:documentation>
        </xs:annotation>
        <xs:selector xpath="./g:data" />
        <xs:field xpath="@key" />
    </xs:unique>
    <xs:key name="key_id_key">
        <xs:annotation>
            <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
        Ensures: existence and uniqueness of the id attributes of 
                 each <key> element in this document.
      </xs:documentation>
        </xs:annotation>
        <xs:selector xpath=".//g:key" />
        <xs:field xpath="@id" />
    </xs:key>
    <xs:unique name="graph_id_unique">
        <xs:annotation>
            <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
        Ensures: uniqueness of the id attributes of 
                 each <graph> element in this document.
      </xs:documentation>
        </xs:annotation>
        <xs:selector xpath=".//g:graph" />
        <xs:field xpath="@id" />
    </xs:unique>
    <xs:keyref name="data_key_ref" refer="key_id_key">
        <xs:annotation>
            <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
        Ensures: for the key attribute of each <data> in this document, 
                 the existence of an id attribute of 
                 <key> which matches the value of it. 
      </xs:documentation>
        </xs:annotation>
        <xs:selector xpath=".//g:data" />
        <xs:field xpath="@key" />
    </xs:keyref>
</xs:element>
 |