зеркало из https://github.com/stride3d/QuickGraph.git
1115 строки
36 KiB
XML
1115 строки
36 KiB
XML
|
<?xml version="1.0"?>
|
||
|
|
||
|
<xs:schema
|
||
|
targetNamespace="http://graphml.graphdrawing.org/xmlns"
|
||
|
|
||
|
xmlns="http://graphml.graphdrawing.org/xmlns"
|
||
|
xmlns:g="http://graphml.graphdrawing.org/xmlns"
|
||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||
|
|
||
|
elementFormDefault="qualified"
|
||
|
attributeFormDefault="unqualified"
|
||
|
>
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
The schema corresponding to this document defines the structural
|
||
|
layer of the Graph Markup Language (GraphML).
|
||
|
Although a DTD is provided, this schema is, together with its extensions
|
||
|
http://graphml.graphdrawing.org/xmlns/1.0/graphml-attributes.xsd
|
||
|
and
|
||
|
http://graphml.graphdrawing.org/xmlns/1.0/graphml-parseinfo.xsd,
|
||
|
the only normative reference.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:import namespace="http://www.w3.org/1999/xlink"
|
||
|
schemaLocation="http://graphml.graphdrawing.org/xmlns/1.0/xlink.xsd">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="???"
|
||
|
xml:lang="en">
|
||
|
Get access to the xlink attribute groups for the attributes
|
||
|
xlink:href and xlink:type of locator.type.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:import>
|
||
|
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
The attribute groups <element_name>.extra.attrib may be used
|
||
|
for adding user defined attributes to the elements
|
||
|
<element_name>.
|
||
|
The attribute group common.extra.attrib may be used for adding
|
||
|
user defined attributes to all elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
|
||
|
<xs:attributeGroup name="common.extra.attrib"/>
|
||
|
|
||
|
|
||
|
<xs:attributeGroup name="graphml.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="data.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="key.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="default.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="graph.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="node.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="edge.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="port.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="hyperedge.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="endpoint.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
<xs:attributeGroup name="locator.extra.attrib">
|
||
|
<xs:attributeGroup ref="common.extra.attrib"/>
|
||
|
</xs:attributeGroup>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type definitions for the GraphML structural layer elements:
|
||
|
<data>, <default>, <key>, <graphml>, <graph>,
|
||
|
<node>, <port>,
|
||
|
<edge>, <hyperedge>, <endpoint> and <locator>.
|
||
|
The names of the complex types are constructed corresponding
|
||
|
to the pattern element_name.type.
|
||
|
(The only remaining GraphML structural layer element
|
||
|
<desc> is of simple type xs:string.)
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
|
||
|
<xs:complexType name="data-extension.type" mixed="true">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Extension mechanism for the content of <data> and <default>.
|
||
|
The complex type data-extension.type is empty per default.
|
||
|
Users may redefine this type in order to add content to
|
||
|
the complex types data.type and default.type which are
|
||
|
extensions of data-extension.type.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="data.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <data> element.
|
||
|
data.type is mixed, that is, <data> may contain #PCDATA.
|
||
|
Content type: extension of data-extension.type which is empty
|
||
|
per default.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:complexContent mixed="true">
|
||
|
<xs:extension base="data-extension.type">
|
||
|
<xs:attribute name="key" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">refers to the id attribute of a <key>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" use="optional">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">identifies this <data>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attributeGroup ref="data.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <data> elements
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
</xs:extension>
|
||
|
</xs:complexContent>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="default.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <default> element.
|
||
|
default.type is mixed, that is, data may contain #PCDATA.
|
||
|
Content type: extension of data-extension.type which is empty
|
||
|
per default.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:complexContent mixed="true">
|
||
|
<xs:extension base="data-extension.type">
|
||
|
<xs:attributeGroup ref="default.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <default> elements
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
</xs:extension>
|
||
|
</xs:complexContent>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
|
||
|
<xs:simpleType name="key.for.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Simple type for the for attribute of <key>.
|
||
|
key.for.type is a restriction of xs:NMTOKEN
|
||
|
Allowed values: all, graph, node, edge, hyperedge, port and endpoint.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:restriction base="xs:NMTOKEN">
|
||
|
<xs:enumeration value="all"/>
|
||
|
<xs:enumeration value="graph"/>
|
||
|
<xs:enumeration value="node"/>
|
||
|
<xs:enumeration value="edge"/>
|
||
|
<xs:enumeration value="hyperedge"/>
|
||
|
<xs:enumeration value="port"/>
|
||
|
<xs:enumeration value="endpoint"/>
|
||
|
</xs:restriction>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="key.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <key> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0"/>
|
||
|
<xs:element ref="default" minOccurs="0"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">identifies this <key>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="for" type="key.for.type" default="all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
describes the domain of definition for
|
||
|
the corresponding graph attribute.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attributeGroup ref="key.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <key> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="graphml.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <graphml> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0"/>
|
||
|
<xs:element ref="key" minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<xs:sequence>
|
||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||
|
<xs:element ref="graph"/>
|
||
|
<xs:element ref="data"/>
|
||
|
</xs:choice>
|
||
|
</xs:sequence>
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="graphml.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <graphml> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:simpleType name="graph.edgedefault.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Simple type for the edgedefault attribute of <graph>.
|
||
|
graph.edgedefault.type is a restriction of xs:NMTOKEN
|
||
|
Allowed values: directed, undirected.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:restriction base="xs:NMTOKEN">
|
||
|
<xs:enumeration value="directed"/>
|
||
|
<xs:enumeration value="undirected"/>
|
||
|
</xs:restriction>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="graph.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <graph> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0"/>
|
||
|
<xs:choice>
|
||
|
<xs:sequence>
|
||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||
|
<xs:element ref="data"/>
|
||
|
<xs:element ref="node"/>
|
||
|
<xs:element ref="edge"/>
|
||
|
<xs:element ref="hyperedge"/>
|
||
|
</xs:choice>
|
||
|
</xs:sequence>
|
||
|
<xs:element ref="locator"/>
|
||
|
</xs:choice>
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="graph.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <graph> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" >
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this graph .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="edgedefault"
|
||
|
type="graph.edgedefault.type" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
describes whether edges of this graph are considered
|
||
|
as directed or undirected per default (unless
|
||
|
specified by the attribute directed of <edge>).
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
|
||
|
<xs:complexType name="node.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <node> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0"/>
|
||
|
<xs:choice>
|
||
|
<xs:sequence>
|
||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||
|
<xs:element ref="data"/>
|
||
|
<xs:element ref="port"/>
|
||
|
</xs:choice>
|
||
|
<xs:element ref="graph" minOccurs="0"/>
|
||
|
</xs:sequence>
|
||
|
<xs:element ref="locator"/>
|
||
|
</xs:choice>
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="node.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <node elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this node.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
|
||
|
<xs:complexType name="port.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <port> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0" />
|
||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||
|
<xs:element ref="data" />
|
||
|
<xs:element ref="port" />
|
||
|
</xs:choice>
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="port.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <port> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this port, within the node it is contained in.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
|
||
|
<xs:complexType name="edge.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <edge> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0"/>
|
||
|
<xs:element ref="data" minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<xs:element ref="graph" minOccurs="0"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="edge.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <edge> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" >
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this edge .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="directed" type="xs:boolean">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
overwrites the edgedefault attribute of <graph> .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="source" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the id attribute of the source <node>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="target" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the id attribute of the target <node>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="sourceport" type="xs:NMTOKEN">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the name attribute of the source <port>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="targetport" type="xs:NMTOKEN">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the name attribute of the target <port>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="hyperedge.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <hyperedge> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0" />
|
||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||
|
<xs:element ref="data" />
|
||
|
<xs:element ref="endpoint" />
|
||
|
</xs:choice>
|
||
|
<xs:element ref="graph" minOccurs="0" />
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="hyperedge.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <hyperedge> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN" >
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this <hyperedge> .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:simpleType name="endpoint.type.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Simple type for the type attribute of <endpoint>.
|
||
|
endpoint.type.type is a restriction of xs:NMTOKEN
|
||
|
Allowed values: in, out, undir.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:restriction base="xs:NMTOKEN">
|
||
|
<xs:enumeration value="in"/>
|
||
|
<xs:enumeration value="out"/>
|
||
|
<xs:enumeration value="undir"/>
|
||
|
</xs:restriction>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
<xs:complexType name="endpoint.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <endpoint> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref="desc" minOccurs="0" />
|
||
|
</xs:sequence>
|
||
|
<xs:attributeGroup ref="endpoint.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <endpoint> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute name="id" type="xs:NMTOKEN">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
identifies this <endpoint> .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="port" type="xs:NMTOKEN" >
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the name of the port, to which this endpoint is
|
||
|
connected .
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="node" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the id of the node, to which this endpoint is connected.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="type" type="endpoint.type.type" default="undir">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
defines the direction on this endpoint (undirected per default).
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
|
||
|
<xs:complexType name="locator.type" final="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Complex type for the <locator> element.
|
||
|
Content type: (empty)
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:attributeGroup ref="locator.extra.attrib">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
user defined extra attributes for <locator> elements.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attributeGroup>
|
||
|
<xs:attribute ref="xlink:href" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
points to the resource of this locator.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<!-- xs:attribute ref="xlink:type" fixed="simple"-->
|
||
|
<xs:attribute ref="xlink:type">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
type of the hyperlink (fixed as simple).
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<!--========================================================-->
|
||
|
|
||
|
<xs:element name="desc" type="xs:string" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Provides human-readable descriptions for the GraphML
|
||
|
element containing this <desc> as its first child.
|
||
|
Occurence: <key>, <graphml>, <graph>,
|
||
|
<node>, <port>, <edge>, <hyperedge>, and
|
||
|
<endpoint>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="locator" type="locator.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Graphs and nodes are declared by the elements
|
||
|
<graph> and <node>, respectively. The optional
|
||
|
<locator>-child of these elements point to
|
||
|
their definition. (If there is no <locator>-child
|
||
|
the graphs/nodes are defined by their content).
|
||
|
Occurence: <graph>, and <node>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
|
||
|
<xs:element name="data" type="data.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: In GraphML there may be data-functions attached
|
||
|
to graphs, nodes, ports, edges, hyperedges and
|
||
|
endpoint and to the whole collection of
|
||
|
graphs described by the content of <graphml>.
|
||
|
These functions are declared by <key> elements
|
||
|
(children of <graphml>) and defined by <data>
|
||
|
elements.
|
||
|
Occurence: <graphml>, <graph>, <node>, <port>,
|
||
|
<edge>, <hyperedge>, and <endpoint>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:unique name="data_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 <data> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="key" type="key.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: In GraphML there may be data-functions attached
|
||
|
to graphs, nodes, ports, edges, hyperedges and
|
||
|
endpoint and to the whole collection of
|
||
|
graphs described by the content of <graphml>.
|
||
|
These functions are declared by <key> elements
|
||
|
(children of <graphml>) and defined by <data>
|
||
|
elements.
|
||
|
Occurence: <graphml>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
|
||
|
<xs:element name="default" type="default.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: In GraphML there may be data-functions attached
|
||
|
to graphs, nodes, ports, edges, hyperedges and
|
||
|
endpoint and to the whole collection of
|
||
|
graphs described by the content of <graphml>.
|
||
|
These functions are declared by <key> elements
|
||
|
(children of <graphml>) and defined by <data>
|
||
|
elements.
|
||
|
The (optional) <default> child of <key> gives
|
||
|
the default value for the corresponding function.
|
||
|
Occurence: <key>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
|
||
|
<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>
|
||
|
|
||
|
|
||
|
|
||
|
<xs:element name="graph" type="graph.type" block="#all">
|
||
|
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Describes one graph in this document.
|
||
|
Occurence: <graphml>, <node>, <edge>, <hyperedge>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:unique name="graph_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 <graph> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
<xs:key name="node_id_key">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: existence and uniqueness of the id attributes of
|
||
|
each <node> element in this graph.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:node"/>
|
||
|
<xs:field xpath="@id"/>
|
||
|
</xs:key>
|
||
|
|
||
|
<xs:unique name="edge_id_unique">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: uniqueness of the id attributes of
|
||
|
each <edge> element in this graph.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:edge"/>
|
||
|
<xs:field xpath="@id"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
<xs:unique name="hyperedge_id_unique">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: uniqueness of the id attributes of
|
||
|
each <hyperedge> element in this graph.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:hyperedge"/>
|
||
|
<xs:field xpath="@id"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
<xs:unique name="endpoint_id_unique">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: uniqueness of the id attributes of
|
||
|
each <endpoint> element in this graph.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:endpoint"/>
|
||
|
<xs:field xpath="@id"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
<xs:keyref name="edge_source_ref" refer="node_id_key">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: for the source attribute of each <edge> in this graph,
|
||
|
the existence of an id attribute of
|
||
|
<node> which matches the value of it.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:edge"/>
|
||
|
<xs:field xpath="@source"/>
|
||
|
</xs:keyref>
|
||
|
|
||
|
<xs:keyref name="edge_target_ref" refer="node_id_key">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: for the target attribute of each <edge> in this graph,
|
||
|
the existence of an id attribute of
|
||
|
<node> which matches the value of it.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:edge"/>
|
||
|
<xs:field xpath="@target"/>
|
||
|
</xs:keyref>
|
||
|
|
||
|
<xs:keyref name="endpoint_node_ref" refer="node_id_key">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: for the node attribute of each <endpoint> in this graph,
|
||
|
the existence of an id attribute of
|
||
|
<node> which matches the value of it.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:endpoint"/>
|
||
|
<xs:field xpath="@node"/>
|
||
|
</xs:keyref>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="node" type="node.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Describes one node in the <graph>
|
||
|
containing this <node>.
|
||
|
Occurence: <graph>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:key name="port_name_key">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Ensures: existence and uniqueness of the name attributes of
|
||
|
each <port> element within this <node>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath=".//g:port"/>
|
||
|
<xs:field xpath="@name"/>
|
||
|
</xs:key>
|
||
|
|
||
|
<xs:unique name="node_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 <node> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="port" type="port.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Nodes may be structured by ports; thus edges
|
||
|
are not only attached to a node but to a certain
|
||
|
port in this node.
|
||
|
Occurence: <node>, <port>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:unique name="port_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 <port> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="edge" type="edge.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: Describes an edge in the <graph> which contains this
|
||
|
<edge>.
|
||
|
Occurence: <graph>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:unique name="edge_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 <edge> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="hyperedge" type="hyperedge.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: While edges describe relations between two nodes,
|
||
|
a hyperedge describes a relation between an arbitrary
|
||
|
number of nodes.
|
||
|
Occurence: <graph>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
|
||
|
<xs:unique name="hyperedge_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 <hyperedge> element.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:selector xpath="./g:data"/>
|
||
|
<xs:field xpath="@key"/>
|
||
|
</xs:unique>
|
||
|
|
||
|
</xs:element>
|
||
|
|
||
|
|
||
|
<xs:element name="endpoint" type="endpoint.type" block="#all">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation
|
||
|
source="http://graphml.graphdrawing.org/"
|
||
|
xml:lang="en">
|
||
|
Description: The list of <endpoints> within a hyperedge
|
||
|
points to the nodes contained in this hyperedge.
|
||
|
Occurence: <hyperedge>.
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
|
||
|
</xs:schema>
|
||
|
|
||
|
<!--======================================================-->
|
||
|
<!-- end of file: graphml-structure.xsd -->
|
||
|
<!--======================================================-->
|