source: TI02-CSML/trunk/XMLSchemas/csmlStorageDescriptor.xsd @ 2336

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/XMLSchemas/csmlStorageDescriptor.xsd@2336
Revision 2336, 9.4 KB checked in by awoolf, 12 years ago (diff)

Removed incorrect dependencies on GML in storage descriptor schemas - should make no impact on valid instance documents.

  • Property svn:executable set to *
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Andrew Woolf (CCLRC) -->
3<schema targetNamespace="http://ndg.nerc.ac.uk/csml" xmlns:csml="http://ndg.nerc.ac.uk/csml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.9">
4        <annotation>
5                <documentation>CSML storage descriptor</documentation>
6        </annotation>
7        <!--====================================================================== -->
8        <import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink/xlinks.xsd"/>
9        <!--====================================================================== -->
10        <!--====================================================================== -->
11        <!--===== CSML root storage descriptor element =====-->
12        <!--====================================================================== -->
13        <complexType name="CSMLStorageDescriptorType">
14                <sequence>
15                        <element name="descriptor" minOccurs="0" maxOccurs="unbounded">
16                                <complexType>
17                                        <sequence>
18                                                <element ref="csml:ArrayDescriptor"/>
19                                        </sequence>
20                                </complexType>
21                        </element>
22                </sequence>
23        </complexType>
24        <element name="CSMLStorageDescriptor" type="csml:CSMLStorageDescriptorType"/>
25        <!--====================================================================== -->
26        <!--====================================================================== -->
27        <!--===== CSML mechanisms for specifying values, providing alternatives for inline doubleLists =====-->
28        <!--====================================================================== -->
29        <!--====================================================================== -->
30        <complexType name="ArrayDescriptorType" abstract="true">
31                <annotation>
32                        <documentation>An abstract type for prescribing an array of numeric values as an indirect realisation of numeric content.</documentation>
33                </annotation>
34                <sequence>
35                        <element name="arraySize">
36                                <simpleType>
37                                        <list itemType="int"/>
38                                </simpleType>
39                        </element>
40                        <element name="uom" type="anyURI" minOccurs="0"/>
41                        <element name="numericType" minOccurs="0">
42                                <simpleType>
43                                        <restriction base="string">
44                                                <enumeration value="float"/>
45                                                <enumeration value="double"/>
46                                                <enumeration value="short"/>
47                                                <enumeration value="int"/>
48                                        </restriction>
49                                </simpleType>
50                        </element>
51                        <element name="regExpTransform" type="string" minOccurs="0"/>
52                        <element name="numericTransform" type="string" minOccurs="0"/>
53                </sequence>
54                <attribute name="id" type="ID"/>
55        </complexType>
56        <element name="ArrayDescriptor" type="csml:ArrayDescriptorType" abstract="true"/>
57        <complexType name="ArrayDescriptorPropertyType">
58                <sequence>
59                        <element ref="csml:ArrayDescriptor"/>
60                </sequence>
61        </complexType>
62        <!--====================================================================== -->
63        <complexType name="AggregatedArrayType">
64                <annotation>
65                        <documentation>Uses the composite pattern to define an aggregation of arrays. The dimension along which aggregation is performed is specified ('aggIndex'), and refers either to a 'new' or 'existing' dimension (specified in 'aggType').</documentation>
66                </annotation>
67                <complexContent>
68                        <extension base="csml:ArrayDescriptorType">
69                                <sequence>
70                                        <element name="aggType">
71                                                <simpleType>
72                                                        <restriction base="string">
73                                                                <enumeration value="new"/>
74                                                                <enumeration value="existing"/>
75                                                        </restriction>
76                                                </simpleType>
77                                        </element>
78                                        <element name="aggIndex" type="int"/>
79                                        <element name="component" type="csml:ArrayDescriptorPropertyType" maxOccurs="unbounded"/>
80                                </sequence>
81                        </extension>
82                </complexContent>
83        </complexType>
84        <element name="AggregatedArray" type="csml:AggregatedArrayType" substitutionGroup="csml:ArrayDescriptor"/>
85        <complexType name="AggregatedArrayPropertyType">
86                <sequence>
87                        <element ref="csml:AggregatedArray"/>
88                </sequence>
89        </complexType>
90        <!--====================================================================== -->
91        <complexType name="InlineArrayType">
92                <annotation>
93                        <documentation>Enables values to be provided inline.</documentation>
94                </annotation>
95                <complexContent>
96                        <extension base="csml:ArrayDescriptorType">
97                                <sequence>
98                                        <element name="values">
99                                                <simpleType>
100                                                        <list itemType="anySimpleType"/>
101                                                </simpleType>
102                                        </element>
103                                </sequence>
104                        </extension>
105                </complexContent>
106        </complexType>
107        <element name="InlineArray" type="csml:InlineArrayType" substitutionGroup="csml:ArrayDescriptor"/>
108        <complexType name="InlineArrayPropertyType">
109                <sequence>
110                        <element ref="csml:InlineArray"/>
111                </sequence>
112        </complexType>
113        <!--====================================================================== -->
114        <complexType name="ArrayGeneratorType">
115                <complexContent>
116                        <extension base="csml:ArrayDescriptorType">
117                                <sequence>
118                                        <element name="expression" type="string"/>
119                                </sequence>
120                        </extension>
121                </complexContent>
122        </complexType>
123        <element name="ArrayGenerator" type="csml:ArrayGeneratorType" substitutionGroup="csml:ArrayDescriptor"/>
124        <complexType name="ArrayGeneratorPropertyType">
125                <sequence>
126                        <element ref="csml:ArrayGenerator"/>
127                </sequence>
128        </complexType>
129        <!--====================================================================== -->
130        <complexType name="FileListType">
131                <sequence>
132                        <element name="fileNames">
133                                <simpleType>
134                                        <list itemType="anyURI"/>
135                                </simpleType>
136                        </element>
137                </sequence>
138                <attribute name="id" type="ID"/>
139        </complexType>
140        <element name="FileList" type="csml:FileListType"/>
141        <complexType name="FileListPropertyType">
142                <sequence minOccurs="0">
143                        <element ref="csml:FileList"/>
144                </sequence>
145                <attributeGroup ref="xlink:simpleLink"/>
146        </complexType>
147        <!--====================================================================== -->
148        <complexType name="FileExtractType" abstract="true">
149                <complexContent>
150                        <extension base="csml:ArrayDescriptorType">
151                                <choice>
152                                        <element name="fileName" type="anyURI"/>
153                                        <element name="fileList" type="csml:FileListPropertyType"/>
154                                </choice>
155                        </extension>
156                </complexContent>
157        </complexType>
158        <element name="FileExtract" type="csml:FileExtractType" abstract="true" substitutionGroup="csml:ArrayDescriptor"/>
159        <!--====================================================================== -->
160        <complexType name="NASAAmesExtractType">
161                <complexContent>
162                        <extension base="csml:FileExtractType">
163                                <sequence>
164                                        <element name="variableName" type="string"/>
165                                        <element name="index" type="int" minOccurs="0"/>
166                                </sequence>
167                        </extension>
168                </complexContent>
169        </complexType>
170        <element name="NASAAmesExtract" type="csml:NASAAmesExtractType" substitutionGroup="csml:FileExtract"/>
171        <complexType name="NASAAmesExtractPropertyType">
172                <sequence>
173                        <element ref="csml:NASAAmesExtract"/>
174                </sequence>
175        </complexType>
176        <!--====================================================================== -->
177        <complexType name="NetCDFExtractType">
178                <complexContent>
179                        <extension base="csml:FileExtractType">
180                                <sequence>
181                                        <element name="variableName" type="string"/>
182                                </sequence>
183                        </extension>
184                </complexContent>
185        </complexType>
186        <element name="NetCDFExtract" type="csml:NetCDFExtractType" substitutionGroup="csml:FileExtract"/>
187        <complexType name="NetCDFExtractPropertyType">
188                <sequence>
189                        <element ref="csml:NetCDFExtract"/>
190                </sequence>
191        </complexType>
192        <!--====================================================================== -->
193        <complexType name="GRIBExtractType">
194                <complexContent>
195                        <extension base="csml:FileExtractType">
196                                <sequence>
197                                        <element name="parameterCode" type="int"/>
198                                        <element name="recordNumber" type="int" minOccurs="0"/>
199                                        <element name="fileOffset" type="int" minOccurs="0"/>
200                                        <element name="ctlVariableName" type="string" minOccurs="0"/>
201                                </sequence>
202                        </extension>
203                </complexContent>
204        </complexType>
205        <element name="GRIBExtract" type="csml:GRIBExtractType" substitutionGroup="csml:FileExtract"/>
206        <complexType name="GRIBExtractPropertyType">
207                <sequence>
208                        <element ref="csml:GRIBExtract"/>
209                </sequence>
210        </complexType>
211        <!--====================================================================== -->
212        <complexType name="CDMLExtractType">
213                <complexContent>
214                        <extension base="csml:NetCDFExtractType"/>
215                </complexContent>
216        </complexType>
217        <element name="CDMLExtract" substitutionGroup="csml:NetCDFExtract"/>
218        <complexType name="CDMLExtractPropertyType">
219                <sequence>
220                        <element ref="csml:CDMLExtract"/>
221                </sequence>
222        </complexType>
223        <!--====================================================================== -->
224        <complexType name="RawFileExtractType">
225                <complexContent>
226                        <extension base="csml:FileExtractType">
227                                <sequence>
228                                        <element name="bitDepth" type="int" minOccurs="0"/>
229                                        <element name="endianness" type="string" minOccurs="0"/>
230                                </sequence>
231                        </extension>
232                </complexContent>
233        </complexType>
234        <element name="RawFileExtract" type="csml:RawFileExtractType" substitutionGroup="csml:FileExtract"/>
235        <!--====================================================================== -->
236        <complexType name="RawFileExtractPropertyType">
237                <sequence>
238                        <element ref="csml:RawFileExtract"/>
239                </sequence>
240        </complexType>
241        <!--====================================================================== -->
242        <!--====================================================================== -->
243        <!--====================================================================== -->
244        <!--====================================================================== -->
245</schema>
Note: See TracBrowser for help on using the repository browser.