|
@@ -0,0 +1,144 @@
|
|
|
+<?xml version="1.0"?>
|
|
|
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
|
+
|
|
|
+ <xsd:element name="executable">
|
|
|
+ <xsd:complexType>
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="category" type="xsd:string"/>
|
|
|
+ <xsd:element name="title" type="xsd:string"/>
|
|
|
+ <xsd:element name="description" type="xsd:string"/>
|
|
|
+ <xsd:element name="version" type="xsd:string"/>
|
|
|
+ <xsd:element name="documentation-url" type="xsd:string"/>
|
|
|
+ <xsd:element name="license" type="xsd:string"/>
|
|
|
+ <xsd:element name="contributor" type="xsd:string"/>
|
|
|
+ <xsd:element name="parameters" type="parameters" maxOccurs="unbounded"/>
|
|
|
+ </xsd:sequence>
|
|
|
+ </xsd:complexType>
|
|
|
+ </xsd:element>
|
|
|
+
|
|
|
+ <xsd:complexType name="parameters">
|
|
|
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
|
+ <xsd:element name="label" type="xsd:string"/>
|
|
|
+ <xsd:element name="description" type="xsd:string"/>
|
|
|
+ <xsd:element name="integer" type="scalarType"/>
|
|
|
+ <xsd:element name="integer-vector" type="scalarType"/>
|
|
|
+ <xsd:element name="boolean" type="scalarType"/>
|
|
|
+ <xsd:element name="boolean-vector" type="scalarType"/>
|
|
|
+ <xsd:element name="float" type="scalarType"/>
|
|
|
+ <xsd:element name="float-vector" type="scalarType"/>
|
|
|
+ <xsd:element name="double" type="scalarType"/>
|
|
|
+ <xsd:element name="double-vector" type="scalarType"/>
|
|
|
+ <xsd:element name="string" type="paramType"/>
|
|
|
+ <xsd:element name="string-vector" type="paramType"/>
|
|
|
+ <xsd:element name="point" type="pointType"/>
|
|
|
+ <xsd:element name="point-vector" type="pointType"/>
|
|
|
+ <xsd:element name="region" type="pointType"/>
|
|
|
+ <xsd:element name="region-vector" type="pointType"/>
|
|
|
+ <xsd:element name="string-enumeration" type="enumerationType"/>
|
|
|
+ <xsd:element name="integer-enumeration" type="enumerationType"/>
|
|
|
+ <xsd:element name="float-enumeration" type="enumerationType"/>
|
|
|
+ <xsd:element name="double-enumeration" type="enumerationType"/>
|
|
|
+ <xsd:element name="file" type="indexedParamType"/>
|
|
|
+ <xsd:element name="directory" type="paramType"/>
|
|
|
+ <xsd:element name="transform" type="typedIndexParamType"/>
|
|
|
+ <xsd:element name="image" type="typedIndexParamType"/>
|
|
|
+ <xsd:element name="geometry" type="typedIndexParamType"/>
|
|
|
+ <xsd:element name="table" type="typedIndexParamType"/>
|
|
|
+ <xsd:element name="measurement" type="typedIndexParamType"/>
|
|
|
+ </xsd:choice>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="paramType">
|
|
|
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
|
+ <xsd:element name="name" type="xsd:string"/>
|
|
|
+ <xsd:element name="flag" type="flagType" />
|
|
|
+ <xsd:element name="longflag" type="flagType"/>
|
|
|
+ <xsd:element name="description" type="xsd:string"/>
|
|
|
+ <xsd:element name="label" type="xsd:string"/>
|
|
|
+ <xsd:element name="default" type="xsd:string"/>
|
|
|
+ </xsd:choice>
|
|
|
+ <xsd:attribute name="multiple" type="xsd:boolean"/>
|
|
|
+ <xsd:attribute name="hidden" type="xsd:boolean"/>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="scalarType" >
|
|
|
+ <xsd:complexContent>
|
|
|
+ <xsd:extension base="paramType">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="constraints" type="constraintsType" minOccurs="0" />
|
|
|
+ </xsd:sequence>
|
|
|
+ </xsd:extension>
|
|
|
+ </xsd:complexContent>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="pointType" >
|
|
|
+ <xsd:complexContent>
|
|
|
+ <xsd:extension base="paramType">
|
|
|
+ <xsd:attribute name="coordinateSystem">
|
|
|
+ <xsd:simpleType>
|
|
|
+ <xsd:restriction base="xsd:string">
|
|
|
+ <xsd:enumeration value="RAS"/>
|
|
|
+ <xsd:enumeration value="IJK"/>
|
|
|
+ </xsd:restriction>
|
|
|
+ </xsd:simpleType>
|
|
|
+ </xsd:attribute>
|
|
|
+ </xsd:extension>
|
|
|
+ </xsd:complexContent>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="enumerationType" >
|
|
|
+ <xsd:complexContent>
|
|
|
+ <xsd:extension base="paramType">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="element" type="xsd:string"/>
|
|
|
+ </xsd:sequence>
|
|
|
+ </xsd:extension>
|
|
|
+ </xsd:complexContent>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="indexedParamType" >
|
|
|
+ <xsd:all>
|
|
|
+ <xsd:element name="name" type="xsd:string"/>
|
|
|
+ <xsd:element name="label" type="xsd:string"/>
|
|
|
+ <xsd:element name="description" type="xsd:string"/>
|
|
|
+ <xsd:element name="channel" maxOccurs="1">
|
|
|
+ <xsd:simpleType>
|
|
|
+ <xsd:restriction base="xsd:string">
|
|
|
+ <xsd:enumeration value="input"/>
|
|
|
+ <xsd:enumeration value="output"/>
|
|
|
+ </xsd:restriction>
|
|
|
+ </xsd:simpleType>
|
|
|
+ </xsd:element>
|
|
|
+ <xsd:element name="index" type="xsd:nonNegativeInteger"/>
|
|
|
+ </xsd:all>
|
|
|
+ <xsd:attribute name="fileExtensions" type="xsd:string"/>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="typedIndexParamType" >
|
|
|
+ <xsd:complexContent>
|
|
|
+ <xsd:extension base="indexedParamType">
|
|
|
+ <xsd:attribute name="reference" type="xsd:string"/>
|
|
|
+ <xsd:attribute name="type" type="xsd:string"/>
|
|
|
+ <xsd:attribute name="hidden" type="xsd:boolean"/>
|
|
|
+ </xsd:extension>
|
|
|
+ </xsd:complexContent>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="flagType">
|
|
|
+ <xsd:simpleContent>
|
|
|
+ <xsd:extension base="xsd:string">
|
|
|
+ <xsd:attribute name="alias" type="xsd:string"/>
|
|
|
+ <xsd:attribute name="deprecatedalias" type="xsd:string"/>
|
|
|
+ </xsd:extension>
|
|
|
+ </xsd:simpleContent>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+ <xsd:complexType name="constraintsType">
|
|
|
+ <xsd:sequence>
|
|
|
+ <xsd:element name="minimum" type="xsd:double"/>
|
|
|
+ <xsd:element name="maximum" type="xsd:double"/>
|
|
|
+ <xsd:element name="step" type="xsd:double"/>
|
|
|
+ </xsd:sequence>
|
|
|
+ </xsd:complexType>
|
|
|
+
|
|
|
+</xsd:schema>
|