source: ndgCommon/trunk/ndg/common/xmldb/schema/moles2.0.xsd @ 5177

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/ndgCommon/trunk/ndg/common/xmldb/schema/moles2.0.xsd@5177
Revision 5177, 2.6 KB checked in by cbyrom, 12 years ago (diff)

Extend moles data model and schema to include the various new
metadata requested - updating the import/export methods + simplifying
object set up by allowing the use of the input dict to specify fields
+ extend test data and test suite.

Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<xs:schema targetNamespace="http://ndg.nerc.ac.uk/schema/moles2beta" elementFormDefault="qualified"
3        attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
4        xmlns:moles="http://ndg.nerc.ac.uk/schema/moles2beta"
5        xmlns:atom="http://www.w3.org/2005/Atom" >
6        <xs:import namespace="http://www.w3.org/2005/Atom" schemaLocation="atom1.0.xsd" />
7        <xs:annotation>
8                <xs:documentation>
9                                This schema represents the non-atom based parts of the moles2.0 specification
10                                - it is used by molesAtom1.0.xsd to define the complete atom version of the moles format
11                </xs:documentation>
12        </xs:annotation>
13        <xs:element name="entity" type="moles:entityType" />
14        <xs:element name="temporalRange" type="xs:string"/>
15       
16        <xs:complexType name="entityType">
17                <xs:annotation>
18                        <xs:documentation>
19                                The moles entity element is used to shoehorn in any data that doesn't logically fit
20                                in to the atom format
21                        </xs:documentation>
22                </xs:annotation>
23                <xs:choice minOccurs="1" maxOccurs="1">
24                        <xs:element name="molesISO" type="moles:molesISOType" minOccurs="1" maxOccurs="1" />
25                </xs:choice>
26        </xs:complexType>
27        <xs:complexType name="molesISOType">
28                <xs:choice maxOccurs="unbounded">
29                        <xs:element name="datasetLanguage" type="xs:string" minOccurs="1" maxOccurs="1" />
30                        <xs:element name="metadataLanguage" type="xs:string" minOccurs="1" maxOccurs="1" />
31                        <xs:element name="abbreviation" type="xs:string" minOccurs="1" maxOccurs="1" />
32                        <xs:element name="providerID" type="xs:string" minOccurs="1" maxOccurs="1" />
33                        <xs:element name="created" type="xs:string" minOccurs="1" maxOccurs="1" />
34                        <xs:element name="responsibleParties" type="moles:responsiblePartiesType" maxOccurs="1" />
35                        <xs:element name="updateFrequency" type="xs:string" maxOccurs="1" />
36                        <xs:element name="lineage" type="xs:string" maxOccurs="1" />
37                        <xs:element name="quality" type="xs:string" maxOccurs="1" />
38                        <xs:element name="spatialResolution" type="xs:string" maxOccurs="1" />
39                        <xs:element name="verticalExtent" type="xs:string" maxOccurs="1" />
40                </xs:choice>
41        </xs:complexType>
42        <xs:complexType name="responsiblePartiesType">
43                <xs:choice>
44                        <xs:element name="responsibleParty" type="moles:responsiblePartyType" maxOccurs="unbounded"/>
45                </xs:choice>
46        </xs:complexType>
47        <xs:complexType name="responsiblePartyType">
48                <xs:choice maxOccurs="unbounded">
49                        <xs:element name="name" type="xs:string" maxOccurs="1" />
50                        <xs:element name="uri" type="xs:anyURI" maxOccurs="1" />
51                        <xs:element name="role" type="xs:string" maxOccurs="1" />
52                </xs:choice>
53        </xs:complexType>
54</xs:schema>
Note: See TracBrowser for help on using the repository browser.