source: 1dwg/trunk/cansas2d.xsd @ 194

Last change on this file since 194 was 194, checked in by ajj, 9 years ago

More bugs

File size: 9.9 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="cansas2d/1.0" xmlns:tns="cansas2d/0.1"
7        elementFormDefault="qualified">
8
9<!-- JAXB: http://java.sun.com/developer/technicalArticles/WebServices/jaxb/ -->
10
11        <complexType name="floatVectorUnitType">
12                <simpleContent>
13                        <extension base="string">
14                                <restriction base="string">
15                                        <pattern value = "(-?\d+(\.\d+)\s+)+"/>
16                                </restriction>
17                                <attribute name="unit" type="string" use="required" />
18                        </extension>
19                </simpleContent>
20        </complexType>
21
22        <complexType name="floatUnitType">
23                <simpleContent>
24                        <extension base="float">
25                                <attribute name="unit" type="string" use="required" />
26                        </extension>
27                </simpleContent>
28        </complexType>
29
30
31        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
32
33        <group name="positionGroup">
34                <sequence>
35                        <element name="x" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
36                        <element name="y" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
37                        <element name="z" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
38                </sequence>
39        </group>
40
41        <complexType name="positionType">
42                <group ref="tns:positionGroup" />
43                <attribute name="name" type="string" use="optional" default="" />
44        </complexType>
45
46        <group name="orientationGroup">
47                <sequence>
48                        <element name="roll" type="tns:floatUnitType" minOccurs="0"  maxOccurs="1" />
49                        <element name="pitch" type="tns:floatUnitType" minOccurs="0" maxOccurs="1" />
50                        <element name="yaw" type="tns:floatUnitType" minOccurs="0"   maxOccurs="1" />
51                </sequence>
52        </group>
53
54        <complexType name="orientationType">
55                <group ref="tns:orientationGroup" />
56                <attribute name="name" type="string" use="optional" default="" />
57        </complexType>
58
59        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
60
61        <complexType name="IdataType">
62                <sequence>
63                        <element name="Qx" minOccurs="1" maxOccurs="1"    type="tns:floatVectorType" />
64                        <element name="Qy" minOccurs="1" maxOccurs="1"    type="tns:floatVectorType" />
65                        <element name="I" minOccurs="1" maxOccurs="1"    type="tns:floatVectorType" />
66                        <element name="Idev" minOccurs="0" maxOccurs="1" type="tns:floatVectorType" default="0" />
67                        <element name="Qdev_parallel" minOccurs="0" maxOccurs="1" type="tns:floatVectorType" default="0" />
68                        <element name="Qdev_perp" minOccurs="0" maxOccurs="1" type="tns:floatVectorType" default="0" />
69                        <element name="Shadowfactor" minOccurs="0" maxOccurs="1" type="tns:floatVectorType" default="0" />
70                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
71                </sequence>
72        </complexType>
73
74        <complexType name="SASdataType">
75                <sequence>
76                        <element name="Idata" minOccurs="1" maxOccurs="unbounded" type="tns:IdataType" />
77                </sequence>
78                <attribute name="name" type="string" use="optional" default="" />
79        </complexType>
80
81        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
82
83        <complexType name="SASsampleType">
84                <sequence>
85                        <element name="ID" minOccurs="1" maxOccurs="1" type="string" />
86                        <element name="thickness" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
87                        <element name="transmission" minOccurs="0" maxOccurs="1" type="float" />
88                        <element name="temperature" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
89                        <element name="position" minOccurs="0" maxOccurs="1" type="tns:positionType" />
90                        <element name="orientation" minOccurs="0" maxOccurs="1" type="tns:orientationType" />
91                        <element name="details" minOccurs="0" maxOccurs="unbounded" />
92                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
93                </sequence>
94                <attribute name="name" type="string" use="optional" default="" />
95        </complexType>
96
97        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
98
99        <complexType name="termType">
100                <simpleContent>
101                        <extension base="string">
102                                <attribute name="name" type="string" use="optional" default="" />
103                                <attribute name="unit" type="string" use="optional"/>
104                        </extension>
105                </simpleContent>
106        </complexType>
107
108        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
109
110        <complexType name="SASprocessType">
111                <annotation>
112                        <appinfo>
113                                <!-- JAXB: simplify class name -->
114                                <jaxb:property name="SASprocess" />
115                        </appinfo>
116                </annotation>
117                <sequence>
118                        <element name="name" minOccurs="0" maxOccurs="1"
119                                type="string" default="">
120                                <annotation>
121                                        <appinfo>
122                                                <!-- Remap collision of Name when using JAXB -->
123                                                <jaxb:property name="SASprocessName" />
124                                        </appinfo>
125                                </annotation>
126                        </element>
127                        <element name="date" minOccurs="0" maxOccurs="1" type="string" />
128                        <element name="description" minOccurs="0" maxOccurs="1" />
129                        <element name="term" minOccurs="0" maxOccurs="unbounded" type="tns:termType" />
130                        <element name="SASprocessnote" minOccurs="1" maxOccurs="unbounded" />
131                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
132                </sequence>
133                <attribute name="name" type="string" use="optional" default="">
134                        <annotation>
135                                <appinfo>
136                                        <!-- Remap collision of Name when using JAXB -->
137                                        <jaxb:property name="SASprocessNameAttr" />
138                                </appinfo>
139                        </annotation>
140                </attribute>
141        </complexType>
142
143        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
144
145        <complexType name="SASsourceType">
146                <sequence>
147                        <element name="radiation" minOccurs="1" maxOccurs="1" type="string" />
148                        <element name="beam_size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
149                        <element name="beam_shape" minOccurs="0" maxOccurs="1" type="string" />
150                        <element name="wavelength" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
151                        <element name="wavelength_min" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
152                        <element name="wavelength_max" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
153                        <element name="wavelength_spread" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
154                </sequence>
155                <attribute name="name" type="string" use="optional" default="" />
156        </complexType>
157
158        <complexType name="SAScollimationType">
159                <sequence>
160                        <element name="length" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
161                        <element name="aperture" minOccurs="0"
162                                maxOccurs="unbounded">
163                                <complexType>
164                                        <sequence>
165                                                <element name="size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
166                                                <element name="distance" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
167                                        </sequence>
168                                        <attribute name="name" type="string" use="optional" default="" />
169                                        <attribute name="type" type="string" use="optional" default="" />
170                                </complexType>
171                        </element>
172                </sequence>
173                <attribute name="name" type="string" use="optional" default="" />
174        </complexType>
175
176        <complexType name="SASdetectorType">
177                <sequence>
178                        <element name="name" minOccurs="1" maxOccurs="1" type="string" default=""/>
179                        <element name="SDD" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
180                        <element name="offset" minOccurs="0" maxOccurs="1" type="tns:positionType" />
181                        <element name="orientation" minOccurs="0" maxOccurs="1" type="tns:orientationType" />
182                        <element name="beam_center" minOccurs="0" maxOccurs="1" type="tns:positionType" />
183                        <element name="pixel_size" minOccurs="0" maxOccurs="1" type="tns:positionType" />
184                        <element name="slit_length" minOccurs="0" maxOccurs="1" type="tns:floatUnitType" />
185                </sequence>
186        </complexType>
187
188        <complexType name="SASinstrumentType">
189                <sequence>
190                        <element name="name" type="string" minOccurs="1" maxOccurs="1" default="" />
191                        <element name="SASsource" type="tns:SASsourceType" minOccurs="1" maxOccurs="1" />
192                        <element name="SAScollimation" type="tns:SAScollimationType" minOccurs="1" maxOccurs="unbounded" />
193                        <element name="SASdetector" type="tns:SASdetectorType" minOccurs="1" maxOccurs="unbounded" />
194                </sequence>
195        </complexType>
196
197        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
198
199        <complexType name="SASentryType">
200                <sequence>
201                        <element name="Title" minOccurs="1" maxOccurs="1" type="string" />
202                        <element name="Run" minOccurs="1" maxOccurs="unbounded">
203                                <xsd:complexType>
204                                        <simpleContent>
205                                                <extension base="string">
206                                                        <attribute name="name" type="string" use="optional" default="" />
207                                                </extension>
208                                        </simpleContent>
209                                </xsd:complexType>
210                        </element>
211                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other" />
212                        <element name="SASdata" minOccurs="1" maxOccurs="unbounded" type="tns:SASdataType" />
213                        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" namespace="##other">
214                                <!-- Is a second *any* element needed here? -->
215                                <annotation>
216                                        <appinfo>
217                                                <!-- Remap collision of Any when using JAXB --> 
218                                                <jaxb:property name="SASentryAny2" />
219                                        </appinfo>
220                                </annotation>
221                        </xsd:any>
222                        <element name="SASsample" type="tns:SASsampleType" />
223                        <element name="SASinstrument" type="tns:SASinstrumentType" minOccurs="1" maxOccurs="1" />
224                        <element name="SASprocess" type="tns:SASprocessType" minOccurs="0" maxOccurs="unbounded" />
225                        <element name="SASnote" minOccurs="1" maxOccurs="unbounded" />
226                                <!-- SASnote is a free-form element.
227                                        Do not define any content for it or it will become restrictive.
228                                -->
229                </sequence>
230                <attribute name="name" type="string" use="optional" default="" />
231        </complexType>
232
233        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
234
235        <complexType name="SASrootType">
236                <sequence>
237                        <element name="SASentry" minOccurs="1" maxOccurs="unbounded" type="tns:SASentryType" />
238                </sequence>
239                <attribute name="version" type="string" fixed="1.0" use="required" />
240        </complexType>
241
242        <element name="SASroot" type="tns:SASrootType" />
243
244</schema>
Note: See TracBrowser for help on using the repository browser.