Skip to content
Snippets Groups Projects
Commit 7d7f5110 authored by Anders Nilsson's avatar Anders Nilsson
Browse files

Added config-sheet.xml by Pierre Nugues, t be used for generating

input forms. Created an XML schema for the config-sheet xml.
parent ac06ef72
No related branches found
No related tags found
No related merge requests found
<?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>
<?xml version="1.0" encoding="UTF-8" ?>
<configuration-sheet name="wood sign process" id="id001"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='RobotForm.xsd' >
<specifications>
<spec name="shape" id="sid001">
<one-of>
<option>
<command code="code/sharp.cd"/>
<param name="shape" text="sharp corners" value="sharp"/>
<img src="img/shape_sharp.jpg"/>
<snd src="snd/sharp.wav"/>
</option>
<option>
<command code="code/soft.cd"/>
<param name="shape" text="soft corner" value="soft"/>
<param name="diameter" text="Corner diameter [mm]" unit="mm"/>
<img src="img/shape_soft.jpg"/>
</option>
<option>
<command code="code/cut.cd"/>
<param name="shape" text="cut corners" value="cut"/>
<param name="height" text="Corner height [mm]" unit="mm"/>
<img src="img/shape_cut.jpg"/>
</option>
</one-of>
</spec>
<spec name="hole-configuration" id="sid002">
<one-of>
<option>
<command code="code/hole.cd"/>
<param name="hole-configuration" text="one" value="one"/>
<img src="img/hole_one.jpg"/>
</option>
<option>
<command code="code/hole.cd"/>
<param name="hole-configuration" text="two" value="two"/>
<img src="img/hole_two.jpg"/>
</option>
<option>
<command code="code/hole.cd"/>
<param name="hole-configuration" text="four" value="four"/>
<img src="img/hole_four.jpg"/>
</option>
</one-of>
</spec>
<spec name="pattern-text" id="sid003">
<one-of>
<option>
<command code="code/pattern-text.cd"/>
<param name="pattern" text="pattern1" value="pattern1"/>
<img src="img/pattern_one.jpg"/>
</option>
<option>
<command code="code/pattern-text.cd"/>
<param name="pattern" text="pattern2" value="pattern2"/>
<img src="img/pattern_two.jpg"/>
</option>
</one-of>
<one-of>
<option>
<command code="code/drawing.cd"/>
<param name="text" text="drawing" value="file"/>
<img src="img/text_area.jpg"/>
</option>
<option>
<command code="code/text.cd"/>
<param name="text" text="text" value="text"/>
<param name="text-value"/>
</option>
</one-of>
</spec>
</specifications>
<tasks>
<task name="calibration" id="tid001">
<args>
<arg0>robot</arg0>
<arg1>work piece</arg1>
</args>
<!-- the options need input and output data. They are to be determined -->
<one-of>
<option>
<command code="code/preprog.cd"/>
<param name="calibration" text="preprogrammed" value="preprogrammed"/>
</option>
<option>
<meta-arg name="points">3</meta-arg>
<command code="manual.cd"/>
<param name="calibration" text="manual" value="manual"/>
</option>
<option>
<command code="code/touch_sensor.cd"/>
<param name="calibration" text="touch sensor" value="touch"/>
</option>
</one-of>
</task>
<task name="milling" id="tid002">
<args>
<arg0>robot</arg0>
<arg1>wood sign corners</arg1>
</args>
<one-of>
<option>
<command code="code/skip.cd"/>
<param name="milling" text="skip" value="skip"/>
</option>
</one-of>
</task>
<task name="selection-drill-holes" id="tid003">
<args>
<arg0>robot</arg0>
<arg1>work piece</arg1>
</args>
<one-of>
<option>
<command code="code/skip.cd"/>
<param name="hole" text="skip" value="skip"/>
</option>
<option>
<command code="code/manual.cd"/>
<param name="hole" text="automatic" value="automatic"/>
</option>
<option>
<command code="code/lead-through.cd"/>
<param name="hole" text="lead-through" value="lead-through"/>
</option>
<option>
<command code="code/gesture.cd"/>
<param name="hole" text="gesture" value="gesture"/>
</option>
</one-of>
</task>
<task name="drilling" id="tid004">
<args>
<arg0>robot</arg0>
<arg1>holes</arg1>
</args>
<one-of>
<option>
<command code="code/skip.cd"/>
<param name="drilling" text="skip" value="skip"/>
</option>
</one-of>
</task>
<task name="selection-text-area" id="tid005">
<args>
<arg0>robot</arg0>
<arg1>text area</arg1>
</args>
<one-of>
<option>
<command code="code/skip.cd"/>
<param name="selection-text-area" text="skip" value="skip"/>
</option>
<option>
<command code="code/manual.cd"/>
<param name="selection-text-area" text="automatic" value="automatic"/>
</option>
<option>
<command code="code/lead-through.cd"/>
<param name="selection-text-area" text="lead-through" value="lead-through"/>
</option>
<option>
<command code="code/gesture.cd"/>
<param name="selection-text-area" text="gesture" value="gesture"/>
</option>
</one-of>
</task>
<task name="grinding" id="tid006">
<args>
<arg0>robot</arg0>
<arg1>surface</arg1>
</args>
<one-of>
<option>
<command code="code/skip.cd"/>
<param name="grinding" text="skip" value="skip"/>
</option>
</one-of>
</task>
</tasks>
<task-sequence>
<task id="tid001"/>
<task id="tid002"/>
<task id="tid003"/>
<task id="tid004"/>
<task id="tid005"/>
<task id="tid006"/>
</task-sequence>
</configuration-sheet>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment