summaryrefslogtreecommitdiff
path: root/ksm-model/xml
diff options
context:
space:
mode:
Diffstat (limited to 'ksm-model/xml')
-rw-r--r--ksm-model/xml/example-1.xml49
-rw-r--r--ksm-model/xml/ksm-1.xsd238
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