blob: 89e13d6a5bfc762f4fdfd78622dfc6576574c363 [file] [log] [blame]
<?xml version="1.0"?>
<!-- Header -->
<xs:schema
targetNamespace="http://graphml.graphdrawing.org/xmlns/graphml"
xmlns="http://graphml.graphdrawing.org/xmlns/graphml"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
>
<!-- Redefinition of the elements in the graphml-structure schema -->
<xs:redefine schemaLocation="ComplexRedefine3_2.xsd">
<xs:attributeGroup name="key.extra.attrib">
<xs:attributeGroup ref="key.extra.attrib"/>
<xs:attribute name="yfiles.type" type="xs:string" use="optional"/>
</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:attributeGroup ref="node.extra.attrib"/>
<xs:attribute name="yfiles.foldertype" type="yfiles.foldertype.type" use="optional"/>
</xs:attributeGroup>
<!-- Definition of the different node and edge types -->
<xs:complexType name="data-extension.type">
<xs:complexContent mixed="true">
<xs:extension base="data-extension.type">
<xs:choice minOccurs="0" maxOccurs="1"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
<!-- Type of Grouping -->
<xs:simpleType name="yfiles.foldertype.type">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="folder"/>
<xs:enumeration value="group"/>
<xs:enumeration value="leaf"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>