Changeset 195 for Xml/Working/CLI.xsd
- Timestamp:
- 09/10/08 12:03:10 (4 months ago)
- Files:
-
- 1 modified
-
Xml/Working/CLI.xsd (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Xml/Working/CLI.xsd
r153 r195 16 16 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17 17 --> 18 < schema xmlns= "http://www.w3.org/2001/XMLSchema"18 <xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" 19 19 targetNamespace = "http://www.openmicroscopy.org/Schemas/CLI/2008-02" 20 20 xmlns:CLI = "http://www.openmicroscopy.org/Schemas/CLI/2008-02" … … 22 22 version = "1" 23 23 elementFormDefault = "qualified"> 24 < import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>25 < annotation>26 < documentation>24 <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> 25 <xsd:annotation> 26 <xsd:documentation> 27 27 Open Microscopy Environment 28 28 Command Line Interface XML Schema 29 29 Author: Josiah Johnston, Andrew J Patterson 30 </ documentation>31 </ annotation>32 < attributeGroup name = "InputLocation">33 < attribute name = "Location" use = "required" type = "string">34 < annotation>35 < documentation>This specifies where to find a piece of data by FormalInputName and SemanticElementName. i.e. To reference Semantic element 'bar' from Formal Input 'foo', Location="foo.bar" </documentation>36 </ annotation>37 </ attribute>38 </ attributeGroup>39 < attributeGroup name = "OutputLocation">40 < attribute name = "Location" use = "required" type = "string">41 < annotation>42 < documentation>This specifies where to find a piece of data by FormalOutputName and SemanticElementName. i.e. To reference Semantic element 'bar' from Formal Output 'foo', Location="foo.bar"</documentation>43 </ annotation>44 </ attribute>45 </ attributeGroup>46 < element name = "ExecutionInstructions">47 < annotation>48 < documentation>Tied to DB. Table PROGRAMS Column EXECUTION49 </ documentation>50 </ annotation>51 < complexType>52 < sequence>53 < element ref = "CLI:CommandLine" minOccurs = "0"/>54 < element ref = "CLI:STDIN" minOccurs = "0"/>55 < element ref = "CLI:STDOUT" minOccurs = "0"/>56 </ sequence>57 < attribute name = "ExecutionPoint" use = "required">58 < annotation>59 < documentation>Assigns a execution point for the analysis.60 </ documentation>61 </ annotation>62 < simpleType>63 < restriction base = "string">64 < enumeration value = "executeGlobal"/>65 < enumeration value = "startDataset"/>66 < enumeration value = "startImage"/>67 < enumeration value = "startRegion"/>68 < enumeration value = "finishRegion"/>69 < enumeration value = "finishImage"/>70 < enumeration value = "finishDataset"/>71 </ restriction>72 </ simpleType>73 </ attribute>74 < attribute name = "MakesNewRegion" default = "false" type = "boolean"/>75 </ complexType>76 </ element>77 < element name = "CommandLine">78 < annotation>79 < documentation>This describes the string that will be passed to a command line program via command line parameters. The command line handler will perform basic variable substitution on sub elements of this.30 </xsd:documentation> 31 </xsd:annotation> 32 <xsd:attributeGroup name = "InputLocation"> 33 <xsd:attribute name = "Location" use = "required" type = "xsd:string"> 34 <xsd:annotation> 35 <xsd:documentation>This specifies where to find a piece of data by FormalInputName and SemanticElementName. i.e. To reference Semantic element 'bar' from Formal Input 'foo', Location="foo.bar" </xsd:documentation> 36 </xsd:annotation> 37 </xsd:attribute> 38 </xsd:attributeGroup> 39 <xsd:attributeGroup name = "OutputLocation"> 40 <xsd:attribute name = "Location" use = "required" type = "xsd:string"> 41 <xsd:annotation> 42 <xsd:documentation>This specifies where to find a piece of data by FormalOutputName and SemanticElementName. i.e. To reference Semantic element 'bar' from Formal Output 'foo', Location="foo.bar"</xsd:documentation> 43 </xsd:annotation> 44 </xsd:attribute> 45 </xsd:attributeGroup> 46 <xsd:element name = "ExecutionInstructions"> <!-- top level definition --> 47 <xsd:annotation> 48 <xsd:documentation>Tied to DB. Table PROGRAMS Column EXECUTION 49 </xsd:documentation> 50 </xsd:annotation> 51 <xsd:complexType> 52 <xsd:sequence> 53 <xsd:element ref = "CLI:CommandLine" minOccurs = "0" maxOccurs="1"/> 54 <xsd:element ref = "CLI:STDIN" minOccurs = "0" maxOccurs="1"/> 55 <xsd:element ref = "CLI:STDOUT" minOccurs = "0" maxOccurs="1"/> 56 </xsd:sequence> 57 <xsd:attribute name = "ExecutionPoint" use = "required"> 58 <xsd:annotation> 59 <xsd:documentation>Assigns a execution point for the analysis. 60 </xsd:documentation> 61 </xsd:annotation> 62 <xsd:simpleType> 63 <xsd:restriction base = "xsd:string"> 64 <xsd:enumeration value = "executeGlobal"/> 65 <xsd:enumeration value = "startDataset"/> 66 <xsd:enumeration value = "startImage"/> 67 <xsd:enumeration value = "startRegion"/> 68 <xsd:enumeration value = "finishRegion"/> 69 <xsd:enumeration value = "finishImage"/> 70 <xsd:enumeration value = "finishDataset"/> 71 </xsd:restriction> 72 </xsd:simpleType> 73 </xsd:attribute> 74 <xsd:attribute name = "MakesNewRegion" default = "false" use="optional" type = "xsd:boolean"/> 75 </xsd:complexType> 76 </xsd:element> 77 <xsd:element name = "CommandLine"> <!-- top level definition --> 78 <xsd:annotation> 79 <xsd:documentation>This describes the string that will be passed to a command line program via command line parameters. The command line handler will perform basic variable substitution on sub elements of this. 80 80 Example: 81 81 when you use the program, you type: /OME/bin/OME_Image_XYZ_stats Path=[path to repository file] Dims=[X],[Y],[Z],[W],[T],[BytesPerPix] 82 82 XML specification of the command line parameters is: 83 83 <CommandLine>Path=<RawImageFilePath/> Dims=<sizeX/>,<sizeY/>,<sizeZ/>,<sizeW/>,<sizeT/>,<BPP/></CommandLine> 84 </ documentation>85 </ annotation>86 < complexType>87 < sequence>88 < element ref = "CLI:Parameter" minOccurs = "0" maxOccurs = "unbounded"/>89 </ sequence>90 </ complexType>91 < unique name = "CommandLine_XYPlaneID">92 < selector xpath = ".//CLI:XYPlane"/>93 < field xpath = "@XYPlaneID"/>94 </ unique>95 < keyref name = "CommandLine_XYPlaneID_Ref" refer = "CLI:CommandLine_XYPlaneID">96 < selector xpath = ".//CLI:Match"/>97 < field xpath = "@XYPlaneID"/>98 </ keyref>99 </ element>100 < element name = "STDIN">101 < annotation>102 < documentation>This specifies what and how to write to STDIN.84 </xsd:documentation> 85 </xsd:annotation> 86 <xsd:complexType> 87 <xsd:sequence> 88 <xsd:element ref = "CLI:Parameter" minOccurs = "0" maxOccurs = "unbounded"/> 89 </xsd:sequence> 90 </xsd:complexType> 91 <xsd:unique name = "CommandLine_XYPlaneID"> 92 <xsd:selector xpath = ".//CLI:XYPlane"/> 93 <xsd:field xpath = "@XYPlaneID"/> 94 </xsd:unique> 95 <xsd:keyref name = "CommandLine_XYPlaneID_Ref" refer = "CLI:CommandLine_XYPlaneID"> 96 <xsd:selector xpath = ".//CLI:Match"/> 97 <xsd:field xpath = "@XYPlaneID"/> 98 </xsd:keyref> 99 </xsd:element> 100 <xsd:element name = "STDIN"> <!-- top level definition --> 101 <xsd:annotation> 102 <xsd:documentation>This specifies what and how to write to STDIN. 103 103 Currently this is still in development. I would STRONGLY recommend contacting Josiah <siah@nih.gov> before coding against it. 104 </ documentation>105 </ annotation>106 < complexType>107 < sequence>108 < element ref = "CLI:InputRecord" maxOccurs = "unbounded"/>109 </ sequence>110 </ complexType>111 </ element>112 < element name = "STDOUT">113 < annotation>114 < documentation>This specifies what and how to read STDOUT.115 </ documentation>116 </ annotation>117 < complexType>118 < sequence>119 < element ref = "CLI:OutputRecord" maxOccurs = "unbounded"/>120 </ sequence>121 </ complexType>122 </ element>123 < element name = "Input">124 < annotation>125 < documentation>References a particular column in a FormalInput. Used for variable substitution.</documentation>126 </ annotation>127 < complexType>128 < attributeGroup ref = "CLI:InputLocation"/>129 < attribute name = "DivideBy" type = "string"/>130 < attribute name = "MultiplyBy" type = "string"/>131 </ complexType>132 </ element>133 < element name = "Output">134 < annotation>135 < documentation>References a particular column of a FormalOutput.</documentation>136 </ annotation>137 < complexType>138 < sequence>139 < element ref = "CLI:OutputTo" maxOccurs = "unbounded"/>140 </ sequence>141 < attribute name = "AccessBy" use = "required" type = "integer">142 < annotation>143 < documentation>Describes how to access information extracted using a regular expression. Examples are 1, 2, 3, ...</documentation>144 </ annotation>145 </ attribute>146 </ complexType>147 </ element>148 < element name = "theZ">149 < annotation>150 < documentation>Describes how the Z constraints of the XY plane should be produced or acquired.</documentation>151 </ annotation>152 < complexType>153 < choice>154 < element ref = "CLI:AutoIterate"/>155 < element ref = "CLI:UseValue"/>156 < element ref = "CLI:IterateRange"/>157 < element ref = "CLI:Match"/>158 </ choice>159 </ complexType>160 </ element>161 < element name = "theW">162 < annotation>163 < documentation>Describes how the wavenumber constraints of the XY plane should be produced or acquired.</documentation>164 </ annotation>165 < complexType>166 < choice>167 < element ref = "CLI:AutoIterate"/>168 < element ref = "CLI:UseValue"/>169 < element ref = "CLI:IterateRange"/>170 < element ref = "CLI:Match"/>171 </ choice>172 </ complexType>173 </ element>174 < element name = "theT">175 < annotation>176 < documentation>Describes how the time constraints of the XY plane should be produced or acquired.</documentation>177 </ annotation>178 < complexType>179 < choice>180 < element ref = "CLI:AutoIterate"/>181 < element ref = "CLI:UseValue"/>182 < element ref = "CLI:IterateRange"/>183 < element ref = "CLI:Match"/>184 </ choice>185 </ complexType>186 </ element>187 < element name = "XYPlane">188 < annotation>189 < documentation>Describes an XY plane. Used with variable substitution. This will be substituted with a dynamically generated plane.</documentation>190 </ annotation>191 < complexType>192 < sequence>193 < element ref = "CLI:theZ"/>194 < element ref = "CLI:theT"/>195 < element ref = "CLI:theW"/>196 </ sequence>197 < attribute name = "BPP">198 < annotation>199 < documentation>Specifies bits per pixel (BPP) the module is expecting. If the program can deal with either 8 or 16 bit images, leave this out or specify 16. Both of these result in the BPP of the image being used. That is, if the image is 8 bits, the module will get an 8 bits per pixel. If the image is 16 bits, the module will get 16 bits per pixel.104 </xsd:documentation> 105 </xsd:annotation> 106 <xsd:complexType> 107 <xsd:sequence> 108 <xsd:element ref = "CLI:InputRecord" minOccurs="1" maxOccurs = "unbounded"/> 109 </xsd:sequence> 110 </xsd:complexType> 111 </xsd:element> 112 <xsd:element name = "STDOUT"> <!-- top level definition --> 113 <xsd:annotation> 114 <xsd:documentation>This specifies what and how to read STDOUT. 115 </xsd:documentation> 116 </xsd:annotation> 117 <xsd:complexType> 118 <xsd:sequence> 119 <xsd:element ref = "CLI:OutputRecord" minOccurs="1" maxOccurs = "unbounded"/> 120 </xsd:sequence> 121 </xsd:complexType> 122 </xsd:element> 123 <xsd:element name = "Input"> <!-- top level definition --> 124 <xsd:annotation> 125 <xsd:documentation>References a particular column in a FormalInput. Used for variable substitution.</xsd:documentation> 126 </xsd:annotation> 127 <xsd:complexType> 128 <xsd:attributeGroup ref = "CLI:InputLocation"/> 129 <xsd:attribute name = "DivideBy" use="optional" type = "xsd:string"/> 130 <xsd:attribute name = "MultiplyBy" use="optional" type = "xsd:string"/> 131 </xsd:complexType> 132 </xsd:element> 133 <xsd:element name = "Output"> <!-- top level definition --> 134 <xsd:annotation> 135 <xsd:documentation>References a particular column of a FormalOutput.</xsd:documentation> 136 </xsd:annotation> 137 <xsd:complexType> 138 <xsd:sequence> 139 <xsd:element ref = "CLI:OutputTo" minOccurs="1" maxOccurs = "unbounded"/> 140 </xsd:sequence> 141 <xsd:attribute name = "AccessBy" use = "required" type = "xsd:integer"> 142 <xsd:annotation> 143 <xsd:documentation>Describes how to access information extracted using a regular expression. Examples are 1, 2, 3, ...</xsd:documentation> 144 </xsd:annotation> 145 </xsd:attribute> 146 </xsd:complexType> 147 </xsd:element> 148 <xsd:element name = "theZ"> <!-- top level definition --> 149 <xsd:annotation> 150 <xsd:documentation>Describes how the Z constraints of the XY plane should be produced or acquired.</xsd:documentation> 151 </xsd:annotation> 152 <xsd:complexType> 153 <xsd:choice minOccurs="1" maxOccurs="1"> 154 <xsd:element ref = "CLI:AutoIterate" minOccurs="1" maxOccurs="1"/> 155 <xsd:element ref = "CLI:UseValue" minOccurs="1" maxOccurs="1"/> 156 <xsd:element ref = "CLI:IterateRange" minOccurs="1" maxOccurs="1"/> 157 <xsd:element ref = "CLI:Match" minOccurs="1" maxOccurs="1"/> 158 </xsd:choice> 159 </xsd:complexType> 160 </xsd:element> 161 <xsd:element name = "theW"> <!-- top level definition --> 162 <xsd:annotation> 163 <xsd:documentation>Describes how the wavenumber constraints of the XY plane should be produced or acquired.</xsd:documentation> 164 </xsd:annotation> 165 <xsd:complexType> 166 <xsd:choice minOccurs="1" maxOccurs="1"> 167 <xsd:element ref = "CLI:AutoIterate" minOccurs="1" maxOccurs="1"/> 168 <xsd:element ref = "CLI:UseValue" minOccurs="1" maxOccurs="1"/> 169 <xsd:element ref = "CLI:IterateRange" minOccurs="1" maxOccurs="1"/> 170 <xsd:element ref = "CLI:Match" minOccurs="1" maxOccurs="1"/> 171 </xsd:choice> 172 </xsd:complexType> 173 </xsd:element> 174 <xsd:element name = "theT"> <!-- top level definition --> 175 <xsd:annotation> 176 <xsd:documentation>Describes how the time constraints of the XY plane should be produced or acquired.</xsd:documentation> 177 </xsd:annotation> 178 <xsd:complexType> 179 <xsd:choice minOccurs="1" maxOccurs="1"> 180 <xsd:element ref = "CLI:AutoIterate" minOccurs="1" maxOccurs="1"/> 181 <xsd:element ref = "CLI:UseValue" minOccurs="1" maxOccurs="1"/> 182 <xsd:element ref = "CLI:IterateRange" minOccurs="1" maxOccurs="1"/> 183 <xsd:element ref = "CLI:Match" minOccurs="1" maxOccurs="1"/> 184 </xsd:choice> 185 </xsd:complexType> 186 </xsd:element> 187 <xsd:element name = "XYPlane"> <!-- top level definition --> 188 <xsd:annotation> 189 <xsd:documentation>Describes an XY plane. Used with variable substitution. This will be substituted with a dynamically generated plane.</xsd:documentation> 190 </xsd:annotation> 191 <xsd:complexType> 192 <xsd:sequence> 193 <xsd:element ref = "CLI:theZ" minOccurs="1" maxOccurs="1"/> 194 <xsd:element ref = "CLI:theT" minOccurs="1" maxOccurs="1"/> 195 <xsd:element ref = "CLI:theW" minOccurs="1" maxOccurs="1"/> 196 </xsd:sequence> 197 <xsd:attribute name = "BPP" use="optional"> 198 <xsd:annotation> 199 <xsd:documentation>Specifies bits per pixel (BPP) the module is expecting. If the program can deal with either 8 or 16 bit images, leave this out or specify 16. Both of these result in the BPP of the image being used. That is, if the image is 8 bits, the module will get an 8 bits per pixel. If the image is 16 bits, the module will get 16 bits per pixel. 200 200 Currently, only native image pixels are supported. 201 </ documentation>202 </ annotation>203 < simpleType>204 < restriction base = "integer">205 < enumeration value = "8"/>206 < enumeration value = "16"/>207 </ restriction>208 </ simpleType>209 </ attribute>210 < attribute name = "Format">211 < annotation>212 < documentation>Specifies the expected format of the plane.201 </xsd:documentation> 202 </xsd:annotation> 203 <xsd:simpleType> 204 <xsd:restriction base = "xsd:integer"> 205 <xsd:enumeration value = "8"/> 206 <xsd:enumeration value = "16"/> 207 </xsd:restriction> 208 </xsd:simpleType> 209 </xsd:attribute> 210 <xsd:attribute name = "Format" use="optional"> 211 <xsd:annotation> 212 <xsd:documentation>Specifies the expected format of the plane. 213 213 RAW corresponds to OME repository format of pixel dump. 214 214 TIFF corresponds to TIFF files. 215 215 Currently only TIFF is supported. 216 </ documentation>217 </ annotation>218 < simpleType>219 < restriction base = "string">220 < enumeration value = "RAW"/>221 < enumeration value = "TIFF"/>222 </ restriction>223 </ simpleType>224 </ attribute>225 < attribute name = "XYPlaneID" type = "string">226 < annotation>227 < documentation>Needed if you need another plane to match indexes. Referenced by the Match element.</documentation>228 </ annotation>229 </ attribute>230 < attribute name = "Return">231 < annotation>232 < documentation>Specifies whether to the program needs the FilePath or the FileContents. Currently, only the FilePath is supported.</documentation>233 </ annotation>234 < simpleType>235 < restriction base = "string">236 < enumeration value = "FilePath"/>237 < enumeration value = "File"/>238 </ restriction>239 </ simpleType>240 </ attribute>241 < attribute name = "Pixels" use = "required" type = "string">242 < annotation>243 < documentation>References a formal input of semantic type 'Pixels'</documentation>244 </ annotation>245 </ attribute>246 </ complexType>247 </ element>248 < element name = "RawImageFilePath">249 < annotation>250 < documentation>Used with variable substitution. This will be substituted with the path and file of the raw pixel dump image file.216 </xsd:documentation> 217 </xsd:annotation> 218 <xsd:simpleType> 219 <xsd:restriction base = "xsd:string"> 220 <xsd:enumeration value = "RAW"/> 221 <xsd:enumeration value = "TIFF"/> 222 </xsd:restriction> 223 </xsd:simpleType> 224 </xsd:attribute> 225 <xsd:attribute name = "XYPlaneID" use="optional" type = "xsd:string"> 226 <xsd:annotation> 227 <xsd:documentation>Needed if you need another plane to match indexes. Referenced by the Match element.</xsd:documentation> 228 </xsd:annotation> 229 </xsd:attribute> 230 <xsd:attribute name = "Return" use="optional"> 231 <xsd:annotation> 232 <xsd:documentation>Specifies whether to the program needs the FilePath or the FileContents. Currently, only the FilePath is supported.</xsd:documentation> 233 </xsd:annotation> 234 <xsd:simpleType> 235 <xsd:restriction base = "xsd:string"> 236 <xsd:enumeration value = "FilePath"/> 237 <xsd:enumeration value = "File"/> 238 </xsd:restriction> 239 </xsd:simpleType> 240 </xsd:attribute> 241 <xsd:attribute name = "Pixels" use = "required" type = "xsd:string"> 242 <xsd:annotation> 243 <xsd:documentation>References a formal input of semantic type 'Pixels'</xsd:documentation> 244 </xsd:annotation> 245 </xsd:attribute> 246 </xsd:complexType> 247 </xsd:element> 248 <xsd:element name = "RawImageFilePath"> <!-- top level definition --> 249 <xsd:annotation> 250 <xsd:documentation>Used with variable substitution. This will be substituted with the path and file of the raw pixel dump image file. 251 251 e.g. /OME/repository/1-tinyTest.ori 252 </ documentation>253 </ annotation>254 < complexType>255 < attribute name = "Pixels" use = "required" type = "string">256 < annotation>257 < documentation>References a formal input of semantic type 'Pixels'</documentation>258 </ annotation>259 </ attribute>260 </ complexType>261 </ element>262 < element name = "InputRecord">263 < annotation>264 < documentation>Groups a set of inputs into records.</documentation>265 </ annotation>266 < complexType>267 < sequence>268 < element ref = "CLI:Index" maxOccurs = "unbounded"/>269 < choice>270 < element ref = "CLI:DelimitedRecord"/>271 < element ref = "CLI:CustomRecord"/>272 </ choice>273 </ sequence>274 </ complexType>275 < unique name = "InputRecord_XYPlaneID">276 < selector xpath = ".//CLI:XYPlane"/>277 < field xpath = "@XYPlaneID"/>278 </ unique>279 < keyref name = "InputRecord_XYPlaneID_Ref" refer = "CLI:InputRecord_XYPlaneID">280 < selector xpath = ".//CLI:Match"/>281 < field xpath = "@XYPlaneID"/>282 </ keyref>283 </ element>284 < element name = "OutputRecord">285 < annotation>286 < documentation>Groups a set of outputs into records.</documentation>
