<?xml version="1.0" encoding="UTF-8"?> <!-- Written by hand using Emacs by Anders Nilsson <anders.nilsson@cs.lth.se> --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0.1"> <xs:annotation> <xs:appinfo> XML Schema for the form markup language developed by Pierre Nugues (pierre.nugues@cs.lth.se) for use in the SMErobot EU FP6 project. </xs:appinfo> </xs:annotation> <xs:element name="configuration-sheet" type="ConfigSheetType"/> <xs:element name="specifications" type="SpecificationsType"/> <xs:element name="spec" type="SpecType"/> <xs:element name="one-of" type="OneOfType"/> <xs:element name="option" type="OptionType" /> <xs:element name="command" type="CommandType" /> <xs:element name="param" type="ParamType" /> <xs:element name="img" type="ImgType" /> <xs:element name="snd" type="SndType" /> <xs:element name="tasks" type="TasksType" /> <xs:element name="task" type="TaskType" /> <xs:element name="args" type="ArgsType" /> <!-- <xs:element name="meta-arg" type="MetaArgsType" /> --> <xs:element name="task-sequence" type="TaskSequenceType" /> <xs:complexType name="ConfigSheetType"> <xs:sequence> <xs:element ref="specifications" /> <xs:element ref="tasks" /> <xs:element ref="task-sequence" /> </xs:sequence> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="id" type="xs:string" /> </xs:complexType> <xs:complexType name="SpecificationsType"> <xs:sequence> <xs:element ref="spec" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="SpecType"> <xs:sequence> <xs:element ref="one-of" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="id" type="xs:string" /> </xs:complexType> <xs:complexType name="OneOfType"> <xs:sequence> <xs:element ref="option" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="OptionType"> <xs:sequence> <xs:element name="meta-arg" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element ref="command" minOccurs="1"/> <xs:element ref="param" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="img" minOccurs="0"/> <xs:element ref="snd" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="CommandType"> <xs:attribute name="code" type="xs:string" /> </xs:complexType> <xs:complexType name="ParamType"> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="text" type="xs:string" /> <xs:attribute name="value" type="xs:string" /> <xs:attribute name="unit" type="xs:string" /> </xs:complexType> <xs:complexType name="ImgType"> <xs:attribute name="src" type="xs:string" /> </xs:complexType> <xs:complexType name="SndType"> <xs:attribute name="src" type="xs:string" /> </xs:complexType> <xs:complexType name="TasksType"> <xs:sequence> <xs:element ref="task" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="TaskType"> <xs:sequence> <xs:element ref="args" minOccurs="0"/> <xs:element ref="one-of" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="id" type="xs:string" /> </xs:complexType> <xs:complexType name="ArgsType"> <xs:sequence> <xs:element name="arg0" type="xs:string"/> <xs:element name="arg1" type="xs:string"/> </xs:sequence> </xs:complexType> <!-- <xs:complexType name="MetaArgsType"> --> <!-- <xs:simpleContent> --> <!-- <xs:extension base="xs:string"> --> <!-- </xs:extension> --> <!-- </xs:simpleContent> --> <!-- <xs:attribute name="name" type="xs:string" /> --> <!-- </xs:complexType> --> <xs:complexType name="TaskSequenceType"> <xs:sequence> <xs:element name="task" type="TaskType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>