blob: bcba63b14ef6e89e4f1614e274a8c19afac0a01c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2008 Attensity Europe GmbH and brox IT Solutions GmbH. All rights reserved.
This program and the accompanying materials are made available under the terms of the
Eclipse Public License v1.0 which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors: Juergen Schumacher (Attensity Europe GmbH) - initial design -->
<schema targetNamespace="http://www.eclipse.org/smila/record" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:rec="http://www.eclipse.org/smila/record" elementFormDefault="qualified">
<annotation>
<documentation>http://wiki.eclipse.org/SMILA/Project_Concepts/Data_Model_and_XML_representation
</documentation>
</annotation>
<element name="Record" type="rec:RecordType" />
<element name="RecordList" type="rec:RecordListType" />
<element name="Map" type="rec:MapType" />
<element name="Seq" type="rec:SequenceType" />
<element name="Val" type="rec:ValueType" />
<complexType name="RecordType">
<sequence maxOccurs="1" minOccurs="1">
<group ref="rec:KeyAny" minOccurs="0" maxOccurs="unbounded" />
<element name="Attachment" type="string" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="version" type="string" fixed="2.0" />
</complexType>
<complexType name="RecordListType">
<sequence maxOccurs="1" minOccurs="1">
<element ref="rec:Record" maxOccurs="unbounded" minOccurs="0" />
</sequence>
</complexType>
<complexType name="ValueType">
<simpleContent>
<extension base="string">
<attribute name="type" use="optional" default="string">
<simpleType>
<restriction base="string">
<enumeration value="string" />
<enumeration value="long" />
<enumeration value="double" />
<enumeration value="boolean" />
<enumeration value="date" />
<enumeration value="datetime" />
</restriction>
</simpleType>
</attribute>
</extension>
</simpleContent>
</complexType>
<complexType name="KeyValueType">
<simpleContent>
<extension base="rec:ValueType">
<attribute name="key" use="required" type="string" />
</extension>
</simpleContent>
</complexType>
<complexType name="MapType">
<sequence minOccurs="0" maxOccurs="unbounded">
<group ref="rec:KeyAny" minOccurs="1" maxOccurs="1" />
</sequence>
</complexType>
<complexType name="KeyMapType">
<complexContent>
<extension base="rec:MapType">
<attribute name="key" use="required" type="string" />
</extension>
</complexContent>
</complexType>
<complexType name="SequenceType">
<sequence minOccurs="0" maxOccurs="unbounded">
<group ref="rec:Any" minOccurs="1" maxOccurs="1" />
</sequence>
</complexType>
<complexType name="KeySequenceType">
<complexContent>
<extension base="rec:SequenceType">
<attribute name="key" use="required" type="string" />
</extension>
</complexContent>
</complexType>
<group name="Any">
<choice>
<element name="Val" type="rec:ValueType" minOccurs="1" maxOccurs="1" />
<element name="Map" type="rec:MapType" minOccurs="1" maxOccurs="1" />
<element name="Seq" type="rec:SequenceType" minOccurs="1" maxOccurs="1" />
</choice>
</group>
<group name="KeyAny">
<choice>
<element name="Val" type="rec:KeyValueType" minOccurs="1" maxOccurs="1" />
<element name="Map" type="rec:KeyMapType" minOccurs="1" maxOccurs="1" />
<element name="Seq" type="rec:KeySequenceType" minOccurs="1" maxOccurs="1" />
</choice>
</group>
</schema>