diff options
Diffstat (limited to 'ksm-model/xml')
-rw-r--r-- | ksm-model/xml/example-1.xml | 49 | ||||
-rw-r--r-- | ksm-model/xml/ksm-1.xsd | 238 |
2 files changed, 287 insertions, 0 deletions
diff --git a/ksm-model/xml/example-1.xml b/ksm-model/xml/example-1.xml new file mode 100644 index 0000000..d96d87a --- /dev/null +++ b/ksm-model/xml/example-1.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<ksm xmlns="http://hb.dhbw-stuttgart.de/~ksm/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://hb.dhbw-stuttgart.de/~ksm/1.0 ksm-1.0.xsd" + version="1.0"> + <nodegroup id="root"> + <node id="56-7567-567567-657657-567"> + <properties> + <string name="visual.caption">a node</string> + <string name="visual.color">#ffeecc</string> + <decimal name="visual.location.x">420</decimal> + <decimal name="visual.location.y">420</decimal> + <stringList name="meineTolleList"> + <value>TestValue</value> + </stringList> + <decimalList name="nochEine"> + <value>1.2</value> + </decimalList> + </properties> + <connections /> + </node> + + + <nodegroup id="0123123-123123-123123-123213"> + <node id="56-7567-12345-657657-567"> + <properties> + <string name="visual.color">#ffeecc</string> + <decimal name="visual.location.x">420</decimal> + <decimal name="visual.location.y">420</decimal> + </properties> + <connections> + <connection to="56-7567-567567-657657-567"> + <properties> + <string name="visual.caption">A Connection</string> + <string name="visual.color">#ffeecc</string> + <decimal name="data.weight">5</decimal> + </properties> + </connection> + </connections> + </node> + <properties> + <string name="visual.caption">a Hierarchy</string> + <string name="visual.color">#ffeecc</string> + <decimal name="visual.location.x">420</decimal> + <decimal name="visual.location.y">420</decimal> + </properties> + </nodegroup> + <properties /> + </nodegroup> +</ksm> diff --git a/ksm-model/xml/ksm-1.xsd b/ksm-model/xml/ksm-1.xsd new file mode 100644 index 0000000..d0d872b --- /dev/null +++ b/ksm-model/xml/ksm-1.xsd @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ba-horb.de/~ksm/xml/ksm-1" + xmlns:tns="http://www.ba-horb.de/~ksm/xml/ksm-1" elementFormDefault="qualified" + xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0"> + + <!-- Wurzelelement eines KSM Dokument --> + <element name="ksm"> + <complexType> + <annotation> + <appinfo> + <jxb:class name="XKSM" /> + </appinfo> + </annotation> + <sequence> + <element name="nodegroup" type="tns:NODEGROUP_TYPE" + minOccurs="1" maxOccurs="1"> + </element> + <element name="properties" type="tns:PROPERTIES_TYPE" + minOccurs="0" maxOccurs="1"></element> + </sequence> + <attribute name="version" type="string" use="required" /> + </complexType> + </element> + + <complexType name="PROPERTY_BASE_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyBase" /> + </appinfo> + </annotation> + <simpleContent> + <extension base="anySimpleType"> + <attribute name="name" use="required" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PROPERTY_STRING_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyString" /> + </appinfo> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="name" use="required" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PROPERTY_BOOLEAN_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyBoolean" /> + </appinfo> + </annotation> + <simpleContent> + <extension base="boolean"> + <attribute name="name" use="required" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PROPERTY_DECIMAL_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyDecimal" /> + </appinfo> + </annotation> + <simpleContent> + <extension base="decimal"> + <attribute name="name" use="required" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PROPERTY_INTEGER_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyInteger" /> + </appinfo> + </annotation> + <simpleContent> + <extension base="integer"> + <attribute name="name" use="required" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PROPERTY_LIST_BASE_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyBaseList" /> + </appinfo> + </annotation> + <sequence> + </sequence> + <attribute name="name" use="required"></attribute> + </complexType> + + <complexType name="PROPERTY_STRING_LIST_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyStringList" /> + </appinfo> + </annotation> + <complexContent> + <extension base="tns:PROPERTY_LIST_BASE_TYPE"> + <sequence> + <element name="value" type="string" minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <complexType name="PROPERTY_DECIMAL_LIST_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyDecimalList" /> + </appinfo> + </annotation> + <complexContent> + <extension base="tns:PROPERTY_LIST_BASE_TYPE"> + <sequence> + <element name="value" type="decimal" minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="PROPERTY_INTEGER_LIST_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XPropertyIntegerList" /> + </appinfo> + </annotation> + <complexContent> + <extension base="tns:PROPERTY_LIST_BASE_TYPE"> + <sequence> + <element name="value" type="integer" minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <!-- EinelListe von Eigenschaften --> + <complexType name="PROPERTIES_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XProperties" /> + </appinfo> + </annotation> + <sequence> + <element name="string" type="tns:PROPERTY_STRING_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="decimal" type="tns:PROPERTY_DECIMAL_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="integer" type="tns:PROPERTY_INTEGER_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="boolean" type="tns:PROPERTY_BOOLEAN_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="stringList" type="tns:PROPERTY_STRING_LIST_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="decimalList" type="tns:PROPERTY_DECIMAL_LIST_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + <element name="integerList" type="tns:PROPERTY_INTEGER_LIST_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + </sequence> + </complexType> + + <!-- KSM Node (Knoten), hat Eigenschaften, hat Verbindungen zu anderen Knoten --> + <complexType name="NODE_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XNode" /> + </appinfo> + </annotation> + <sequence> + <element name="properties" type="tns:PROPERTIES_TYPE" + minOccurs="1" maxOccurs="1" /> + <element name="connections" type="tns:CONNECTIONS_TYPE" + minOccurs="0" maxOccurs="1" /> + </sequence> + <attribute name="id" type="tns:NODE_ID_TYPE" use="required" /> + </complexType> + + <!-- Eine NodeGroup fasst mehrere Knoten zusammen, auch bekannt als Hirachien --> + <complexType name="NODEGROUP_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XNodeGroup" /> + </appinfo> + </annotation> + <sequence> + <element name="node" type="tns:NODE_TYPE" minOccurs="0" + maxOccurs="unbounded" /> + <element name="nodegroup" type="tns:NODEGROUP_TYPE" + minOccurs="0" maxOccurs="unbounded"></element> + <element name="properties" type="tns:PROPERTIES_TYPE" + minOccurs="1" maxOccurs="1" /> + </sequence> + <attribute name="id" type="tns:NODE_ID_TYPE" use="required" /> + </complexType> + + <!-- Connections. Eine Node eine beliebige Anzahl gerichteter Verbindungen + zu einer anderen Node haben --> + <complexType name="CONNECTIONS_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XConnections" /> + </appinfo> + </annotation> + <sequence> + <element name="connection" type="tns:CONNECTION_TYPE" + minOccurs="0" maxOccurs="unbounded" /> + </sequence> + </complexType> + + <!-- Eine gerichtete Verbindung zu einer anderen Node. --> + <complexType name="CONNECTION_TYPE"> + <annotation> + <appinfo> + <jxb:class name="XConnection" /> + </appinfo> + </annotation> + <sequence> + <element name="properties" type="tns:PROPERTIES_TYPE" + minOccurs="1" maxOccurs="1" /> + </sequence> + <attribute name="to" type="tns:NODE_ID_TYPE" /> + </complexType> + + <simpleType name="NODE_ID_TYPE"> + <restriction base="string"></restriction> + </simpleType> +</schema>
\ No newline at end of file |