|
|
@@ -0,0 +1,1028 @@
|
|
|
+<?xml version="1.0"?>
|
|
|
+
|
|
|
+<!-- Header this is flattened by Arkadiusz Binder to locally parse data faster -->
|
|
|
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
|
|
|
+ targetNamespace="http://graphml.graphdrawing.org/xmlns"
|
|
|
+ xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:g="http://graphml.graphdrawing.org/xmlns"
|
|
|
+ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
|
+ xmlns:y="http://www.yworks.com/xml/graphml">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> GraphML core language definitions including GraphML attributes and
|
|
|
+ GraphML parseinfo. </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:import namespace="http://www.yworks.com/xml/graphml" schemaLocation="yfeatures.xsd"/>
|
|
|
+ <!--<xs:include schemaLocation="graphml-parseinfo.xsd"/>-->
|
|
|
+ <!-- Redefinition of the elements in the graphml-structure schema -->
|
|
|
+ <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation 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:attributeGroup name="key.extra.attrib">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> Redefinition of file graphml-structure.xsd.
|
|
|
+ <p>Extends the attribute group key.extra.attrib (which takes part in
|
|
|
+ the attribute list of <key>) by adding the attribute yfiles.type which
|
|
|
+ is defined below. </p>
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup ref="key.extra.attrib_Redefined1"/>
|
|
|
+ <xs:attribute name="yfiles.type" type="xs:string" use="optional">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> Custom yfiles specific attribute that allows to
|
|
|
+ specify an additional data type. </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ </xs:attribute>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:attributeGroup name="key.extra.attrib_Redefined1">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
|
|
|
+ Redefinition of file graphml-structure.xsd. Extends the attribute group
|
|
|
+ key.extra.attrib (which takes part in the attribute list of <key>) by adding
|
|
|
+ the attribute group key.attributes.attrib which is defined below.
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup ref="key.extra.attrib_Redefined0"/>
|
|
|
+ <xs:attributeGroup ref="key.attributes.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <!-- Definition of the different grouping types -->
|
|
|
+ <!-- The grouping type is stored as attribute at the node element -->
|
|
|
+ <xs:attributeGroup name="node.extra.attrib">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> Redefinition of file graphml-structure.xsd.
|
|
|
+ <p>Extends the attribute group node.extra.attrib (which takes part
|
|
|
+ in the attribute list of <node>) by adding a yfiles specific attribute
|
|
|
+ for the folder type. </p>
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup ref="node.extra.attrib_Redefined1"/>
|
|
|
+ <xs:attribute name="yfiles.foldertype" type="yfiles.foldertype.type" use="optional">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> The foldertype for group/folder nodes.
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ </xs:attribute>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:attributeGroup name="node.extra.attrib_Redefined1">
|
|
|
+ <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 <graph>) by
|
|
|
+ adding the attribute group graph.parseinfo.attrib which is defined below.
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup ref="node.extra.attrib_Redefined0"/>
|
|
|
+ <xs:attributeGroup ref="node.parseinfo.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:complexType name="data-extension.type">
|
|
|
+ <xs:complexContent mixed="true">
|
|
|
+ <xs:extension base="data-extension.type_Redefined0">
|
|
|
+ <xs:sequence>
|
|
|
+ <xs:any maxOccurs="unbounded" minOccurs="0" processContents="strict"/>
|
|
|
+ </xs:sequence>
|
|
|
+ </xs:extension>
|
|
|
+ </xs:complexContent>
|
|
|
+ </xs:complexType>
|
|
|
+ <xs:complexType mixed="true" name="data-extension.type_Redefined0">
|
|
|
+ <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:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> This
|
|
|
+ document defines the GraphML language including GraphML attributes and GraphML
|
|
|
+ parseinfo. </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup name="key.extra.attrib_Redefined0">
|
|
|
+ <xs:attributeGroup ref="common.extra.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:attributeGroup name="graph.extra.attrib">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
|
|
|
+ Redefinition of file graphml-structure.xsd. Extends the attribute group
|
|
|
+ node.extra.attrib (which takes part in the attribute list of <node>) by adding
|
|
|
+ the attribute group node.parseinfo.attrib which is defined below.
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attributeGroup ref="graph.extra.attrib_Redefined0"/>
|
|
|
+ <xs:attributeGroup ref="graph.parseinfo.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:attributeGroup name="graph.extra.attrib_Redefined0">
|
|
|
+ <xs:attributeGroup ref="common.extra.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:attributeGroup name="node.extra.attrib_Redefined0">
|
|
|
+ <xs:attributeGroup ref="common.extra.attrib"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <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: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="default.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 final="#all" name="data.type">
|
|
|
+ <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 form="unqualified" 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 form="unqualified" 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 final="#all" name="default.type">
|
|
|
+ <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 final="#all" name="key.for.type">
|
|
|
+ <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, graphml, 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:enumeration value="graphml"/>
|
|
|
+ </xs:restriction>
|
|
|
+ </xs:simpleType>
|
|
|
+ <xs:complexType final="#all" name="key.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:element minOccurs="0" ref="default"/>
|
|
|
+ </xs:sequence>
|
|
|
+ <xs:attribute form="unqualified" 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 default="all" form="unqualified" name="for" type="key.for.type">
|
|
|
+ <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 final="#all" name="graphml.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:element maxOccurs="unbounded" minOccurs="0" ref="key"/>
|
|
|
+ <xs:sequence>
|
|
|
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
|
+ <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 final="#all" name="graph.edgedefault.type">
|
|
|
+ <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 final="#all" name="graph.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:choice>
|
|
|
+ <xs:sequence>
|
|
|
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
|
+ <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 form="unqualified" 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 form="unqualified" 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 final="#all" name="node.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:choice>
|
|
|
+ <xs:sequence>
|
|
|
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
|
+ <xs:element ref="data"/>
|
|
|
+ <xs:element ref="port"/>
|
|
|
+ <xs:element ref="graph"/>
|
|
|
+ </xs:choice>
|
|
|
+ </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 form="unqualified" 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 final="#all" name="port.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
|
+ <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 form="unqualified" 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 final="#all" name="edge.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:element maxOccurs="unbounded" minOccurs="0" ref="data"/>
|
|
|
+ <xs:element minOccurs="0" ref="graph"/>
|
|
|
+ </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 form="unqualified" 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 form="unqualified" 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 form="unqualified" 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 form="unqualified" 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 form="unqualified" 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 form="unqualified" 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 final="#all" name="hyperedge.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
|
+ <xs:element ref="data"/>
|
|
|
+ <xs:element ref="endpoint"/>
|
|
|
+ </xs:choice>
|
|
|
+ <xs:element minOccurs="0" ref="graph"/>
|
|
|
+ </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 form="unqualified" 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 final="#all" name="endpoint.type.type">
|
|
|
+ <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 final="#all" name="endpoint.type">
|
|
|
+ <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 minOccurs="0" ref="desc"/>
|
|
|
+ </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 form="unqualified" 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 form="unqualified" 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 form="unqualified" 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 default="undir" form="unqualified" name="type" type="endpoint.type.type">
|
|
|
+ <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 final="#all" name="locator.type">
|
|
|
+ <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 block="#all" name="desc" type="xs:string">
|
|
|
+ <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 block="#all" name="locator" type="locator.type">
|
|
|
+ <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 block="#all" name="data" type="data.type">
|
|
|
+ <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 block="#all" name="key" type="key.type">
|
|
|
+ <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 block="#all" name="default" type="default.type">
|
|
|
+ <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 block="#all" name="graphml" type="graphml.type">
|
|
|
+ <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 block="#all" name="graph" type="graph.type">
|
|
|
+ <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 block="#all" name="node" type="node.type">
|
|
|
+ <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 block="#all" name="port" type="port.type">
|
|
|
+ <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 block="#all" name="edge" type="edge.type">
|
|
|
+ <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 block="#all" name="hyperedge" type="hyperedge.type">
|
|
|
+ <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 block="#all" name="endpoint" type="endpoint.type">
|
|
|
+ <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>
|
|
|
+ <!--types as in graphml-attributes.xsd -->
|
|
|
+ <xs:simpleType final="#all" name="key.name.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation
|
|
|
+ source="http://graphml.graphdrawing.org/(Dokumentation der Attributes Erweiterung; entsprechende Stelle.html)"
|
|
|
+ xml:lang="en"> Simple type for the attr.name attribute of <key>.
|
|
|
+ key.name.type is final, that is, it may not be extended or restricted.
|
|
|
+ key.name.type is a restriction of xs:NMTOKEN Allowed values: (no
|
|
|
+ restriction) </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:restriction base="xs:NMTOKEN"/>
|
|
|
+ </xs:simpleType>
|
|
|
+ <xs:simpleType final="#all" name="key.type.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation
|
|
|
+ source="http://graphml.graphdrawing.org/(Dokumentation der Attributes Erweiterung; entsprechende Stelle.html)"
|
|
|
+ xml:lang="en"> Simple type for the attr.type attribute of <key>.
|
|
|
+ key.type.type is final, that is, it may not be extended or restricted.
|
|
|
+ key.type.type is a restriction of xs:NMTOKEN Allowed values: boolean, int,
|
|
|
+ long, float, double, string, complex. </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:restriction base="xs:NMTOKEN">
|
|
|
+ <xs:enumeration value="boolean"/>
|
|
|
+ <xs:enumeration value="int"/>
|
|
|
+ <xs:enumeration value="long"/>
|
|
|
+ <xs:enumeration value="float"/>
|
|
|
+ <xs:enumeration value="double"/>
|
|
|
+ <xs:enumeration value="string"/>
|
|
|
+ <xs:enumeration value="complex"/>
|
|
|
+ </xs:restriction>
|
|
|
+ </xs:simpleType>
|
|
|
+ <xs:attributeGroup name="key.attributes.attrib">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
|
|
|
+ Definition of the attribute group key.attributes.attrib. This group consists
|
|
|
+ of the two optional attributes - attr.name (gives the name for the data
|
|
|
+ function) - attr.type (declares the range of values for the data function)
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attribute form="unqualified" name="attr.name" type="key.name.type" use="optional"/>
|
|
|
+ <xs:attribute form="unqualified" name="attr.type" type="key.type.type" use="optional"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <!--types as in graphml-parseinfo.xsd -->
|
|
|
+ <xs:simpleType final="#all" name="graph.order.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.order attribute of <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 final="#all" name="graph.nodes.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.nodes attribute of <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 final="#all" name="graph.edges.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.edges attribute of <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 final="#all" name="graph.maxindegree.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.maxindegree attribute of <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 final="#all" name="graph.maxoutdegree.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.maxoutdegree attribute of <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 final="#all" name="graph.nodeids.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.nodeids attribute of <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 final="#all" name="graph.edgeids.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.edgeids attribute of <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: <ul>
|
|
|
+ <li><code>parse.nodeids</code></li> (fixed to 'canonical' meaning that the id
|
|
|
+ attribute of <node> follows the pattern 'n[number]),
|
|
|
+ <li><code>parse.edgeids</code></li> (fixed to 'canonical' meaning that
|
|
|
+ the id attribute of <edge> follows the pattern 'e[number]),
|
|
|
+ <li><code>parse.order</code></li> (required; one of the values
|
|
|
+ 'nodesfirst', 'adjacencylist' or 'free'),
|
|
|
+ <li><code>parse.nodes</code></li> (required; number of nodes in this
|
|
|
+ graph), <li><code>parse.edges</code></li> (required; number of edges in
|
|
|
+ this graph), <li><code>parse.maxindegree</code></li> (optional; maximal
|
|
|
+ indegree of a node in this graph), <li><code>parse.maxoutdegree</code></li>
|
|
|
+ (optional; maximal outdegree of a node in this graph) </ul>
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:attribute form="unqualified" name="parse.nodeids" type="graph.nodeids.type"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.edgeids" type="graph.edgeids.type"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.order" type="graph.order.type"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.nodes" type="graph.nodes.type"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.edges" type="graph.edges.type"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.maxindegree" type="graph.maxindegree.type"
|
|
|
+ use="optional"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.maxoutdegree" type="graph.maxoutdegree.type"
|
|
|
+ use="optional"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <xs:simpleType final="#all" name="node.indegree.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.indegree attribute of <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 final="#all" name="node.outdegree.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
|
|
|
+ type for the parse.outdegree attribute of <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 form="unqualified" name="parse.indegree" type="node.indegree.type"
|
|
|
+ use="optional"/>
|
|
|
+ <xs:attribute form="unqualified" name="parse.outdegree" type="node.outdegree.type"
|
|
|
+ use="optional"/>
|
|
|
+ </xs:attributeGroup>
|
|
|
+ <!-- Type of Grouping -->
|
|
|
+ <xs:simpleType name="yfiles.foldertype.type">
|
|
|
+ <xs:annotation>
|
|
|
+ <xs:documentation> The valid folder types for a folder/group node.
|
|
|
+ <p>Valid values are <ul>
|
|
|
+ <li><b>folder</b>: for folder nodes</li>
|
|
|
+ <li><b>group</b>: for group nodes</li>
|
|
|
+ <li><b>leaf</b>: for leaf nodes (this is the implied value)</li>
|
|
|
+ </ul>
|
|
|
+ </p>
|
|
|
+ </xs:documentation>
|
|
|
+ </xs:annotation>
|
|
|
+ <xs:restriction base="xs:NMTOKEN">
|
|
|
+ <xs:enumeration value="folder"/>
|
|
|
+ <xs:enumeration value="group"/>
|
|
|
+ <xs:enumeration value="leaf"/>
|
|
|
+ </xs:restriction>
|
|
|
+ </xs:simpleType>
|
|
|
+</xs:schema>
|