<?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> |