source: TI01-discovery/trunk/schema/numsim/NumSim.xsd @ 3136

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/trunk/schema/numsim/NumSim.xsd@3136
Revision 3136, 26.6 KB checked in by lawrence, 12 years ago (diff)

Modified NumSim as requested by Met Office

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:moles="http://ndg.nerc.ac.uk/moles" xmlns:xs="http://www.w3.org/2001/XMLSchema"
3    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:numsim="http://ndg.nerc.ac.uk/numsim"
4    targetNamespace="http://ndg.nerc.ac.uk/numsim" attributeFormDefault="unqualified"
5    elementFormDefault="qualified">
6    <!-- Note the change to elementFormDefault, and consequences throughout. Should simplify validation! -->
7    <xs:annotation>
8        <xs:documentation>This is V010-02 (BNL 2007-12-12) Support more combinations of models and
9            experiments.
10            (BNL, 2007-10-29) Substantial changes at V009 have mostly
11            been backed out. V010 changes are noted with respect to V00805.</xs:documentation>
12        <xs:documentation>Revision History: v00801, 2007-04-25, Phil Bentley, Proposed syntax
13            changes to follow GML 'in-house' style. v00802, 2007-05-31, Phil Bentley, Inserted
14            comments and prettified. v00803, 2007-07-06, Phil Bentley, Added version attribute to
15            CodeBaseType definition. v00804, 2007-07-18, Phil Bentley, Added IPCC SRES A1FI to
16            BoundaryConditionCodelist. v00805, 2007-07-30, Phil Bentley, Added mandatory name
17            element to ExperimentType.</xs:documentation>
18        <xs:documentation>Previous Version: Bryan Lawrence, Feb 20 2007, May 10th, 2006</xs:documentation>
19        <xs:documentation>The expectation is that this schema will be used initially by import into
20            discovery records (ideally ISO19115 based). While such discovery records already include
21            adequate possibilities to include free text information and/or URI references which
22            would allow such discrimination for a human reader, they do not allow the construction
23            of sensible automatic discriminants, which would allow a software agent to identify, for
24            example, all simulation datasets based on the IPCC SRESA1 forcing specification by the
25            HADCM3 model. Such a software agent is necessary to provide meaningful discovery
26            services on an archive holding multiple simulation datasets, and thus, there is a
27            requirement to build information structures to support such software agents. The NumSim
28            schema provides a minimum set of such metadata structures aimed at supporting the widest
29            possible set of simulation codes. It is expected that more detailed discipline specific
30            metadata schema will exist, such as the Numerical Model Metadata Suite (hereafter the
31            NMM). Where such schema and instances exist, it is desirable that the NumSim instances
32            are automatically generated from the more detailed metadata.</xs:documentation>
33        <xs:documentation>The NumSim schema exists in a context where NumSim compliant xml metadata
34            is to included in a document conforming to an (extensible) parent schema. That parent
35            schema is assumed to have adequate tags to fully describe the data produced by the
36            simulation, the point of the NumSim metadata is to discriminate between such datasets,
37            as a consequence all dataset description is offloaded to the parent schema, but there
38            are some tags which might appear in both the parent and the NumSim schema. In such a
39            case, the scope of the tag in the NumSim schema is simply the scope of the parent
40            element, while the scope of the tag in the parent document should be assumed to be
41            either that of the parent element, or in regard to the data, not the simulation. (For
42            example, reference lists may appear in multiple places in a discovery document, but
43            their scope and applicability is related to where they appear. By doing this it is
44            possible to search for datasets created by simulations with a particular model component
45            which was described in a particular reference.</xs:documentation>
46        <xs:documentation>The simulated element is intended to appear as part of a dataset
47            description, and is used to discriminate between differing simulations of the same
48            phenomena. There are essentially three different cases where it is expected be used, and
49            for which it has been designed: (1) Where the dataset consists of one realization of the
50            simulated phenomena (a single integration of a numerical code). (2) Where the dataset
51            consists of multiple realizations of the phenomena (an ensemble), and (3) Where the
52            dataset consists of a single realization of the simulated phenomena, but where that
53            realization has been generated from an ensemble average (an ensemble “climatology”).</xs:documentation>
54        <xs:documentation>There are a number of schema which are imported here, copies of which are
55            loaded into a directory of schema. These include xlinks.xsd and a number of draft
56            ISO19139 schema components.</xs:documentation>
57    </xs:annotation>
58    <xs:import namespace="http://www.w3.org/1999/xlink"/>
59    <xs:import namespace="http://ndg.nerc.ac.uk/moles"
60        schemaLocation="http://ndg.nerc.ac.uk/schema/ndgmetadata1.3.3.xsd"/>
61    <!-- -->
62    <!-- Definition of the xlink attribute group. -->
63    <!-- -->
64    <xs:attributeGroup name="xlink">
65        <xs:annotation>
66            <xs:documentation>The attributes are those of a hyperlink, with the addition of a role
67                which we might later want to control in a vocabulary.</xs:documentation>
68            <!--Modified in V010-01 to use xs:date-->
69        </xs:annotation>
70        <xs:attribute ref="xlink:href" use="required"/>
71        <xs:attribute ref="xlink:title" use="required"/>
72        <xs:attribute ref="xlink:role" use="optional"/>
73        <xs:attribute name="dateOfCitation" type="xs:date" use="optional"/>
74    </xs:attributeGroup>
75    <!-- -->
76    <!-- Definition of the dictionaryEntryType -->
77    <!-- New in V010-01 -->
78    <!--  -->
79    <xs:complexType name="dictionaryEntryType" mixed="true">
80        <xs:annotation>
81            <xs:documentation>Provides a comma separated list of keywords from an external
82                controlled vocabulary</xs:documentation>
83        </xs:annotation>
84        <xs:all>
85            <xs:element name="dictionary" type="xs:anyURI" minOccurs="1" maxOccurs="1"/>
86        </xs:all>
87    </xs:complexType>
88    <!-- -->
89    <!-- Definition of the RelationshipType. -->
90    <!-- -->
91    <xs:complexType name="RelationshipType">
92        <xs:annotation>
93            <xs:documentation>Used for any relationships.</xs:documentation>
94            <!-- Modified in V010-01 to provide alternative controlled vocabulary to a description type which has
95            been decremented to a simple textstring. Strongly prefer using the controlled vocabulary! -->
96        </xs:annotation>
97        <xs:choice>
98            <xs:element name="description" minOccurs="1" maxOccurs="1" type="xs:string"/>
99            <xs:element name="relationship" minOccurs="1" maxOccurs="unbounded"
100                type="numsim:RelatedToCodelist"/>
101        </xs:choice>
102        <xs:attributeGroup ref="numsim:xlink"/>
103    </xs:complexType>
104    <!-- -->
105    <!-- Definition of the RelatedToCodelist -->
106    <!-- All new in V010 -->
107    <!-- -->
108    <xs:simpleType name="RelatedToCodelist">
109        <xs:annotation>
110            <xs:documentation>This the controlled vocabulary for the various relationships encoded
111                in links. It should correspond to the content at C601 in the vocab server, where
112                full definitions exist. See http://vocab.ndg.nerc.ac.uk. .</xs:documentation>
113        </xs:annotation>
114        <xs:restriction base="xs:string">
115            <xs:enumeration value="earlierVersionOf"/>
116            <xs:enumeration value="derivedVersionOf"/>
117            <xs:enumeration value="componentOf"/>
118            <xs:enumeration value="subcomponentOf"/>
119            <xs:enumeration value="variantOf"/>
120            <xs:enumeration value="similarTo"/>
121            <xs:enumeration value="activityOf"/>
122            <xs:enumeration value="successorTo"/>
123            <xs:enumeration value="usesComponent"/>
124            <xs:enumeration value="uses"/>
125        </xs:restriction>
126    </xs:simpleType>
127    <!-- -->
128    <!-- Definition of the ContentType -->
129    <!-- ContentType introduced at V010-01 to bundle xhtml children into one element for easier parsing to html -->
130    <!-- -->
131    <xs:complexType name="ContentType" mixed="true">
132        <xs:annotation>
133            <xs:documentation>Intended to allow mixed text and xhtml</xs:documentation>
134        </xs:annotation>
135        <xs:sequence>
136            <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0" maxOccurs="unbounded"
137                processContents="lax"/>
138        </xs:sequence>
139    </xs:complexType>
140    <!-- Definition of the DescriptionType. -->
141    <!-- Note the addition of optional keywords at V010-01 -->
142    <!-- -->
143    <xs:complexType name="DescriptionType" mixed="false">
144        <xs:annotation>
145            <xs:documentation>Modified in V010-01 to use the new RelationshipType, and to ensure
146                that the content was split out (to make handling the xhtml
147            easier.</xs:documentation>
148        </xs:annotation>
149        <xs:sequence>
150            <xs:element name="contents" type="numsim:ContentType" minOccurs="0" maxOccurs="1"/>
151            <xs:element name="keywords" type="numsim:dictionaryEntryType" minOccurs="0"
152                maxOccurs="1"/>
153            <xs:element name="relatedTo" type="numsim:RelationshipType" minOccurs="0"
154                maxOccurs="unbounded"/>
155        </xs:sequence>
156    </xs:complexType>
157    <!-- -->
158    <!-- Definition of the ReferenceListType. -->
159    <!-- -->
160    <xs:complexType name="ReferenceListType">
161        <!-- Modified in V010-01 to remove gmd:citation for the sake of validation etc, in doing so, we've introduced
162            a referenceType which can have an explicit URLs via an xlink and which uses mixed content -->
163        <xs:sequence>
164            <xs:element name="reference" type="numsim:ReferenceType" minOccurs="1"
165                maxOccurs="unbounded"/>
166        </xs:sequence>
167    </xs:complexType>
168    <!--- -->
169    <!-- Definition of the reference type -->
170    <!-- Basically the same as the content type, but with attributes of a link and a link type attribute -->
171    <!--  -->
172    <xs:complexType name="ReferenceType" mixed="true">
173        <xs:annotation>
174            <xs:documentation>Used for a human readable reference string. The attributes can be used
175                to provide a clickable link where appropriate (and identify the type uri/url as
176                well). Supports mixed text and xhtml</xs:documentation>
177        </xs:annotation>
178        <xs:sequence>
179            <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0" maxOccurs="unbounded"
180                processContents="lax"/>
181        </xs:sequence>
182        <xs:attribute name="uriScheme"/>
183        <xs:attributeGroup ref="numsim:xlink"/>
184    </xs:complexType>
185
186    <!-- -->
187    <!-- Definition of the ControlledParameterListType. -->
188    <!-- -->
189    <xs:complexType name="ControlledParameterListType">
190        <!-- Modified at V010-01 to make explicit the notion that controlled parameters can be assembled from multiple lists (it was always implicit)-->
191        <xs:sequence>
192            <xs:element name="namespaceURI" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded">
193                <xs:annotation>
194                    <xs:documentation>Rather than rely on including xml namespaces, which can be
195                        done in the element values below, we've also allowed an explicitly labelled
196                        link to such namespaces, and to namespaces which are not XML
197                    namespaces.</xs:documentation>
198                </xs:annotation>
199            </xs:element>
200            <xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
201        </xs:sequence>
202    </xs:complexType>
203    <!-- -->
204    <!-- Definition of the InitialConditionCodelist. -->
205    <!-- Extended at V010-01 -->
206    <!-- -->
207    <xs:simpleType name="InitialConditionCodelist">
208        <xs:restriction base="xs:string">
209            <xs:enumeration value="Objective Analysis"/>
210            <xs:enumeration value="Assimilation Analysis"/>
211            <xs:enumeration value="Unknown"/>
212            <xs:enumeration value="Climatology"/>
213            <xs:enumeration value="Random"/>
214            <!-- New in V010-01-->
215            <xs:enumeration value="PreviousIntegration"/>
216        </xs:restriction>
217    </xs:simpleType>
218    <!-- -->
219    <!-- Definition of the ModelComponentCodelist. -->
220    <!-- -->
221    <xs:simpleType name="ModelComponentCodelist">
222        <xs:annotation>
223            <xs:documentation>This the controlled vocabulary for the various model sub components
224                which might be able to run independently but could be coupled.</xs:documentation>
225        </xs:annotation>
226        <xs:restriction base="xs:string">
227            <xs:enumeration value="Atmosphere"/>
228            <xs:enumeration value="Ocean"/>
229            <xs:enumeration value="Cryosphere"/>
230            <xs:enumeration value="LandSurface"/>
231            <xs:enumeration value="Chemistry"/>
232            <xs:enumeration value="Aerosol"/>
233            <xs:enumeration value="Coupler"/>
234            <!-- New in V010-01-->
235            <xs:enumeration value="CarbonCycle"/>
236            <xs:enumeration value="RadiationScheme"/>
237            <xs:enumeration value="BoundaryLayer"/>
238            <xs:enumeration value="ConvectionScheme"/>
239            <xs:enumeration value="GravityWaves"/>
240            <xs:enumeration value="CloudScheme"/>
241            <xs:enumeration value="PrecipitationScheme"/>
242            <xs:enumeration value="AdvectionScheme"/>
243            <xs:enumeration value="DiffusionScheme"/>
244            <xs:enumeration value="AerosolScheme"/>
245            <xs:enumeration value="RiverScheme"/>
246            <xs:enumeration value="Filtering"/>
247            <xs:enumeration value="MixedLayerScheme"/>
248            <xs:enumeration value="OceanStraitScheme"/>
249        </xs:restriction>
250    </xs:simpleType>
251
252    <!-- -->
253    <!-- Definition of the ModelCategoryCodelist. -->
254    <!-- -->
255    <xs:simpleType name="ModelCategoryCodelist">
256        <xs:annotation>
257            <xs:documentation>This the controlled vocabulary that categorises how the model is set
258                up</xs:documentation>
259        </xs:annotation>
260        <xs:restriction base="xs:string" id="NumSim_ModelCategories_007">
261            <xs:enumeration value="GCM"/>
262            <xs:enumeration value="Standalone"/>
263            <xs:enumeration value="Idealised"/>
264            <xs:enumeration value="Energy Balance"/>
265            <xs:enumeration value="Assimilation"/>
266            <xs:enumeration value="Beta-plane"/>
267            <xs:enumeration value="Aqua-planet"/>
268            <xs:enumeration value="Column Mean"/>
269            <xs:enumeration value="Slab"/>
270            <xs:enumeration value="Trajectory"/>
271            <!-- New in V010-01-->
272            <xs:enumeration value="hydrostatic"/>
273            <xs:enumeration value="non-hydrostatic"/>
274        </xs:restriction>
275    </xs:simpleType>
276    <!-- -->
277    <!-- Definition of the BoundaryConditionCodelist. -->
278    <!-- -->
279    <xs:simpleType name="BoundaryConditionCodelist">
280        <xs:annotation>
281            <xs:documentation>This the controlled vocabulary for Forcing
282            Specifications</xs:documentation>
283        </xs:annotation>
284        <xs:restriction base="xs:string" id="NumSim_BoundaryConditionTypes_007">
285            <xs:enumeration value="IPCC SRES A1"/>
286            <xs:enumeration value="IPCC SRES A2"/>
287            <xs:enumeration value="IPCC SRES B1"/>
288            <xs:enumeration value="IPCC SRES B2"/>
289            <xs:enumeration value="IPCC SRES A1FI"/>
290            <xs:enumeration value="IS92A"/>
291            <xs:enumeration value="Preindustrial"/>
292            <xs:enumeration value="Present Day"/>
293            <xs:enumeration value="Double Preindustrial"/>
294            <xs:enumeration value="Double Present Day"/>
295            <xs:enumeration value="Background"/>
296            <xs:enumeration value="Historical"/>
297            <xs:enumeration value="% per annum increase"/>
298            <xs:enumeration value="Lateral Boundary Global Model"/>
299            <xs:enumeration value="User Specified"/>
300        </xs:restriction>
301    </xs:simpleType>
302    <!-- -->
303    <!-- Definition of the EnsembleTypeCodelist. -->
304    <!-- -->
305    <xs:simpleType name="EnsembleTypeCodelist">
306        <xs:annotation>
307            <xs:documentation>This the controlled vocabulary for the types of ensemble. Note that a
308                Grand ensemble is a combination of two or more other ensemble
309            types.</xs:documentation>
310        </xs:annotation>
311        <xs:restriction base="xs:string">
312            <xs:enumeration value="Initial Condition"/>
313            <xs:enumeration value="Perturbed Physics"/>
314            <xs:enumeration value="Arbitrary Collection"/>
315            <xs:enumeration value="Single Model"/>
316            <xs:enumeration value="Multiple Model"/>
317            <xs:enumeration value="Multiple Forcing"/>
318            <xs:enumeration value="Grand"/>
319        </xs:restriction>
320    </xs:simpleType>
321
322    <!-- -->
323    <!-- Definition of the InitialConditionType. -->
324    <!-- -->
325    <xs:complexType name="InitialConditionType" mixed="false">
326        <xs:annotation>
327            <xs:documentation>Multiple initial condition elements can appear to cover how different
328                parts of the model system were initialized. If present, the main requirement is that
329                the initial condition be described in the description element and those parameters
330                which are controlled by the initial condition be identified if possible. Failing a
331                description (or as well as) the type attribute can identify the sort of initial
332                condition from the InitialConditionTypes controlled vocabulary.</xs:documentation>
333            <xs:documentation>Where the initial condition is in fact a perturbed version of the
334                “real” values for the starting time (perhaps as part of an ensemble), the perturbed
335                Boolean attribute can be set true (the default is false). Where the perturbation is
336                physically meaningful (for example, using singular vectors), this can be indicated
337                in the description.</xs:documentation>
338        </xs:annotation>
339        <xs:sequence>
340            <xs:element name="description" type="numsim:DescriptionType" minOccurs="0" maxOccurs="1"/>
341            <xs:element name="controlledParameters" type="numsim:ControlledParameterListType"
342                minOccurs="0" maxOccurs="unbounded"/>
343            <xs:element name="references" type="numsim:ReferenceListType" minOccurs="0"
344                maxOccurs="1"/>
345        </xs:sequence>
346        <xs:attribute name="type" type="numsim:InitialConditionCodelist"/>
347        <xs:attribute name="perturbed" type="xs:boolean"/>
348    </xs:complexType>
349
350    <!-- -->
351    <!-- Definition of the BoundaryConditionType. -->
352    <!-- -->
353    <xs:complexType name="BoundaryConditionType">
354        <xs:sequence>
355            <xs:element name="description" type="numsim:DescriptionType" minOccurs="1"/>
356            <xs:element name="controlledParameters" type="numsim:ControlledParameterListType"
357                minOccurs="0" maxOccurs="unbounded"/>
358            <xs:element name="references" type="numsim:ReferenceListType" minOccurs="0"
359                maxOccurs="1"/>
360            <xs:element name="boundaryDataset" type="numsim:RelationshipType" minOccurs="0"
361                maxOccurs="1"/>
362        </xs:sequence>
363        <xs:attribute name="type" type="numsim:BoundaryConditionCodelist"/>
364    </xs:complexType>
365
366    <!-- -->
367    <!-- Definition of the EnsembleDetailsType. -->
368    <!-- -->
369    <xs:complexType name="EnsembleDetailsType">
370        <xs:annotation>
371            <xs:documentation>If not present, the default assumption should be that the simulation
372                is a single realization. If present, the attribute can identify that the data
373                represents an ensemble climatology by setting the Boolean EnsembleStatistics to
374                True, otherwise the default is that the data are multiple realizations. This element
375                may include multiple EnsembleType elements, which are drawn from the EnsembleTypes
376                controlled vocabulary: o Initial Condition o Perturbed Physics o Arbitrary
377                Collection o Single Mode o Multiple Model o Multiple Forcing o GrandEnsemble (any
378                combination of the others, in which case the exact combination should be recorded in
379                the EnsembleDescription element - itself including both a textural component and an
380                optional related URI for more information). If only one integration is included,
381                just one model element should be used. Whether an ensemble or a single integration
382                is described by this element, multiple boundary and initial conditions elements are
383                allowed (in the case of single integrations to support multiple components of the
384                model having different initial and/or boundary conditions, and for ensembles to
385                potentially include multiple boundary conditions associated with multiple forcings).
386                (Note that more complex ensemble statistics, such as, for example probability
387                distribution functions, are likely to be more fully described by the data
388                attributes, this attribute is simply used to aid users in finding ensemble averages
389                and avoid them being mistaken for instances and used
390            inappropriately).</xs:documentation>
391        </xs:annotation>
392        <xs:sequence>
393            <xs:element name="description" type="numsim:DescriptionType" minOccurs="0" maxOccurs="1"/>
394            <!-- Note name change from type to ensembleType at V010-01 -->
395            <xs:element name="ensembleType" type="numsim:EnsembleTypeCodelist" minOccurs="1"
396                maxOccurs="unbounded"/>
397        </xs:sequence>
398        <xs:attribute name="ensembleStatistics" type="xs:boolean" default="0"/>
399    </xs:complexType>
400
401    <!-- -->
402    <!-- Definition of the ModelType. -->
403    <!-- -->
404    <xs:complexType name="ModelType">
405        <xs:annotation>
406            <xs:documentation>The NS_Model complex type is used to both as the type of the overall
407                model description (forming a compulsory element within the NumSIm element itself),
408                and as the type of any sub component of that model.</xs:documentation>
409        </xs:annotation>
410        <xs:sequence>
411            <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
412            <xs:element name="id" type="moles:dgMetadataIDType" minOccurs="0" maxOccurs="1"/>
413            <xs:element name="category" type="numsim:ModelCategoryCodelist" minOccurs="0"
414                maxOccurs="unbounded"/>
415            <xs:element name="componentType" type="numsim:ModelComponentCodelist" minOccurs="0"
416                maxOccurs="unbounded"/>
417            <xs:element name="description" type="numsim:DescriptionType" minOccurs="0" maxOccurs="1"/>
418            <xs:element name="resolution" type="numsim:DescriptionType" minOccurs="0" maxOccurs="1"/>
419            <xs:element name="relatedModel" type="numsim:RelationshipType" minOccurs="0"
420                maxOccurs="unbounded"/>
421            <xs:element name="references" type="numsim:ReferenceListType" minOccurs="0"
422                maxOccurs="1"/>
423            <xs:element name="component" type="numsim:ModelType" minOccurs="0" maxOccurs="unbounded"
424            />
425        </xs:sequence>
426    </xs:complexType>
427
428    <!-- -->
429    <!-- Definition of the ExperimentType. -->
430    <!-- -->
431    <xs:complexType name="ExperimentType">
432        <xs:annotation>
433            <xs:documentation>Used to define how the model has been used. Note that the
434                NS_ParentEnsemble can be used when an integration is available as in independant
435                dataset to point back to the parent ensemble dataset.</xs:documentation>
436        </xs:annotation>
437        <xs:sequence>
438            <xs:element name="name" type="xs:string"/>
439            <xs:element name="id" type="moles:dgMetadataIDType" minOccurs="1" maxOccurs="1"/>
440            <xs:element name="baseModel" type="numsim:RelationshipType">
441                <xs:annotation>
442                    <xs:documentation>It is assumed that the consumer of this document can parse
443                        this ID locate it, and populate the contents as appropriate. At some future
444                        version we might use an xlink here.</xs:documentation>
445                </xs:annotation>
446            </xs:element>
447            <xs:element name="description" type="numsim:DescriptionType"/>
448            <xs:element name="references" type="numsim:ReferenceListType"/>
449            <xs:element name="boundaryCondition" type="numsim:BoundaryConditionType" minOccurs="0"
450                maxOccurs="unbounded"/>
451            <xs:element name="initialCondition" type="numsim:InitialConditionType" minOccurs="0"
452                maxOccurs="unbounded"/>
453            <xs:element name="ensemble" type="numsim:EnsembleDetailsType" minOccurs="0"
454                maxOccurs="1"/>
455            <xs:element name="parentEnsemble" type="numsim:RelationshipType" minOccurs="0"
456                maxOccurs="unbounded"/>
457        </xs:sequence>
458    </xs:complexType>
459    <!-- -->
460    <!-- Definition of the NumSimType. -->
461    <!-- -->
462    <xs:complexType name="NumSimType">
463        <!-- Note that the CodeBase concept was removed at V010-01 in favour of the model envelop which makes things a bit
464            clearer both in producing and consuming NumSim documents.
465            The name of document element has changed to make this obvious! -->
466        <xs:annotation>
467            <xs:documentation>Anything from Dublin Core may be included here, with the intention of
468                identifying, in particular, the authorship of the NumSim document itself. However,
469                note that the existing ndg code to consume document instances will only look for the
470                dc:creator elements</xs:documentation>
471        </xs:annotation>
472        <xs:sequence>
473                <xs:element name="model" type="numsim:ModelType" minOccurs="0" maxOccurs="1"/>
474                <xs:element name="experiment" type="numsim:ExperimentType" minOccurs="0" maxOccurs="unbounded"/>
475            <xs:any namespace="http://purl.org/dc/elements/1.1/dc" minOccurs="0"
476                maxOccurs="unbounded" processContents="lax"/>
477        </xs:sequence>
478        <xs:attribute name="version"/>
479    </xs:complexType>
480    <!-- -->
481    <!-- simulationMetadata is the document element. -->
482    <!-- -->
483    <xs:element name="simulationMetadata" type="numsim:NumSimType"/>
484</xs:schema>
Note: See TracBrowser for help on using the repository browser.