source: 1dwg/trunk/cansas1d.xsd

Last change on this file was 327, checked in by prjemian, 4 years ago

refs #34, extra space removed, JAXB rebuilt

File size: 11.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<?xml-stylesheet type="text/xsl" href="xsd-documentation.xsl" ?>
3<schema xmlns="http://www.w3.org/2001/XMLSchema"
4        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"  jaxb:version="2.0"
6        targetNamespace="urn:cansas1d:1.1" xmlns:tns="urn:cansas1d:1.1"
7        elementFormDefault="qualified">
8
9<!--
10Copyright (c) 2013, UChicago Argonne, LLC
11This file is distributed subject to a Software License Agreement found
12in the file LICENSE that is included with this distribution.
13 -->
14 
15<!-- JAXB: http://java.sun.com/developer/technicalArticles/WebServices/jaxb/ -->
16
17        <complexType name="floatUnitType">
18                <simpleContent>
19                        <extension base="float">
20                                <attribute name="unit" type="string" use="required" />
21                        </extension>
22                </simpleContent>
23        </complexType>
24
25        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
26
27        <group name="positionGroup">
28                <sequence>
29                        <element name="x" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
30                        <element name="y" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
31                        <element name="z" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
32                </sequence>
33        </group>
34
35        <complexType name="positionType">
36                <group ref="tns:positionGroup" />
37                <attribute name="name" type="string" use="optional" default="" />
38        </complexType>
39
40        <group name="orientationGroup">
41                <sequence>
42                        <element name="roll" type="tns:floatUnitType" minOccurs="0"  maxOccurs="1" />
43                        <element name="pitch" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
44                        <element name="yaw" type="tns:floatUnitType" minOccurs="0"   maxOccurs="1" />
45                </sequence>
46        </group>
47
48        <complexType name="orientationType">
49                <group ref="tns:orientationGroup" />
50                <attribute name="name" type="string" use="optional" default="" />
51        </complexType>
52
53        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
54       
55        <complexType name="IdataType">
56                <sequence>
57                        <element name="Q" minOccurs="1" maxOccurs="1"    type="tns:floatUnitType" />
58                        <element name="I" minOccurs="1" maxOccurs="1"    type="tns:floatUnitType" />
59                        <element name="Idev" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
60                        <xsd:choice>
61                                <!-- [ [Qdev] | [[dQw] | [dQl]] ] -->
62                                <element name="Qdev" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
63                                <xsd:sequence>
64                                        <element name="dQw" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
65                                        <element name="dQl" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
66                                </xsd:sequence>
67                        </xsd:choice>
68                        <element name="Qmean" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
69                        <element name="Shadowfactor" minOccurs="0" maxOccurs="1" type="float" default="1.0" />
70                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
71                </sequence>
72        </complexType>
73       
74        <complexType name="SASdataType">
75                <sequence minOccurs="1" maxOccurs="1">  <!-- http://svn.cansas.org/trac/ticket/21 -->
76                        <sequence>
77                                <element name="Idata" minOccurs="1" maxOccurs="unbounded" type="tns:IdataType" />
78                        </sequence>
79                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
80                </sequence>
81                <attribute name="name" type="string" use="optional" default="" />
82                <attribute name="timestamp" type="dateTime" use="optional" />
83        </complexType>
84       
85        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
86       
87        <complexType name="TdataType">
88                        <sequence>
89                                <element name="Lambda" minOccurs="1" maxOccurs="1"    type="tns:floatUnitType" />
90                                <element name="T" minOccurs="1" maxOccurs="1"    type="tns:floatUnitType" />
91                                <element name="Tdev" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" default="0" />
92                                <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
93                </sequence>
94        </complexType>
95       
96        <complexType name="SAStransmission_spectrumType">
97                <sequence minOccurs="1" maxOccurs="1">
98                        <sequence minOccurs="1" maxOccurs="1">
99                                <element name="Tdata" minOccurs="1" maxOccurs="unbounded" type="tns:TdataType" />
100                        </sequence>
101                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
102                </sequence>
103                <attribute name="name" type="string" use="optional" default="" />
104                <attribute name="timestamp" type="dateTime" use="optional" />
105        </complexType>
106       
107        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
108
109        <complexType name="SASsampleType">
110                <sequence>
111                        <element name="ID" minOccurs="1" maxOccurs="1" type="string" />
112                        <element name="thickness" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
113                        <element name="transmission" minOccurs="0" maxOccurs="1" type="float" />
114                        <element name="temperature" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
115                        <element name="position" minOccurs="0" maxOccurs="1" type="tns:positionType" />
116                        <element name="orientation" minOccurs="0" maxOccurs="1" type="tns:orientationType" />
117                        <element name="details" minOccurs="0" maxOccurs="unbounded" />
118                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
119                </sequence>
120                <attribute name="name" type="string" use="optional" default="" />
121        </complexType>
122
123        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
124
125        <complexType name="termType">
126                <simpleContent>
127                        <extension base="string">
128                                <attribute name="name" type="string" use="optional" default="" />
129                                <attribute name="unit" type="string" use="optional"/>
130                        </extension>
131                </simpleContent>
132        </complexType>
133
134        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
135
136        <complexType name="SASprocessType">
137                <annotation>
138                        <appinfo>
139                                <!-- JAXB: simplify class name -->
140                                <jaxb:property name="SASprocess" />
141                        </appinfo>
142                </annotation>
143                <sequence>
144                        <element name="name" minOccurs="0" maxOccurs="1"
145                                type="string" default="">
146                                <annotation>
147                                        <appinfo>
148                                                <!-- Remap collision of Name when using JAXB -->
149                                                <jaxb:property name="SASprocessName" />
150                                        </appinfo>
151                                </annotation>
152                        </element>
153                        <element name="date" minOccurs="0" maxOccurs="1" type="string" />
154                        <element name="description" minOccurs="0" maxOccurs="1" />
155                        <element name="term" minOccurs="0" maxOccurs="unbounded" type="tns:termType" />
156                        <element name="SASprocessnote" minOccurs="1" maxOccurs="unbounded" />
157                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
158                </sequence>
159                <attribute name="name" type="string" use="optional" default="">
160                        <annotation>
161                                <appinfo>
162                                        <!-- Remap collision of Name when using JAXB -->
163                                        <jaxb:property name="SASprocessNameAttr" />
164                                </appinfo>
165                        </annotation>
166                </attribute>
167        </complexType>
168
169        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
170
171        <complexType name="SASsourceType">
172                <sequence>
173                        <element name="radiation" minOccurs="1" maxOccurs="1" type="string" />
174                        <element name="beam_size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
175                        <element name="beam_shape" minOccurs="0" maxOccurs="1" type="string" />
176                        <element name="wavelength" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
177                        <element name="wavelength_min" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
178                        <element name="wavelength_max" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
179                        <element name="wavelength_spread" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
180                </sequence>
181                <attribute name="name" type="string" use="optional" default="" />
182        </complexType>
183
184        <complexType name="SAScollimationType">
185                <sequence>
186                        <element name="length" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
187                        <element name="aperture" minOccurs="0"
188                                maxOccurs="unbounded">
189                                <complexType>
190                                        <sequence>
191                                                <element name="size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
192                                                <element name="distance" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
193                                        </sequence>
194                                        <attribute name="name" type="string" use="optional" default="" />
195                                        <attribute name="type" type="string" use="optional" default="" />
196                                </complexType>
197                        </element>
198                </sequence>
199                <attribute name="name" type="string" use="optional" default="" />
200        </complexType>
201
202        <complexType name="SASdetectorType">
203                <sequence>
204                        <element name="name" minOccurs="1" maxOccurs="1" type="string" default=""/>
205                        <element name="SDD" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
206                        <element name="offset" minOccurs="0" maxOccurs="1" type="tns:positionType" />
207                        <element name="orientation" minOccurs="0" maxOccurs="1" type="tns:orientationType" />
208                        <element name="beam_center" minOccurs="0" maxOccurs="1" type="tns:positionType" />
209                        <element name="pixel_size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
210                        <element name="slit_length" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
211                </sequence>
212        </complexType>
213
214        <complexType name="SASinstrumentType">
215                <sequence>
216                        <element name="name" type="string" minOccurs="1" maxOccurs="1" default="" />
217                        <element name="SASsource" type="tns:SASsourceType" minOccurs="1" maxOccurs="1" />
218                        <element name="SAScollimation" type="tns:SAScollimationType" minOccurs="1" maxOccurs="unbounded" />
219                        <element name="SASdetector" type="tns:SASdetectorType" minOccurs="1" maxOccurs="unbounded" />
220                </sequence>
221        </complexType>
222
223        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
224
225        <complexType name="SASentryType">
226                <sequence>
227                        <element name="Title" minOccurs="1" maxOccurs="1" type="string" />
228                        <element name="Run" minOccurs="1" maxOccurs="unbounded">
229                                <xsd:complexType>
230                                        <simpleContent>
231                                                <extension base="string">
232                                                        <attribute name="name" type="string" use="optional" default="" />
233                                                </extension>
234                                        </simpleContent>
235                                </xsd:complexType>
236                        </element>
237                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
238                        <element name="SASdata" minOccurs="1" maxOccurs="unbounded" type="tns:SASdataType" />
239                        <element name="SAStransmission_spectrum" minOccurs="0" maxOccurs="unbounded" type="tns:SAStransmission_spectrumType"/>
240                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other">
241                                <!-- Is a second *any* element needed here? -->
242                                <annotation>
243                                        <appinfo>
244                                                <!-- Remap collision of Any when using JAXB --> 
245                                                <jaxb:property name="SASentryAny2" />
246                                        </appinfo>
247                                </annotation>
248                        </xsd:any>
249                        <element name="SASsample" type="tns:SASsampleType" />
250                        <element name="SASinstrument" type="tns:SASinstrumentType" minOccurs="1" maxOccurs="1" />
251                        <element name="SASprocess" type="tns:SASprocessType" minOccurs="0" maxOccurs="unbounded" />
252                        <element name="SASnote" minOccurs="1" maxOccurs="unbounded" />
253                                <!-- SASnote is a free-form element.
254                                        Do not define any content for it or it will become restrictive.
255                                -->
256                </sequence>
257                <attribute name="name" type="string" use="optional" default="" />
258        </complexType>
259
260        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
261
262        <complexType name="SASrootType">
263                <sequence>
264                        <element name="SASentry" minOccurs="1" maxOccurs="unbounded" type="tns:SASentryType" />
265                </sequence>
266                <attribute name="version" type="string" fixed="1.1" use="required" />
267        </complexType>
268
269        <element name="SASroot" type="tns:SASrootType" />
270
271</schema>
Note: See TracBrowser for help on using the repository browser.