Revision 8613
Added by Chris Jones almost 11 years ago
lib/schema/dryad/dryad.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dwc="http://rs.tdwg.org/dwc/terms/" |
|
3 |
xmlns:dcterms="http://purl.org/dc/terms/" xmlns="http://purl.org/dryad/schema/terms/v3.1" |
|
4 |
xmlns:bibo="http://purl.org/dryad/schema/dryad-bibo/v3.1" targetNamespace="http://purl.org/dryad/schema/terms/v3.1"> |
|
5 |
|
|
6 |
<xs:import namespace="http://purl.org/dc/terms/" /> |
|
7 |
<xs:import namespace="http://rs.tdwg.org/dwc/terms/" /> |
|
8 |
<xs:import namespace="http://purl.org/dryad/schema/dryad-bibo/v3.1" /> |
|
9 |
|
|
10 |
<!-- For the Dryad data package --> |
|
11 |
<xs:element name="DryadDataPackage"> |
|
12 |
<xs:complexType> |
|
13 |
<xs:sequence> |
|
14 |
<xs:element ref="dcterms:type"/> |
|
15 |
<xs:element ref="dcterms:creator" maxOccurs="unbounded"/> |
|
16 |
<xs:element ref="dcterms:dateSubmitted"/> |
|
17 |
<xs:element ref="dcterms:available"/> |
|
18 |
<xs:element ref="dcterms:title" maxOccurs="unbounded"/> |
|
19 |
<xs:element ref="dcterms:identifier" maxOccurs="unbounded"/> |
|
20 |
<xs:element ref="dcterms:description" minOccurs="0"/> |
|
21 |
<xs:element ref="dcterms:subject" minOccurs="0" maxOccurs="unbounded"/> |
|
22 |
<xs:element ref="dwc:scientificName" minOccurs="0" maxOccurs="unbounded"/> |
|
23 |
<xs:element ref="dcterms:spatial" minOccurs="0" maxOccurs="unbounded"/> |
|
24 |
<xs:element ref="dcterms:temporal" minOccurs="0" maxOccurs="unbounded"/> |
|
25 |
<xs:element ref="external" minOccurs="0" maxOccurs="unbounded"/> |
|
26 |
<xs:element ref="dcterms:references" minOccurs="0"/> |
|
27 |
<xs:element ref="bibo:pmid" minOccurs="0" /> |
|
28 |
<xs:element ref="bibo:Journal" minOccurs="0" /> |
|
29 |
<xs:element ref="dcterms:hasPart" maxOccurs="unbounded"/> |
|
30 |
</xs:sequence> |
|
31 |
</xs:complexType> |
|
32 |
</xs:element> |
|
33 |
|
|
34 |
<!-- For the Dryad data file --> |
|
35 |
<xs:element name="DryadDataFile"> |
|
36 |
<xs:complexType> |
|
37 |
<xs:sequence> |
|
38 |
<xs:element ref="dcterms:type"/> |
|
39 |
<xs:element ref="dcterms:creator" maxOccurs="unbounded"/> |
|
40 |
<xs:element ref="dcterms:title"/> |
|
41 |
<xs:element ref="dcterms:identifier" maxOccurs="unbounded"/> |
|
42 |
<xs:element ref="dcterms:rights"/> |
|
43 |
<xs:element ref="dcterms:description" minOccurs="0"/> |
|
44 |
<xs:element ref="dcterms:subject" minOccurs="0" maxOccurs="unbounded"/> |
|
45 |
<xs:element ref="dwc:scientificName" minOccurs="0" maxOccurs="unbounded"/> |
|
46 |
<xs:element ref="dcterms:spatial" minOccurs="0" maxOccurs="unbounded"/> |
|
47 |
<xs:element ref="dcterms:temporal" minOccurs="0" maxOccurs="unbounded"/> |
|
48 |
<xs:element ref="dcterms:dateSubmitted"/> |
|
49 |
<xs:element ref="dcterms:available"/> |
|
50 |
<xs:element ref="embargoedUntil" minOccurs="0"/> |
|
51 |
<xs:element ref="dcterms:format" minOccurs="0"/> |
|
52 |
<xs:element ref="dcterms:provenance" maxOccurs="unbounded"/> |
|
53 |
<xs:element ref="dcterms:isPartOf"/> |
|
54 |
</xs:sequence> |
|
55 |
</xs:complexType> |
|
56 |
</xs:element> |
|
57 |
|
|
58 |
<!-- Dryad defined elements --> |
|
59 |
<xs:element name="status" type="xs:string"/> |
|
60 |
<xs:element name="external" type="xs:string"/> |
|
61 |
<xs:element name="embargoedUntil" substitutionGroup="dcterms:date"/> |
|
62 |
|
|
63 |
</xs:schema> |
lib/schema/dryad/dryad-bibo.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
3 |
targetNamespace="http://purl.org/dryad/schema/dryad-bibo/v3.1" xmlns="http://purl.org/dryad/schema/dryad-bibo/v3.1" |
|
4 |
elementFormDefault="qualified" attributeFormDefault="unqualified"> |
|
5 |
|
|
6 |
<!-- This is not the full bibo, just the elements we're reusing --> |
|
7 |
<xs:element name="status" type="xs:string"/> |
|
8 |
<xs:element name="Journal" type="xs:string"/> |
|
9 |
<xs:element name="issn" type="xs:string"/> |
|
10 |
<xs:element name="eissn" type="xs:string"/> |
|
11 |
<xs:element name="volume" type="xs:string"/> |
|
12 |
<xs:element name="issue" type="xs:string"/> |
|
13 |
<xs:element name="pageStart" type="xs:string"/> |
|
14 |
<xs:element name="pageEnd" type="xs:string"/> |
|
15 |
<xs:element name="pages" type="xs:string"/> |
|
16 |
<xs:element name="doi" type="xs:string"/> |
|
17 |
<xs:element name="pmid" type="xs:string"/> |
|
18 |
</xs:schema> |
lib/schema/dc/dc.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
3 |
xmlns="http://purl.org/dc/elements/1.1/" |
|
4 |
targetNamespace="http://purl.org/dc/elements/1.1/" |
|
5 |
elementFormDefault="qualified" |
|
6 |
attributeFormDefault="unqualified"> |
|
7 |
|
|
8 |
<xs:annotation> |
|
9 |
<xs:documentation xml:lang="en"> |
|
10 |
DCMES 1.1 XML Schema |
|
11 |
XML Schema for http://purl.org/dc/elements/1.1/ namespace |
|
12 |
|
|
13 |
Created 2008-02-11 |
|
14 |
|
|
15 |
Created by |
|
16 |
|
|
17 |
Tim Cole (t-cole3@uiuc.edu) |
|
18 |
Tom Habing (thabing@uiuc.edu) |
|
19 |
Jane Hunter (jane@dstc.edu.au) |
|
20 |
Pete Johnston (p.johnston@ukoln.ac.uk), |
|
21 |
Carl Lagoze (lagoze@cs.cornell.edu) |
|
22 |
|
|
23 |
This schema declares XML elements for the 15 DC elements from the |
|
24 |
http://purl.org/dc/elements/1.1/ namespace. |
|
25 |
|
|
26 |
It defines a complexType SimpleLiteral which permits mixed content |
|
27 |
and makes the xml:lang attribute available. It disallows child elements by |
|
28 |
use of minOcccurs/maxOccurs. |
|
29 |
|
|
30 |
However, this complexType does permit the derivation of other complexTypes |
|
31 |
which would permit child elements. |
|
32 |
|
|
33 |
All elements are declared as substitutable for the abstract element any, |
|
34 |
which means that the default type for all elements is dc:SimpleLiteral. |
|
35 |
|
|
36 |
</xs:documentation> |
|
37 |
|
|
38 |
</xs:annotation> |
|
39 |
|
|
40 |
|
|
41 |
<xs:import namespace="http://www.w3.org/XML/1998/namespace" |
|
42 |
schemaLocation="http://www.w3.org/2001/03/xml.xsd"> |
|
43 |
</xs:import> |
|
44 |
|
|
45 |
<xs:complexType name="SimpleLiteral"> |
|
46 |
<xs:annotation> |
|
47 |
<xs:documentation xml:lang="en"> |
|
48 |
This is the default type for all of the DC elements. |
|
49 |
It permits text content only with optional |
|
50 |
xml:lang attribute. |
|
51 |
Text is allowed because mixed="true", but sub-elements |
|
52 |
are disallowed because minOccurs="0" and maxOccurs="0" |
|
53 |
are on the xs:any tag. |
|
54 |
|
|
55 |
This complexType allows for restriction or extension permitting |
|
56 |
child elements. |
|
57 |
</xs:documentation> |
|
58 |
</xs:annotation> |
|
59 |
|
|
60 |
<xs:complexContent mixed="true"> |
|
61 |
<xs:restriction base="xs:anyType"> |
|
62 |
<xs:sequence> |
|
63 |
<xs:any processContents="lax" minOccurs="0" maxOccurs="0"/> |
|
64 |
</xs:sequence> |
|
65 |
<xs:attribute ref="xml:lang" use="optional"/> |
|
66 |
</xs:restriction> |
|
67 |
</xs:complexContent> |
|
68 |
</xs:complexType> |
|
69 |
|
|
70 |
<xs:element name="any" type="SimpleLiteral" abstract="true"/> |
|
71 |
|
|
72 |
<xs:element name="title" substitutionGroup="any"/> |
|
73 |
<xs:element name="creator" substitutionGroup="any"/> |
|
74 |
<xs:element name="subject" substitutionGroup="any"/> |
|
75 |
<xs:element name="description" substitutionGroup="any"/> |
|
76 |
<xs:element name="publisher" substitutionGroup="any"/> |
|
77 |
<xs:element name="contributor" substitutionGroup="any"/> |
|
78 |
<xs:element name="date" substitutionGroup="any"/> |
|
79 |
<xs:element name="type" substitutionGroup="any"/> |
|
80 |
<xs:element name="format" substitutionGroup="any"/> |
|
81 |
<xs:element name="identifier" substitutionGroup="any"/> |
|
82 |
<xs:element name="source" substitutionGroup="any"/> |
|
83 |
<xs:element name="language" substitutionGroup="any"/> |
|
84 |
<xs:element name="relation" substitutionGroup="any"/> |
|
85 |
<xs:element name="coverage" substitutionGroup="any"/> |
|
86 |
<xs:element name="rights" substitutionGroup="any"/> |
|
87 |
|
|
88 |
<xs:group name="elementsGroup"> |
|
89 |
<xs:annotation> |
|
90 |
<xs:documentation xml:lang="en"> |
|
91 |
This group is included as a convenience for schema authors |
|
92 |
who need to refer to all the elements in the |
|
93 |
http://purl.org/dc/elements/1.1/ namespace. |
|
94 |
</xs:documentation> |
|
95 |
</xs:annotation> |
|
96 |
|
|
97 |
<xs:sequence> |
|
98 |
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
|
99 |
<xs:element ref="any"/> |
|
100 |
</xs:choice> |
|
101 |
</xs:sequence> |
|
102 |
</xs:group> |
|
103 |
|
|
104 |
<xs:complexType name="elementContainer"> |
|
105 |
<xs:annotation> |
|
106 |
<xs:documentation xml:lang="en"> |
|
107 |
This complexType is included as a convenience for schema authors who need to define a root |
|
108 |
or container element for all of the DC elements. |
|
109 |
</xs:documentation> |
|
110 |
</xs:annotation> |
|
111 |
|
|
112 |
<xs:choice> |
|
113 |
<xs:group ref="elementsGroup"/> |
|
114 |
</xs:choice> |
|
115 |
</xs:complexType> |
|
116 |
|
|
117 |
|
|
118 |
</xs:schema> |
lib/schema/dc/dcmitype.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
3 |
xmlns="http://purl.org/dc/dcmitype/" |
|
4 |
targetNamespace="http://purl.org/dc/dcmitype/" |
|
5 |
elementFormDefault="qualified" |
|
6 |
attributeFormDefault="unqualified"> |
|
7 |
|
|
8 |
<xs:annotation> |
|
9 |
<xs:documentation xml:lang="en"> |
|
10 |
DCMI Type Vocabulary XML Schema |
|
11 |
XML Schema for http://purl.org/dc/dcmitype/ namespace |
|
12 |
|
|
13 |
Created 2008-02-11 |
|
14 |
|
|
15 |
Created by |
|
16 |
|
|
17 |
Tim Cole (t-cole3@uiuc.edu) |
|
18 |
Tom Habing (thabing@uiuc.edu) |
|
19 |
Jane Hunter (jane@dstc.edu.au) |
|
20 |
Pete Johnston (p.johnston@ukoln.ac.uk), |
|
21 |
Carl Lagoze (lagoze@cs.cornell.edu) |
|
22 |
|
|
23 |
This schema defines a simpleType which enumerates |
|
24 |
the allowable values for the DCMI Type Vocabulary. |
|
25 |
</xs:documentation> |
|
26 |
|
|
27 |
|
|
28 |
</xs:annotation> |
|
29 |
|
|
30 |
|
|
31 |
<xs:simpleType name="DCMIType"> |
|
32 |
<xs:union> |
|
33 |
<xs:simpleType> |
|
34 |
<xs:restriction base="xs:Name"> |
|
35 |
<xs:enumeration value="Collection"/> |
|
36 |
<xs:enumeration value="Dataset"/> |
|
37 |
<xs:enumeration value="Event"/> |
|
38 |
<xs:enumeration value="Image"/> |
|
39 |
<xs:enumeration value="MovingImage"/> |
|
40 |
<xs:enumeration value="StillImage"/> |
|
41 |
<xs:enumeration value="InteractiveResource"/> |
|
42 |
<xs:enumeration value="Service"/> |
|
43 |
<xs:enumeration value="Software"/> |
|
44 |
<xs:enumeration value="Sound"/> |
|
45 |
<xs:enumeration value="Text"/> |
|
46 |
<xs:enumeration value="PhysicalObject"/> |
|
47 |
</xs:restriction> |
|
48 |
</xs:simpleType> |
|
49 |
</xs:union> |
|
50 |
</xs:simpleType> |
|
51 |
|
|
52 |
</xs:schema> |
lib/schema/dc/dcterms.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
3 |
xmlns:dc="http://purl.org/dc/elements/1.1/" |
|
4 |
xmlns:dcmitype="http://purl.org/dc/dcmitype/" |
|
5 |
targetNamespace="http://purl.org/dc/terms/" |
|
6 |
xmlns="http://purl.org/dc/terms/" |
|
7 |
elementFormDefault="qualified" |
|
8 |
attributeFormDefault="unqualified"> |
|
9 |
|
|
10 |
<xs:annotation> |
|
11 |
<xs:documentation xml:lang="en"> |
|
12 |
DCterms XML Schema |
|
13 |
XML Schema for http://purl.org/dc/terms/ namespace |
|
14 |
|
|
15 |
Created 2008-02-11 |
|
16 |
|
|
17 |
Created by |
|
18 |
|
|
19 |
Tim Cole (t-cole3@uiuc.edu) |
|
20 |
Tom Habing (thabing@uiuc.edu) |
|
21 |
Jane Hunter (jane@dstc.edu.au) |
|
22 |
Pete Johnston (p.johnston@ukoln.ac.uk), |
|
23 |
Carl Lagoze (lagoze@cs.cornell.edu) |
|
24 |
|
|
25 |
This schema declares XML elements for the DC elements and |
|
26 |
DC element refinements from the http://purl.org/dc/terms/ namespace. |
|
27 |
|
|
28 |
It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd |
|
29 |
schema, which permits simple element content, and makes the xml:lang |
|
30 |
attribute available. |
|
31 |
|
|
32 |
This complexType permits the derivation of other complexTypes |
|
33 |
which would permit child elements. |
|
34 |
|
|
35 |
XML elements corresponding to DC elements are declared as substitutable for the abstract element dc:any, and |
|
36 |
XML elements corresponding to DC element refinements are defined as substitutable for the base elements |
|
37 |
which they refine. |
|
38 |
|
|
39 |
This means that the default type for all XML elements (i.e. corresponding to all DC elements and |
|
40 |
element refinements) is dc:SimpleLiteral. |
|
41 |
|
|
42 |
Encoding schemes are defined as complexTypes which are restrictions |
|
43 |
of the dc:SimpleLiteral complexType. These complexTypes restrict |
|
44 |
values to an appropriates syntax or format using data typing, |
|
45 |
regular expressions, or enumerated lists. |
|
46 |
|
|
47 |
In order to specify one of these encodings an xsi:type attribute must |
|
48 |
be used in the instance document. |
|
49 |
|
|
50 |
Also, note that one shortcoming of this approach is that any type can be |
|
51 |
applied to any of the elements or refinements. There is no convenient way |
|
52 |
to restrict types to specific elements using this approach. |
|
53 |
|
|
54 |
Changes in 2008-02-11 version: |
|
55 |
|
|
56 |
Add element declarations corresponding to 15 new dcterms URIs, and amend use of substitutionGroups. |
|
57 |
|
|
58 |
Add compexType definitions corresponding to ISO639-3, RFC4646. |
|
59 |
|
|
60 |
</xs:documentation> |
|
61 |
|
|
62 |
</xs:annotation> |
|
63 |
|
|
64 |
|
|
65 |
<xs:import namespace="http://www.w3.org/XML/1998/namespace" |
|
66 |
schemaLocation="http://www.w3.org/2001/03/xml.xsd"> |
|
67 |
</xs:import> |
|
68 |
|
|
69 |
<xs:import namespace="http://purl.org/dc/elements/1.1/" |
|
70 |
schemaLocation="dc.xsd"/> |
|
71 |
|
|
72 |
<xs:import namespace="http://purl.org/dc/dcmitype/" |
|
73 |
schemaLocation="dcmitype.xsd"/> |
|
74 |
|
|
75 |
<xs:element name="title" substitutionGroup="dc:title"/> |
|
76 |
<xs:element name="creator" substitutionGroup="dc:creator"/> |
|
77 |
<xs:element name="subject" substitutionGroup="dc:subject"/> |
|
78 |
<xs:element name="description" substitutionGroup="dc:description"/> |
|
79 |
<xs:element name="publisher" substitutionGroup="dc:publisher"/> |
|
80 |
<xs:element name="contributor" substitutionGroup="dc:contributor"/> |
|
81 |
<xs:element name="date" substitutionGroup="dc:date"/> |
|
82 |
<xs:element name="type" substitutionGroup="dc:type"/> |
|
83 |
<xs:element name="format" substitutionGroup="dc:format"/> |
|
84 |
<xs:element name="identifier" substitutionGroup="dc:identifier"/> |
|
85 |
<xs:element name="source" substitutionGroup="dc:source"/> |
|
86 |
<xs:element name="language" substitutionGroup="dc:language"/> |
|
87 |
<xs:element name="relation" substitutionGroup="dc:relation"/> |
|
88 |
<xs:element name="coverage" substitutionGroup="dc:coverage"/> |
|
89 |
<xs:element name="rights" substitutionGroup="dc:rights"/> |
|
90 |
|
|
91 |
<xs:element name="alternative" substitutionGroup="title"/> |
|
92 |
|
|
93 |
<xs:element name="tableOfContents" substitutionGroup="description"/> |
|
94 |
<xs:element name="abstract" substitutionGroup="description"/> |
|
95 |
|
|
96 |
<xs:element name="created" substitutionGroup="date"/> |
|
97 |
<xs:element name="valid" substitutionGroup="date"/> |
|
98 |
<xs:element name="available" substitutionGroup="date"/> |
|
99 |
<xs:element name="issued" substitutionGroup="date"/> |
|
100 |
<xs:element name="modified" substitutionGroup="date"/> |
|
101 |
<xs:element name="dateAccepted" substitutionGroup="date"/> |
|
102 |
<xs:element name="dateCopyrighted" substitutionGroup="date"/> |
|
103 |
<xs:element name="dateSubmitted" substitutionGroup="date"/> |
|
104 |
|
|
105 |
<xs:element name="extent" substitutionGroup="format"/> |
|
106 |
<xs:element name="medium" substitutionGroup="format"/> |
|
107 |
|
|
108 |
<xs:element name="isVersionOf" substitutionGroup="relation"/> |
|
109 |
<xs:element name="hasVersion" substitutionGroup="relation"/> |
|
110 |
<xs:element name="isReplacedBy" substitutionGroup="relation"/> |
|
111 |
<xs:element name="replaces" substitutionGroup="relation"/> |
|
112 |
<xs:element name="isRequiredBy" substitutionGroup="relation"/> |
|
113 |
<xs:element name="requires" substitutionGroup="relation"/> |
|
114 |
<xs:element name="isPartOf" substitutionGroup="relation"/> |
|
115 |
<xs:element name="hasPart" substitutionGroup="relation"/> |
|
116 |
<xs:element name="isReferencedBy" substitutionGroup="relation"/> |
|
117 |
<xs:element name="references" substitutionGroup="relation"/> |
|
118 |
<xs:element name="isFormatOf" substitutionGroup="relation"/> |
|
119 |
<xs:element name="hasFormat" substitutionGroup="relation"/> |
|
120 |
<xs:element name="conformsTo" substitutionGroup="relation"/> |
|
121 |
|
|
122 |
<xs:element name="spatial" substitutionGroup="coverage"/> |
|
123 |
<xs:element name="temporal" substitutionGroup="coverage"/> |
|
124 |
|
|
125 |
<xs:element name="audience" substitutionGroup="dc:any"/> |
|
126 |
<xs:element name="accrualMethod" substitutionGroup="dc:any"/> |
|
127 |
<xs:element name="accrualPeriodicity" substitutionGroup="dc:any"/> |
|
128 |
<xs:element name="accrualPolicy" substitutionGroup="dc:any"/> |
|
129 |
<xs:element name="instructionalMethod" substitutionGroup="dc:any"/> |
|
130 |
<xs:element name="provenance" substitutionGroup="dc:any"/> |
|
131 |
<xs:element name="rightsHolder" substitutionGroup="dc:any"/> |
|
132 |
|
|
133 |
<xs:element name="mediator" substitutionGroup="audience"/> |
|
134 |
<xs:element name="educationLevel" substitutionGroup="audience"/> |
|
135 |
|
|
136 |
<xs:element name="accessRights" substitutionGroup="rights"/> |
|
137 |
<xs:element name="license" substitutionGroup="rights"/> |
|
138 |
|
|
139 |
<xs:element name="bibliographicCitation" substitutionGroup="identifier"/> |
|
140 |
|
|
141 |
<xs:complexType name="LCSH"> |
|
142 |
<xs:simpleContent> |
|
143 |
<xs:restriction base="dc:SimpleLiteral"> |
|
144 |
<xs:simpleType> |
|
145 |
<xs:restriction base="xs:string"/> |
|
146 |
</xs:simpleType> |
|
147 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
148 |
</xs:restriction> |
|
149 |
</xs:simpleContent> |
|
150 |
</xs:complexType> |
|
151 |
|
|
152 |
<xs:complexType name="MESH"> |
|
153 |
<xs:simpleContent> |
|
154 |
<xs:restriction base="dc:SimpleLiteral"> |
|
155 |
<xs:simpleType> |
|
156 |
<xs:restriction base="xs:string"/> |
|
157 |
</xs:simpleType> |
|
158 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
159 |
</xs:restriction> |
|
160 |
</xs:simpleContent> |
|
161 |
</xs:complexType> |
|
162 |
|
|
163 |
<xs:complexType name="DDC"> |
|
164 |
<xs:simpleContent> |
|
165 |
<xs:restriction base="dc:SimpleLiteral"> |
|
166 |
<xs:simpleType> |
|
167 |
<xs:restriction base="xs:string"/> |
|
168 |
</xs:simpleType> |
|
169 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
170 |
</xs:restriction> |
|
171 |
</xs:simpleContent> |
|
172 |
</xs:complexType> |
|
173 |
|
|
174 |
<xs:complexType name="LCC"> |
|
175 |
<xs:simpleContent> |
|
176 |
<xs:restriction base="dc:SimpleLiteral"> |
|
177 |
<xs:simpleType> |
|
178 |
<xs:restriction base="xs:string"/> |
|
179 |
</xs:simpleType> |
|
180 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
181 |
</xs:restriction> |
|
182 |
</xs:simpleContent> |
|
183 |
</xs:complexType> |
|
184 |
|
|
185 |
<xs:complexType name="UDC"> |
|
186 |
<xs:simpleContent> |
|
187 |
<xs:restriction base="dc:SimpleLiteral"> |
|
188 |
<xs:simpleType> |
|
189 |
<xs:restriction base="xs:string"/> |
|
190 |
</xs:simpleType> |
|
191 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
192 |
</xs:restriction> |
|
193 |
</xs:simpleContent> |
|
194 |
</xs:complexType> |
|
195 |
|
|
196 |
<xs:complexType name="Period"> |
|
197 |
<xs:simpleContent> |
|
198 |
<xs:restriction base="dc:SimpleLiteral"> |
|
199 |
<xs:simpleType> |
|
200 |
<xs:restriction base="xs:string"/> |
|
201 |
</xs:simpleType> |
|
202 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
203 |
</xs:restriction> |
|
204 |
</xs:simpleContent> |
|
205 |
</xs:complexType> |
|
206 |
|
|
207 |
<xs:complexType name="W3CDTF"> |
|
208 |
<xs:simpleContent> |
|
209 |
<xs:restriction base="dc:SimpleLiteral"> |
|
210 |
<xs:simpleType> |
|
211 |
<xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/> |
|
212 |
</xs:simpleType> |
|
213 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
214 |
</xs:restriction> |
|
215 |
</xs:simpleContent> |
|
216 |
</xs:complexType> |
|
217 |
|
|
218 |
<xs:complexType name="DCMIType"> |
|
219 |
<xs:simpleContent> |
|
220 |
<xs:restriction base="dc:SimpleLiteral"> |
|
221 |
<xs:simpleType> |
|
222 |
<xs:restriction base="dcmitype:DCMIType"/> |
|
223 |
</xs:simpleType> |
|
224 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
225 |
</xs:restriction> |
|
226 |
</xs:simpleContent> |
|
227 |
</xs:complexType> |
|
228 |
|
|
229 |
<xs:complexType name="IMT"> |
|
230 |
<xs:simpleContent> |
|
231 |
<xs:restriction base="dc:SimpleLiteral"> |
|
232 |
<xs:simpleType> |
|
233 |
<xs:restriction base="xs:string"/> |
|
234 |
</xs:simpleType> |
|
235 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
236 |
</xs:restriction> |
|
237 |
</xs:simpleContent> |
|
238 |
</xs:complexType> |
|
239 |
|
|
240 |
<xs:complexType name="URI"> |
|
241 |
<xs:simpleContent> |
|
242 |
<xs:restriction base="dc:SimpleLiteral"> |
|
243 |
<xs:simpleType> |
|
244 |
<xs:restriction base="xs:anyURI"/> |
|
245 |
</xs:simpleType> |
|
246 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
247 |
</xs:restriction> |
|
248 |
</xs:simpleContent> |
|
249 |
</xs:complexType> |
|
250 |
|
|
251 |
<xs:complexType name="ISO639-2"> |
|
252 |
<xs:simpleContent> |
|
253 |
<xs:restriction base="dc:SimpleLiteral"> |
|
254 |
<xs:simpleType> |
|
255 |
<xs:restriction base="xs:string"/> |
|
256 |
</xs:simpleType> |
|
257 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
258 |
</xs:restriction> |
|
259 |
</xs:simpleContent> |
|
260 |
</xs:complexType> |
|
261 |
|
|
262 |
<xs:complexType name="ISO639-3"> |
|
263 |
<xs:simpleContent> |
|
264 |
<xs:restriction base="dc:SimpleLiteral"> |
|
265 |
<xs:simpleType> |
|
266 |
<xs:restriction base="xs:string"/> |
|
267 |
</xs:simpleType> |
|
268 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
269 |
</xs:restriction> |
|
270 |
</xs:simpleContent> |
|
271 |
</xs:complexType> |
|
272 |
|
|
273 |
<xs:complexType name="RFC1766"> |
|
274 |
<xs:simpleContent> |
|
275 |
<xs:restriction base="dc:SimpleLiteral"> |
|
276 |
<xs:simpleType> |
|
277 |
<xs:restriction base="xs:language"/> |
|
278 |
</xs:simpleType> |
|
279 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
280 |
</xs:restriction> |
|
281 |
</xs:simpleContent> |
|
282 |
</xs:complexType> |
|
283 |
|
|
284 |
<xs:complexType name="RFC3066"> |
|
285 |
<xs:simpleContent> |
|
286 |
<xs:restriction base="dc:SimpleLiteral"> |
|
287 |
<xs:simpleType> |
|
288 |
<xs:restriction base="xs:language"/> |
|
289 |
</xs:simpleType> |
|
290 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
291 |
</xs:restriction> |
|
292 |
</xs:simpleContent> |
|
293 |
</xs:complexType> |
|
294 |
|
|
295 |
<xs:complexType name="RFC4646"> |
|
296 |
<xs:simpleContent> |
|
297 |
<xs:restriction base="dc:SimpleLiteral"> |
|
298 |
<xs:simpleType> |
|
299 |
<xs:restriction base="xs:language"/> |
|
300 |
</xs:simpleType> |
|
301 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
302 |
</xs:restriction> |
|
303 |
</xs:simpleContent> |
|
304 |
</xs:complexType> |
|
305 |
|
|
306 |
<xs:complexType name="Point"> |
|
307 |
<xs:simpleContent> |
|
308 |
<xs:restriction base="dc:SimpleLiteral"> |
|
309 |
<xs:simpleType> |
|
310 |
<xs:restriction base="xs:string"/> |
|
311 |
</xs:simpleType> |
|
312 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
313 |
</xs:restriction> |
|
314 |
</xs:simpleContent> |
|
315 |
</xs:complexType> |
|
316 |
|
|
317 |
<xs:complexType name="ISO3166"> |
|
318 |
<xs:simpleContent> |
|
319 |
<xs:restriction base="dc:SimpleLiteral"> |
|
320 |
<xs:simpleType> |
|
321 |
<xs:restriction base="xs:string"/> |
|
322 |
</xs:simpleType> |
|
323 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
324 |
</xs:restriction> |
|
325 |
</xs:simpleContent> |
|
326 |
</xs:complexType> |
|
327 |
|
|
328 |
<xs:complexType name="Box"> |
|
329 |
<xs:simpleContent> |
|
330 |
<xs:restriction base="dc:SimpleLiteral"> |
|
331 |
<xs:simpleType> |
|
332 |
<xs:restriction base="xs:string"/> |
|
333 |
</xs:simpleType> |
|
334 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
335 |
</xs:restriction> |
|
336 |
</xs:simpleContent> |
|
337 |
</xs:complexType> |
|
338 |
|
|
339 |
<xs:complexType name="TGN"> |
|
340 |
<xs:simpleContent> |
|
341 |
<xs:restriction base="dc:SimpleLiteral"> |
|
342 |
<xs:simpleType> |
|
343 |
<xs:restriction base="xs:string"/> |
|
344 |
</xs:simpleType> |
|
345 |
<xs:attribute ref="xml:lang" use="prohibited"/> |
|
346 |
</xs:restriction> |
|
347 |
</xs:simpleContent> |
|
348 |
</xs:complexType> |
|
349 |
|
|
350 |
<xs:group name="elementsAndRefinementsGroup"> |
|
351 |
<xs:annotation> |
|
352 |
<xs:documentation xml:lang="en"> |
|
353 |
This group is included as a convenience for schema authors |
|
354 |
who need to refer to all the DC elements and element refinements |
|
355 |
in the http://purl.org/dc/elements/1.1/ and |
|
356 |
http://purl.org/dc/terms namespaces. |
|
357 |
N.B. Refinements available via substitution groups. |
|
358 |
</xs:documentation> |
|
359 |
</xs:annotation> |
|
360 |
|
|
361 |
<xs:sequence> |
|
362 |
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
|
363 |
<xs:element ref="dc:any" /> |
|
364 |
</xs:choice> |
|
365 |
</xs:sequence> |
|
366 |
</xs:group> |
|
367 |
|
|
368 |
<xs:complexType name="elementOrRefinementContainer"> |
|
369 |
<xs:annotation> |
|
370 |
<xs:documentation xml:lang="en"> |
|
371 |
This is included as a convenience for schema authors who need to define a root |
|
372 |
or container element for all of the DC elements and element refinements. |
|
373 |
</xs:documentation> |
|
374 |
</xs:annotation> |
|
375 |
|
|
376 |
<xs:choice> |
|
377 |
<xs:group ref="elementsAndRefinementsGroup"/> |
|
378 |
</xs:choice> |
|
379 |
</xs:complexType> |
|
380 |
|
|
381 |
|
|
382 |
</xs:schema> |
lib/schema/dataone/dataoneTypes_v1.1.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema targetNamespace="http://ns.dataone.org/service/types/v1.1" |
|
3 |
xmlns:d1="http://ns.dataone.org/service/types/v1" |
|
4 |
xmlns:d1_v1.1="http://ns.dataone.org/service/types/v1.1" |
|
5 |
xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
6 |
version="1.1.0" |
|
7 |
elementFormDefault="unqualified" attributeFormDefault="unqualified"> |
|
8 |
|
|
9 |
<!-- |
|
10 |
$HeadURL: https://repository.dataone.org/software/cicore/branches/D1_SCHEMA_v1.1/dataoneTypes.xsd $ |
|
11 |
$Id: dataoneTypes.xsd 10341 2012-10-10 14:07:49Z vieglais $ |
|
12 |
|
|
13 |
About this document: |
|
14 |
|
|
15 |
This XML Schema document defines the common data structures that are used |
|
16 |
to support messaging between the major components of the DataONE |
|
17 |
infrastructure and to guide structure design for storage of information |
|
18 |
required for normal operations. |
|
19 |
|
|
20 |
License: |
|
21 |
|
|
22 |
This work was created by participants in the DataONE project, and is |
|
23 |
jointly copyrighted by participating institutions in DataONE. For |
|
24 |
more information on DataONE, see our web site at http://dataone.org. |
|
25 |
|
|
26 |
Copyright 2011 |
|
27 |
|
|
28 |
Licensed under the Apache License, Version 2.0 (the "License"); |
|
29 |
you may not use this file except in compliance with the License. |
|
30 |
You may obtain a copy of the License at |
|
31 |
|
|
32 |
http://www.apache.org/licenses/LICENSE-2.0 |
|
33 |
|
|
34 |
Unless required by applicable law or agreed to in writing, software |
|
35 |
distributed under the License is distributed on an "AS IS" BASIS, |
|
36 |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
37 |
See the License for the specific language governing permissions and |
|
38 |
limitations under the License. |
|
39 |
|
|
40 |
Formatting: |
|
41 |
|
|
42 |
- This document should be saved as a UTF-8 encoded file. |
|
43 |
|
|
44 |
- Indent using spaces, not tabs, with two spaces per indent level. |
|
45 |
|
|
46 |
- Line wrapping should be set to 80 chars, adjusted as necessary |
|
47 |
|
|
48 |
- Documentation entries contain formatting instructions for integration with |
|
49 |
the DataONE architecture documentation, available at: |
|
50 |
|
|
51 |
http://mule1.dataone.org/ArchitectureDocs-current |
|
52 |
|
|
53 |
--> |
|
54 |
|
|
55 |
<!-- ************************************ |
|
56 |
DEFINE REUSABLE SIMPLE TYPES HERE |
|
57 |
************************************ --> |
|
58 |
|
|
59 |
|
|
60 |
|
|
61 |
<!-- *************************************** |
|
62 |
DEFINE REUSABLE COMPLEX TYPES HERE |
|
63 |
*************************************** --> |
|
64 |
|
|
65 |
<!-- NOTE THAT ALL SERIALIZEABLE ROOT ELEMENTS FOR MESSAGES SHOULD BE OF A |
|
66 |
COMPLEX TYPE --> |
|
67 |
<xs:import namespace="http://ns.dataone.org/service/types/v1" |
|
68 |
schemaLocation="http://ns.dataone.org/service/types/v1" /> |
|
69 |
|
|
70 |
|
|
71 |
<!-- QueryEngineDescription --> |
|
72 |
<xs:complexType name="QueryEngineDescription"> |
|
73 |
<xs:annotation> |
|
74 |
<xs:documentation>Describes a query engine that can be used to search content on the node. |
|
75 |
Query engines may be general purpose or specialized for particular communities or domains.</xs:documentation> |
|
76 |
</xs:annotation> |
|
77 |
<xs:sequence> |
|
78 |
<xs:element name="queryEngineVersion" type="xs:string" minOccurs="1" maxOccurs="1"> |
|
79 |
<xs:annotation> |
|
80 |
<xs:documentation>The version of the underlying query engine. Used by clients to determine possible |
|
81 |
compatibility concerns or features available.</xs:documentation> |
|
82 |
</xs:annotation> |
|
83 |
</xs:element> |
|
84 |
<xs:element name="querySchemaVersion" type="xs:string" minOccurs="0" maxOccurs="1"> |
|
85 |
<xs:annotation> |
|
86 |
<xs:documentation>Version of the schema in use by the query engine, e.g. "1.0.1"</xs:documentation> |
|
87 |
</xs:annotation> |
|
88 |
</xs:element> |
|
89 |
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"> |
|
90 |
<xs:annotation> |
|
91 |
<xs:documentation>The full, human readable name of the query engine. For example: |
|
92 |
"Apache SOLR"</xs:documentation> |
|
93 |
</xs:annotation> |
|
94 |
</xs:element> |
|
95 |
<xs:element name="additionalInfo" type="d1:NonEmptyString" minOccurs="0" maxOccurs="unbounded"> |
|
96 |
<xs:annotation> |
|
97 |
<xs:documentation>An optional human readable description of the query engine. This can be |
|
98 |
used to describe any special capabilities or intended uses for the query engine. For example, |
|
99 |
a query engine may be tuned to suit a particular audience or domain as opposed to providing |
|
100 |
a general purpose discovery mechanism.</xs:documentation> |
|
101 |
<xs:documentation>This field may also contain links to additional information about the query engine, |
|
102 |
such as documentation for the search syntax provided by the query engine implemntors.</xs:documentation> |
|
103 |
</xs:annotation> |
|
104 |
</xs:element> |
|
105 |
<xs:element name="queryField" type="d1_v1.1:QueryField" minOccurs="0" maxOccurs="unbounded"> |
|
106 |
<xs:annotation> |
|
107 |
<xs:documentation>A list of query fields supported by the query engine.</xs:documentation> |
|
108 |
</xs:annotation> |
|
109 |
</xs:element> |
|
110 |
</xs:sequence> |
|
111 |
</xs:complexType> |
|
112 |
|
|
113 |
<!-- QueryEngineList --> |
|
114 |
<xs:complexType name="QueryEngineList"> |
|
115 |
<xs:annotation> |
|
116 |
<xs:documentation>A list of query engine names that indicate the possible values for |
|
117 |
CNRead.getQueryEngineDescription and CNRead.query REST API endpoints.</xs:documentation> |
|
118 |
</xs:annotation> |
|
119 |
<xs:sequence> |
|
120 |
<xs:element name ="queryEngine" type="d1:NonEmptyString" |
|
121 |
minOccurs="0" maxOccurs="unbounded"> |
|
122 |
<xs:annotation> |
|
123 |
<xs:documentation>The name of a queryEngine. This value will be used as a path element in |
|
124 |
REST API calls and so should not contain characters that will need to be escaped.</xs:documentation> |
|
125 |
</xs:annotation> |
|
126 |
</xs:element> |
|
127 |
</xs:sequence> |
|
128 |
</xs:complexType> |
|
129 |
|
|
130 |
<!-- QueryField --> |
|
131 |
<xs:complexType name="QueryField"> |
|
132 |
<xs:annotation> |
|
133 |
<xs:documentation></xs:documentation> |
|
134 |
</xs:annotation> |
|
135 |
<xs:sequence> |
|
136 |
<xs:element name="name" type="d1:NonEmptyString" minOccurs="1" maxOccurs="1"> |
|
137 |
<xs:annotation> |
|
138 |
<xs:documentation>The name of the field as used programmatically when |
|
139 |
constructing queries or other rferences to the field.</xs:documentation> |
|
140 |
</xs:annotation> |
|
141 |
</xs:element> |
|
142 |
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="unbounded"> |
|
143 |
<xs:annotation> |
|
144 |
<xs:documentation>An optional, repeatable, brief description of the field that can be |
|
145 |
used to help guide developers or end users in appropriate use of the field. May for |
|
146 |
example, contain a links to additional documentation.</xs:documentation> |
|
147 |
</xs:annotation> |
|
148 |
</xs:element> |
|
149 |
<xs:element name="type" type="d1:NonEmptyString" minOccurs="1" maxOccurs="1"> |
|
150 |
<xs:annotation> |
|
151 |
<xs:documentation>The type of the field, expressed in the language peculiar to the |
|
152 |
query engine being described.</xs:documentation> |
|
153 |
</xs:annotation> |
|
154 |
</xs:element> |
|
155 |
<xs:element name="searchable" type="xs:boolean" minOccurs="1" maxOccurs="1"> |
|
156 |
<xs:annotation> |
|
157 |
<xs:documentation>Indicates if the field may be used in constructing queries (as opposed |
|
158 |
to only appearing in results)</xs:documentation> |
|
159 |
</xs:annotation> |
|
160 |
</xs:element> |
|
161 |
<xs:element name="returnable" type="xs:boolean" minOccurs="1" maxOccurs="1"> |
|
162 |
<xs:annotation> |
|
163 |
<xs:documentation>Indicates if the field values may be returned in search results.</xs:documentation> |
|
164 |
</xs:annotation> |
|
165 |
</xs:element> |
|
166 |
<xs:element name="sortable" type="xs:boolean" minOccurs="1" maxOccurs="1"> |
|
167 |
<xs:annotation> |
|
168 |
<xs:documentation>Indicates if the field can be used for sorting results.</xs:documentation> |
|
169 |
</xs:annotation> |
|
170 |
</xs:element> |
|
171 |
<xs:element name="multivalued" type="xs:boolean" minOccurs="0" maxOccurs="1"> |
|
172 |
<xs:annotation> |
|
173 |
<xs:documentation>Indicates if the field may contain multiple values. Some query engines |
|
174 |
such as SOLR support this capability.</xs:documentation> |
|
175 |
</xs:annotation> |
|
176 |
</xs:element> |
|
177 |
</xs:sequence> |
|
178 |
</xs:complexType> |
|
179 |
|
|
180 |
|
|
181 |
<!-- ****************************************** |
|
182 |
DEFINE ROOT ELEMENTS OF MESSAGES HERE |
|
183 |
****************************************** --> |
|
184 |
<!-- NOTE THAT ALL SERIALIZEABLE ROOT ELEMENTS FOR MESSAGES SHOULD BE OF A |
|
185 |
COMPLEX TYPE --> |
|
186 |
|
|
187 |
<!-- These root-level element definitions are provided for selected types so |
|
188 |
that those types can be used in serialized messages in method calls in |
|
189 |
DataONE. Any type that is included as a parameter to or a return type |
|
190 |
from a DataONE service should have a corresponding root element of that |
|
191 |
type defined here. |
|
192 |
--> |
|
193 |
|
|
194 |
<xs:element name="queryEngineList" type="d1_v1.1:QueryEngineList" /> |
|
195 |
<xs:element name="queryEngineDescription" type="d1_v1.1:QueryEngineDescription"></xs:element> |
|
196 |
</xs:schema> |
|
197 |
|
lib/schema/dataone/dataoneTypes.xsd | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<xs:schema targetNamespace="http://ns.dataone.org/service/types/v1" |
|
3 |
xmlns:d1="http://ns.dataone.org/service/types/v1" |
|
4 |
xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
5 |
version="1.0.3" |
|
6 |
elementFormDefault="unqualified" attributeFormDefault="unqualified"> |
|
7 |
|
|
8 |
<!-- |
|
9 |
$HeadURL$ |
|
10 |
$Id$ |
|
11 |
|
|
12 |
About this document: |
|
13 |
|
|
14 |
This XML Schema document defines the common data structures that are used |
|
15 |
to support messaging between the major components of the DataONE |
|
16 |
infrastructure and to guide structure design for storage of information |
|
17 |
required for normal operations. |
|
18 |
|
|
19 |
License: |
|
20 |
|
|
21 |
This work was created by participants in the DataONE project, and is |
|
22 |
jointly copyrighted by participating institutions in DataONE. For |
|
23 |
more information on DataONE, see our web site at http://dataone.org. |
|
24 |
|
|
25 |
Copyright 2011 |
|
26 |
|
|
27 |
Licensed under the Apache License, Version 2.0 (the "License"); |
|
28 |
you may not use this file except in compliance with the License. |
|
29 |
You may obtain a copy of the License at |
|
30 |
|
|
31 |
http://www.apache.org/licenses/LICENSE-2.0 |
|
32 |
|
|
33 |
Unless required by applicable law or agreed to in writing, software |
|
34 |
distributed under the License is distributed on an "AS IS" BASIS, |
|
35 |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
36 |
See the License for the specific language governing permissions and |
|
37 |
limitations under the License. |
|
38 |
|
|
39 |
Formatting: |
|
40 |
|
|
41 |
- This document should be saved as a UTF-8 encoded file. |
|
42 |
|
|
43 |
- Indent using spaces, not tabs, with two spaces per indent level. |
|
44 |
|
|
45 |
- Line wrapping should be set to 80 chars, adjusted as necessary |
|
46 |
|
|
47 |
- Documentation entries contain formatting instructions for integration with |
|
48 |
the DataONE architecture documentation, available at: |
|
49 |
|
|
50 |
http://mule1.dataone.org/ArchitectureDocs-current |
|
51 |
|
|
52 |
--> |
|
53 |
|
|
54 |
<!-- ************************************ |
|
55 |
DEFINE REUSABLE SIMPLE TYPES HERE |
|
56 |
************************************ --> |
|
57 |
|
|
58 |
<!-- ChecksumAlgorithm --> |
|
59 |
<xs:simpleType name="ChecksumAlgorithm"> |
|
60 |
<xs:annotation> |
|
61 |
<xs:documentation>The cryptographic hash algorithm used to calculate a |
|
62 |
checksum. DataONE recognizes the Library of Congress list of |
|
63 |
cryptographic hash algorithms that can be used as names in this field, |
|
64 |
and specifically uses the *madsrdf:authoritativeLabel* field as the name |
|
65 |
of the algorithm in this field. See: `Library of Congress Cryptographic |
|
66 |
Algorithm Vocabulary`_. All compliant implementations must support at |
|
67 |
least SHA-1 and MD5, but may support other algorithms as well.</xs:documentation> |
|
68 |
<xs:documentation>Valid entries include: SHA-1, MD5</xs:documentation> |
|
69 |
<xs:documentation>The default checksum is *SHA-1*.</xs:documentation> |
|
70 |
<xs:documentation>.. _Library of Congress Cryptographic Algorithm Vocabulary: http://id.loc.gov/vocabulary/cryptographicHashFunctions.rdf |
|
71 |
</xs:documentation> |
|
72 |
</xs:annotation> |
|
73 |
<xs:restriction base="xs:string"> |
|
74 |
</xs:restriction> |
|
75 |
</xs:simpleType> |
|
76 |
|
|
77 |
<!-- CrontabEntry --> |
|
78 |
<xs:simpleType name="CrontabEntry"> |
|
79 |
<xs:annotation> |
|
80 |
<xs:documentation>A single value in the series of values that together |
|
81 |
form a single crontab entry. The format follows the syntax conventions |
|
82 |
defined by the `Quartz Scheduler`_, as excerpted here under the Apache 2 license:</xs:documentation> |
|
83 |
<xs:documentation>.. _Quartz Scheduler: http://www.quartz-scheduler.org/api/2.1.0/org/quartz/CronExpression.html</xs:documentation> |
|
84 |
<xs:documentation>.. include:: Types_crontabentry.txt</xs:documentation> |
|
85 |
</xs:annotation> <xs:restriction base="xs:token"> |
|
86 |
<xs:pattern value="([\?\*\d/#,\-a-zA-Z])+"/> </xs:restriction> |
|
87 |
</xs:simpleType> |
|
88 |
|
|
89 |
<!-- CrontabEntrySeconds --> |
|
90 |
<xs:simpleType name="CrontabEntrySeconds"> |
|
91 |
<xs:annotation> |
|
92 |
<xs:documentation>A restriction on the seconds field in a single |
|
93 |
Schedule entry, following the syntax conventions defined by the `Quartz |
|
94 |
Scheduler`_.</xs:documentation> |
|
95 |
<xs:documentation>The wildcard character value is not allowed in this |
|
96 |
(seconds) field as this would create an impractical synchronization |
|
97 |
schedule</xs:documentation> |
|
98 |
<xs:documentation>.. _Quartz Scheduler: http://www.quartz-scheduler.org/api/2.1.0/org/quartz/CronExpression.html</xs:documentation> |
|
99 |
</xs:annotation> |
|
100 |
<xs:restriction base="xs:token"> |
|
101 |
<xs:pattern value="[0-5]?\d"/> |
|
102 |
</xs:restriction> |
|
103 |
</xs:simpleType> |
|
104 |
|
|
105 |
<!-- Event Enumeration --> |
|
106 |
<xs:simpleType name="Event"> |
|
107 |
<xs:annotation> |
|
108 |
<xs:documentation>The controlled list of events that are logged, which |
|
109 |
will include *create*, *update*, *delete*, *read*, *replicate*, |
|
110 |
*synchronization_failed* and *replication_failed* |
|
111 |
events.</xs:documentation> |
|
112 |
</xs:annotation> |
|
113 |
<xs:restriction base="xs:string"> |
|
114 |
<xs:enumeration value="create"/> |
|
115 |
<xs:enumeration value="read"/> |
|
116 |
<xs:enumeration value="update"/> |
|
117 |
<xs:enumeration value="delete"/> |
|
118 |
<xs:enumeration value="replicate"/> |
|
119 |
<xs:enumeration value="synchronization_failed"/> |
|
120 |
<xs:enumeration value="replication_failed"/> |
|
121 |
</xs:restriction> |
|
122 |
</xs:simpleType> |
|
123 |
|
|
124 |
<!-- NodeState --> |
|
125 |
<xs:simpleType name="NodeState"> |
|
126 |
<xs:annotation> |
|
127 |
<xs:documentation>An indicator of the current node accessibility. Nodes |
|
128 |
that are marked *down* are inaccessible for service operations, those |
|
129 |
that are *up* are in the normal accessible state, and *unknown* |
|
130 |
indicates that the state has not been determined yet.</xs:documentation> |
|
131 |
</xs:annotation> |
|
132 |
<xs:restriction base="xs:NMTOKEN"> |
|
133 |
<xs:enumeration value="up"/> |
|
134 |
<xs:enumeration value="down"/> |
|
135 |
<xs:enumeration value="unknown"/> |
|
136 |
</xs:restriction> |
|
137 |
</xs:simpleType> |
|
138 |
|
|
139 |
<!-- NodeType Enumeration --> |
|
140 |
<xs:simpleType name="NodeType"> |
|
141 |
<xs:annotation> |
|
142 |
<xs:documentation>The type of this node, which is either *mn* for |
|
143 |
Member Nodes, or *cn* for Coordinating Nodes.</xs:documentation> |
|
144 |
</xs:annotation> |
|
145 |
<xs:restriction base="xs:NMTOKEN"> |
|
146 |
<xs:enumeration value="mn"/> |
|
147 |
<xs:enumeration value="cn"/> |
|
148 |
<xs:enumeration value="Monitor"/> |
|
149 |
</xs:restriction> |
|
150 |
</xs:simpleType> |
|
151 |
|
|
152 |
<!-- NonEmptyString --> |
|
153 |
<xs:simpleType name="NonEmptyString"> |
|
154 |
<xs:annotation> |
|
155 |
<xs:documentation>A derived string type with at least length 1 and it |
|
156 |
must contain non-whitespace.</xs:documentation> |
|
157 |
</xs:annotation> |
|
158 |
<xs:restriction base="xs:string"> |
|
159 |
<xs:minLength value="1"/> |
|
160 |
<xs:pattern value="[\s]*[\S][\s\S]*"/> |
|
161 |
</xs:restriction> |
|
162 |
</xs:simpleType> |
|
163 |
|
|
164 |
<!-- ObjectFormatIdentifier --> |
|
165 |
<xs:simpleType name="ObjectFormatIdentifier"> |
|
166 |
<xs:annotation> |
|
167 |
<xs:documentation>A string used to identify an instance of |
|
168 |
:class:`Types.ObjectFormat` and MUST be unique within an instance of |
|
169 |
:class:`Types.ObjectFormatList`. </xs:documentation> |
|
170 |
</xs:annotation> |
|
171 |
<xs:restriction base="d1:NonEmptyString"></xs:restriction> |
|
172 |
</xs:simpleType> |
|
173 |
|
|
174 |
<!-- NonEmptyString800 --> |
|
175 |
<xs:simpleType name="NonEmptyString800"> |
|
176 |
<xs:annotation> |
|
177 |
<xs:documentation> An NonEmptyString800 is a NonEmptyString string with |
|
178 |
a maximum length of 800 characters.</xs:documentation> |
|
179 |
</xs:annotation> |
|
180 |
<xs:restriction base="d1:NonEmptyString"> |
|
181 |
<xs:maxLength value="800"></xs:maxLength> |
|
182 |
</xs:restriction> |
|
183 |
</xs:simpleType> |
|
184 |
|
|
185 |
<!-- NonEmptyNowhitespaceString800 --> |
|
186 |
<xs:simpleType name="NonEmptyNoWhitespaceString800"> |
|
187 |
<xs:annotation> |
|
188 |
<xs:documentation>A NonEmptyNoWhitespaceString800 is a NonEmptyString800 |
|
189 |
string that doesn't allow whitespace characters (space, tab, newline, |
|
190 |
carriage return). Unicode whitespace characters outside of the ASCII |
|
191 |
character set need to be checked programmatically.</xs:documentation> |
|
192 |
</xs:annotation> |
|
193 |
<xs:restriction base="d1:NonEmptyString800"> |
|
194 |
<xs:pattern value="\S+"/> |
|
195 |
</xs:restriction> |
|
196 |
</xs:simpleType> |
|
197 |
|
|
198 |
<!-- Permission = permitted action --> |
|
199 |
<xs:simpleType name="Permission"> |
|
200 |
<xs:annotation> |
|
201 |
<xs:documentation>A string value indicating the set of actions that can |
|
202 |
be performed on a resource as specified in an access policy. The set of |
|
203 |
permissions include the ability to read a resource (*read*), modify a |
|
204 |
resource (*write*), and to change the set of access control policies for |
|
205 |
a resource (*changePermission*). Permission levels are cumulative, in |
|
206 |
that write permission implicitly grants read access, and |
|
207 |
changePermission permission implicitly grants write access (and |
|
208 |
therefore read as well). If a subject is granted multiple permissions, |
|
209 |
the highest level of access applies.</xs:documentation> |
|
210 |
</xs:annotation> |
|
211 |
<xs:restriction base="xs:string"> |
|
212 |
<xs:enumeration value="read" /> |
|
213 |
<xs:enumeration value="write" /> |
|
214 |
<xs:enumeration value="changePermission" /> |
|
215 |
</xs:restriction> |
|
216 |
</xs:simpleType> |
|
217 |
|
|
218 |
<!-- ReplicationStatus --> |
|
219 |
<xs:simpleType name="ReplicationStatus"> |
|
220 |
<xs:annotation> |
|
221 |
<xs:documentation>An enumerated string value indicating the current |
|
222 |
state of a replica of an object. When an object identified needs to be |
|
223 |
replicated, it is added to the replication task queue and is marked as |
|
224 |
*queued*; a CN will pick up that task and request that it be replicated |
|
225 |
to a MN and marks that it as *requested*; when a MN finishes replicating |
|
226 |
the object, it informs the CN that it is finished and it is marked as |
|
227 |
*completed*.</xs:documentation> |
|
228 |
<xs:documentation> If an MN is unable to complete replication, the |
|
229 |
replication status is marked as *failed*.</xs:documentation> |
|
230 |
<xs:documentation>Periodically a CN checks each replica to be sure it is |
|
231 |
both available and valid (matching checksum with original), and if it is |
|
232 |
either inaccessible or invalid then it marks it as *invalidated*, which |
|
233 |
indicates that the object replication needs to be invoked |
|
234 |
again.</xs:documentation> |
|
235 |
<xs:documentation>The replication process is described in Use Case 09 |
|
236 |
(:doc:`/design/UseCases/09_uc`).</xs:documentation> |
|
237 |
</xs:annotation> |
|
238 |
<xs:restriction base="xs:string"> |
|
239 |
<xs:enumeration value="queued" /> |
|
240 |
<xs:enumeration value="requested" /> |
|
241 |
<xs:enumeration value="completed" /> |
|
242 |
<xs:enumeration value="failed" /> |
|
243 |
<xs:enumeration value="invalidated" /> |
|
244 |
</xs:restriction> |
|
245 |
</xs:simpleType> |
|
246 |
|
|
247 |
<!-- ServiceName --> |
|
248 |
<xs:simpleType name="ServiceName"> |
|
249 |
<xs:annotation> |
|
250 |
<xs:documentation>The name of a service that is available on a |
|
251 |
Node.</xs:documentation> |
|
252 |
</xs:annotation> |
|
253 |
<xs:restriction base="d1:NonEmptyString"/> |
|
254 |
</xs:simpleType> |
|
255 |
|
|
256 |
<!-- ServiceVersion --> |
|
257 |
<xs:simpleType name="ServiceVersion"> |
|
258 |
<xs:annotation> |
|
259 |
<xs:documentation>The version of a service provided by a Node. Service |
|
260 |
versions are expressed as version labels such as "v1", "v2". DataONE |
|
261 |
services are released only as major service versions; patches to |
|
262 |
services are not indicated in this version label.</xs:documentation> |
|
263 |
</xs:annotation> |
|
264 |
<xs:restriction base="d1:NonEmptyString"/> |
|
265 |
</xs:simpleType> |
|
266 |
|
|
267 |
<!-- *************************************** |
|
268 |
DEFINE REUSABLE COMPLEX TYPES HERE |
|
269 |
*************************************** --> |
|
270 |
|
|
271 |
<!-- NOTE THAT ALL SERIALIZEABLE ROOT ELEMENTS FOR MESSAGES SHOULD BE OF A |
|
272 |
COMPLEX TYPE --> |
|
273 |
|
|
274 |
<!-- AccessPolicy --> |
|
275 |
<xs:complexType name="AccessPolicy"> |
|
276 |
<xs:annotation> |
|
277 |
<xs:documentation>A set of rules that specifies as a whole the allowable |
|
278 |
permissions that a given user, group, or system has for accessing a |
|
279 |
resource, including data, metadata, resource map, and service resources. |
|
280 |
An access policy consists of a sequence of allow rules that grant |
|
281 |
permissions to principals, which can be individual users, groups of |
|
282 |
users, symbolic users, or systems and services.</xs:documentation> |
|
283 |
</xs:annotation> |
|
284 |
<xs:sequence> |
|
285 |
<xs:element name="allow" type="d1:AccessRule" minOccurs="1" |
|
286 |
maxOccurs="unbounded" /> |
|
287 |
</xs:sequence> |
|
288 |
</xs:complexType> |
|
289 |
|
|
290 |
<!-- AccessRule --> |
|
291 |
<xs:complexType name="AccessRule"> |
|
292 |
<xs:annotation> |
|
293 |
<xs:documentation>A rule that is used to allow a :term:`subject` to |
|
294 |
perform an action (such as read or write) on an object in DataONE. Rules |
|
295 |
are tuples (subject, permission) specifying which permissions are |
|
296 |
allowed for the subjects(s). If a subject is granted multiple |
|
297 |
permissions, the highest level of access applies. The resource on which |
|
298 |
the access control rules are being applied is determined by the |
|
299 |
containing :term:`SystemMetadata` document, or in the case of methods |
|
300 |
such as :func:`CNAuthorization.setAccessPolicy`, by the :term:`pid` in |
|
301 |
the method parameters.</xs:documentation> |
|
302 |
<xs:documentation>Access control rules are specified by the |
|
303 |
:term:`Origin Member Node` when the object is first registered in |
|
304 |
DataONE. If no rules are specified at that time, then the object is |
|
305 |
deemed to be private and the only user with access to the object (read, |
|
306 |
write, or otherwise) is the :term:`Rights Holder`.</xs:documentation> |
|
307 |
</xs:annotation> |
|
308 |
<xs:sequence> |
|
309 |
<xs:element name="subject" type="d1:Subject" |
|
310 |
minOccurs="1" maxOccurs="unbounded" /> |
|
311 |
<xs:element name="permission" type="d1:Permission" |
|
312 |
minOccurs="1" maxOccurs="unbounded" /> |
|
313 |
</xs:sequence> |
|
314 |
</xs:complexType> |
|
315 |
|
|
316 |
<!-- Checksum --> |
|
317 |
<xs:complexType name="Checksum"> |
|
318 |
<xs:annotation> |
|
319 |
<xs:documentation>Represents the value of a computed :term:`checksum` |
|
320 |
expressed as a hexadecimal formatted version of the message digest. Note |
|
321 |
that these hex values should be treated as case-insensitive strings, in |
|
322 |
that leading zeros must be preserved, and digests can use a mixture of |
|
323 |
upper and lower case letters to represent the hex values. Comparison |
|
324 |
algorithms MUST be able to handle any variant of these representations |
|
325 |
(e.g., by performing a case-insensitive string match on hex digests from |
|
326 |
the same algorithm).</xs:documentation> |
|
327 |
</xs:annotation> |
|
328 |
<xs:simpleContent> |
|
329 |
<xs:extension base="xs:string"> |
|
330 |
<xs:attribute name="algorithm" type="d1:ChecksumAlgorithm" |
|
331 |
use="required"/> |
|
332 |
</xs:extension> |
|
333 |
</xs:simpleContent> |
|
334 |
</xs:complexType> |
|
335 |
|
|
336 |
<!-- ChecksumAlgorithmList --> |
|
337 |
<xs:complexType name="ChecksumAlgorithmList"> |
|
338 |
<xs:annotation> |
|
339 |
<xs:documentation>Represents a list of :term:`checksum` |
|
340 |
algorithms.</xs:documentation> |
|
341 |
</xs:annotation> |
|
342 |
<xs:sequence> |
|
343 |
<xs:element name ="algorithm" type="d1:ChecksumAlgorithm" |
|
344 |
minOccurs="1" maxOccurs="unbounded"/> |
|
345 |
</xs:sequence> |
|
346 |
</xs:complexType> |
|
347 |
|
|
348 |
<!-- Group --> |
|
349 |
<xs:complexType name="Group"> |
|
350 |
<xs:annotation> |
|
351 |
<xs:documentation>Group represents metadata about a :term:`Subject` that |
|
352 |
represents a collection of other Subjects. Groups provide a convenient |
|
353 |
mechanism to express access rules for certain roles that are not |
|
354 |
necessarily tied to particular :term:`principals` over |
|
355 |
time.</xs:documentation> |
|
356 |
</xs:annotation> |
|
357 |
<xs:sequence> |
|
358 |
<xs:element name="subject" type="d1:Subject" minOccurs="1" maxOccurs="1" > |
|
359 |
<xs:annotation> |
|
360 |
<xs:documentation>The unique, immutable identifier of the |
|
361 |
:term:`group`. Group subjects must not be reused, and so they are |
|
362 |
both immutable and can not be deleted from the DataONE |
|
363 |
system.</xs:documentation> |
|
364 |
</xs:annotation> |
|
365 |
</xs:element> |
|
366 |
<xs:element name="groupName" type="d1:NonEmptyString" |
|
367 |
minOccurs="1" maxOccurs="1" > |
|
368 |
<xs:annotation> |
|
369 |
<xs:documentation>The name of the Group.</xs:documentation> |
|
370 |
</xs:annotation> |
|
371 |
</xs:element> |
|
372 |
<xs:element name="hasMember" type="d1:Subject" minOccurs="0" |
|
373 |
maxOccurs="unbounded" > |
|
374 |
<xs:annotation> |
|
375 |
<xs:documentation>A :term:`Subject` that is a member of this |
|
376 |
group, expressed using the unique identifier for that |
|
377 |
Subject.</xs:documentation> |
|
378 |
</xs:annotation> |
|
379 |
</xs:element> |
|
380 |
<xs:element name="rightsHolder" type="d1:Subject" minOccurs="1" |
|
381 |
maxOccurs="unbounded"> |
|
382 |
<xs:annotation> |
|
383 |
<xs:documentation>Represents the list of owners of this :term:`group`. |
|
384 |
All groups are readable by anyone in the DataONE system, but can only |
|
385 |
be modified by subjects listed in *rightsHolder* fields. Designation |
|
386 |
as a :term:`rightsHolder` allows the subject, or their equivalent |
|
387 |
identities, to make changes to the mutable properties of the group, |
|
388 |
including its name, membership list and rights holder list. The |
|
389 |
subject of the group itself is immutable. </xs:documentation> |
|
390 |
</xs:annotation> |
|
391 |
</xs:element> |
|
392 |
</xs:sequence> |
|
393 |
</xs:complexType> |
|
394 |
|
|
395 |
<!-- Identifier --> |
|
396 |
<xs:complexType name="Identifier"> |
|
397 |
<xs:annotation> |
|
398 |
<xs:documentation>An :term:`identifier` (:term:`PID`) in the DataONE |
|
399 |
system that is used to uniquely and globally identify an object. |
|
400 |
Identifiers can not be reused once assigned. Identifiers can not be |
|
401 |
deleted from the DataONE system.Identifiers are represented by a Unicode |
|
402 |
string of printable characters, excluding :term:`whitespace`. All |
|
403 |
representations of identifiers must be encoded in 7-bit ASCII or |
|
404 |
UTF-8.</xs:documentation> |
|
405 |
<xs:documentation>Identifiers have a maximum length of 800 characters, |
|
406 |
and a variety of other properties designed for preservation and |
|
407 |
longevity. Some discussion on this is described in the `PID |
|
408 |
documentation`_ and in decision `ticket 577`_. </xs:documentation> |
|
409 |
<xs:documentation>.. _ticket 577: https://redmine.dataone.org/issues/577 |
|
410 |
</xs:documentation> |
|
411 |
<xs:documentation>.. _PID documentation: http://mule1.dataone.org/ArchitectureDocs-current/design/PIDs.html |
|
412 |
</xs:documentation> |
|
413 |
</xs:annotation> |
|
414 |
<xs:simpleContent> |
|
415 |
<xs:extension base="d1:NonEmptyNoWhitespaceString800" /> |
|
416 |
</xs:simpleContent> |
|
417 |
</xs:complexType> |
|
418 |
|
|
419 |
<!-- Log --> |
|
420 |
<xs:complexType name="Log"> |
|
421 |
<xs:annotation> |
|
422 |
<xs:documentation>Represents a collection of :class:`Types.LogEntry` |
|
423 |
elements, used to transfer log information between DataONE |
|
424 |
components.</xs:documentation> |
|
425 |
</xs:annotation> |
|
426 |
<xs:complexContent> |
|
427 |
<xs:extension base="d1:Slice"> |
|
428 |
<xs:sequence> |
|
429 |
<xs:element name="logEntry" type="d1:LogEntry" minOccurs="0" |
|
430 |
maxOccurs="unbounded" /> |
|
431 |
</xs:sequence> |
|
432 |
</xs:extension> |
|
433 |
</xs:complexContent> |
|
434 |
</xs:complexType> |
|
435 |
|
|
436 |
<!-- LogEntry --> |
|
437 |
<xs:complexType name="LogEntry"> |
|
438 |
<xs:annotation> |
|
439 |
<xs:documentation>A single log entry as reported by a Member Node or |
|
440 |
Coordinating Node through the :func:`MNCore.getLogRecords` or |
|
441 |
:func:`CNCore.getLogRecords` methods.</xs:documentation> |
|
442 |
</xs:annotation> |
|
443 |
<xs:sequence> |
|
444 |
<xs:element name="entryId" type="d1:NonEmptyString" |
|
445 |
minOccurs="1" maxOccurs="1"> |
|
446 |
<xs:annotation> |
|
447 |
<xs:documentation>A unique identifier for this log entry. The |
|
448 |
identifier should be unique for a particular node; This is not drawn |
|
449 |
from the same value space as other identifiers in DataONE, and so is |
|
450 |
not subjec to the same restrictions.</xs:documentation> |
|
451 |
</xs:annotation> |
|
452 |
</xs:element> |
|
453 |
<xs:element name="identifier" type="d1:Identifier" |
|
454 |
minOccurs="1" maxOccurs="1"> |
|
455 |
<xs:annotation> |
|
456 |
<xs:documentation>The :term:`identifier` of the object that was the |
|
457 |
target of the operation which generated this log entry.</xs:documentation> |
|
458 |
</xs:annotation> |
|
459 |
</xs:element> |
|
460 |
<xs:element name="ipAddress" type="xs:string" |
|
461 |
minOccurs="1" maxOccurs="1"> |
|
462 |
<xs:annotation> |
|
463 |
<xs:documentation>The IP address, as reported by the service receiving |
|
464 |
the request, of the request origin.</xs:documentation> |
|
465 |
</xs:annotation> |
|
466 |
</xs:element> |
|
467 |
<xs:element name="userAgent" type="xs:string" |
|
468 |
minOccurs="1" maxOccurs="1"> |
|
469 |
<xs:annotation> |
|
470 |
<xs:documentation>The user agent of the client making the request, as |
|
471 |
reported in the User-Agent HTTP header.</xs:documentation> |
|
472 |
</xs:annotation> |
|
473 |
</xs:element> |
|
474 |
<xs:element name="subject" type="d1:Subject" |
|
475 |
minOccurs="1" maxOccurs="1"> |
|
476 |
<xs:annotation> |
|
477 |
<xs:documentation>The :term:`Subject` used for making the request. |
|
478 |
This may be the DataONE :term:`public` user if the request is not |
|
479 |
authenticated, otherwise it will be the *Subject* of the certificate |
|
480 |
used for authenticating the request.</xs:documentation> |
|
481 |
</xs:annotation> |
|
482 |
</xs:element> |
|
483 |
<xs:element name="event" type="d1:Event" |
|
484 |
minOccurs="1" maxOccurs="1"> |
|
485 |
<xs:annotation> |
|
486 |
<xs:documentation>An entry from the :class:`Types.Event` enumeration |
|
487 |
indicating the type of operation that triggered the log message.</xs:documentation> |
|
488 |
</xs:annotation> |
|
489 |
</xs:element> |
|
490 |
<xs:element name="dateLogged" type="xs:dateTime" |
|
491 |
minOccurs="1" maxOccurs="1"> |
|
492 |
<xs:annotation> |
|
493 |
<xs:documentation>A :class:`Types.DateTime` time stamp indicating when |
|
494 |
the event triggering the log message ocurred. Note that all time |
|
495 |
stamps in DataONE are in UTC.</xs:documentation> |
|
496 |
</xs:annotation> |
|
497 |
</xs:element> |
|
498 |
<xs:element name="nodeIdentifier" type="d1:NodeReference" |
|
499 |
minOccurs="1" maxOccurs="1"> |
|
500 |
<xs:annotation> |
|
501 |
<xs:documentation>The unique identifier for the node where the log |
|
502 |
message was generated.</xs:documentation> |
|
503 |
</xs:annotation> |
|
504 |
</xs:element> |
|
505 |
</xs:sequence> |
|
506 |
</xs:complexType> |
|
507 |
|
|
508 |
<!-- Node --> |
|
509 |
<xs:complexType name="Node"> |
|
510 |
<xs:annotation> |
|
511 |
<xs:documentation>A set of values that describe a member or coordinating |
|
512 |
node, its Internet location, and the services it supports. Several nodes |
|
513 |
may exist on a single physical device or hostname. </xs:documentation> |
|
514 |
</xs:annotation> |
|
515 |
<xs:sequence> |
|
516 |
<xs:element name="identifier" type="d1:NodeReference" minOccurs="1" |
|
517 |
maxOccurs="1"> |
|
518 |
<xs:annotation> |
|
519 |
<xs:documentation>A unique identifier for the node of the form |
|
520 |
``urn:node:NODEID`` where NODEID is the node specific identifier. |
|
521 |
This value MUST NOT change for future implementations of the |
|
522 |
same node, whereas the *baseURL* may change in the future. |
|
523 |
</xs:documentation> |
|
524 |
</xs:annotation> |
|
525 |
</xs:element> |
|
526 |
<xs:element name="name" type="d1:NonEmptyString" minOccurs="1" maxOccurs="1" > |
|
527 |
<xs:annotation> |
|
528 |
<xs:documentation>A human readable name of the Node. This name can |
|
529 |
be used as a label in many systems to represent the node, and thus |
|
530 |
should be short, but understandable. </xs:documentation> |
|
531 |
</xs:annotation> |
|
532 |
</xs:element> |
|
533 |
<xs:element name="description" type="d1:NonEmptyString" minOccurs="1" |
|
534 |
maxOccurs="1"> |
|
535 |
<xs:annotation> |
|
536 |
<xs:documentation>Description of a Node, explaining the community it |
|
537 |
serves and other relevant information about the node, such as what |
|
538 |
content is maintained by this node and any other free style notes. |
|
539 |
</xs:documentation> |
|
540 |
</xs:annotation> |
|
541 |
</xs:element> |
|
542 |
<xs:element name="baseURL" type="xs:anyURI" minOccurs="1" maxOccurs="1"> |
|
543 |
<xs:annotation> |
|
544 |
<xs:documentation>The base URL of the node, indicating the |
|
545 |
protocol, fully qualified domain name, and path to the implementing |
|
546 |
service, excluding the version of the API. e.g. |
|
547 |
``https://server.example.edu/app/d1/mn`` rather than |
|
548 |
``https://server.example.edu/app/d1/mn/v1``</xs:documentation> |
|
549 |
</xs:annotation> |
|
550 |
</xs:element> |
|
551 |
<xs:element name="services" type="d1:Services" minOccurs="0" maxOccurs="1"> |
|
552 |
<xs:annotation> |
|
553 |
<xs:documentation>A list of services that are provided by this node. |
|
554 |
Used in node descriptions so that nodes can provide metadata about |
|
555 |
each service they implement and support.</xs:documentation> |
|
556 |
</xs:annotation> |
|
557 |
</xs:element> |
|
558 |
<xs:element name="synchronization" type="d1:Synchronization" minOccurs="0" |
|
559 |
maxOccurs="1"> |
|
560 |
<xs:annotation> |
|
561 |
<xs:documentation>Configuration information for the process by which |
|
562 |
content is harvested from Member Nodes to Coordinating Nodes. This |
|
563 |
includes the schedule on which harvesting should occur, and metadata |
|
564 |
about the last synchronization attempts for the |
|
565 |
node.</xs:documentation> |
|
566 |
</xs:annotation> |
|
567 |
</xs:element> |
|
568 |
<xs:element name="nodeReplicationPolicy" type="d1:NodeReplicationPolicy" |
|
569 |
minOccurs="0" maxOccurs="1"> |
|
570 |
<xs:annotation> |
|
571 |
<xs:documentation>The replication policy for this node that expresses |
|
572 |
constraints on object size, total objects, source nodes, and object |
|
573 |
format types. A node may want to restrict replication from only |
|
574 |
certain peer nodes, may have file size limits, total allocated size |
|
575 |
limits, or may want to focus on being a replica target for |
|
576 |
domain-specific object formats.</xs:documentation> |
|
577 |
</xs:annotation> |
|
578 |
</xs:element> |
|
579 |
<xs:element name="ping" type="d1:Ping" minOccurs="0" maxOccurs="1"> |
|
580 |
<xs:annotation> |
|
581 |
<xs:documentation>Stored results from the :func:`MNCore.ping` and |
|
582 |
:func:`CNCore.ping` methods.</xs:documentation> |
|
583 |
</xs:annotation> |
|
584 |
</xs:element> |
|
585 |
<xs:element name="subject" type="d1:Subject" minOccurs="0" |
|
586 |
maxOccurs="unbounded"> |
|
587 |
<xs:annotation> |
|
588 |
<xs:documentation>The :term:`Subject` of this node, which can be |
|
589 |
repeated as needed. The *Node.subject* represents the identifier of |
|
590 |
the node that would be found in X.509 certificates used to securely |
|
591 |
communicate with this node. Thus, it is an :term:`X.509 |
|
592 |
Distinguished Name` that applies to the host on which the Node is |
|
593 |
operating. When (and if) this hostname changes the new subject for |
|
594 |
the node would be added to the Node to track the subject that has |
|
595 |
been used in various access control rules over time. |
|
596 |
</xs:documentation> |
|
597 |
</xs:annotation> |
|
598 |
</xs:element> |
|
599 |
<xs:element name="contactSubject" type="d1:Subject" minOccurs="1" |
|
600 |
maxOccurs="unbounded"> |
|
601 |
<xs:annotation> |
|
602 |
<xs:documentation>The appropriate person or group to contact |
|
603 |
regarding the disposition, management, and status of this Member |
|
604 |
Node. The *Node.contactSubject* is an :term:`X.509 Distinguished |
|
605 |
Name` for a person or group that can be used to look up current |
|
606 |
contact details (e.g., name, email address) for the contact in the |
|
607 |
DataONE Identity service. DataONE uses the *contactSubject* to |
|
608 |
provide notices of interest to DataONE nodes, including information |
|
609 |
such as policy changes, maintenance updates, node outage |
|
610 |
notifications, among other information useful for administering a |
|
611 |
node. Each node that is registered with DataONE must provide at |
|
612 |
least one *contactSubject* that has been :term:`verified` with |
|
613 |
DataONE. </xs:documentation> |
|
614 |
</xs:annotation> |
|
615 |
</xs:element> |
|
616 |
</xs:sequence> |
|
617 |
<xs:attribute name="replicate" use="required" type="xs:boolean"> |
|
618 |
<xs:annotation> |
|
619 |
<xs:documentation>Set to *true* if the node is willing to be a |
|
620 |
:term:`replication target`, otherwise *false*.</xs:documentation> |
|
621 |
</xs:annotation> |
|
622 |
</xs:attribute> |
|
623 |
<xs:attribute name="synchronize" use="required" type="xs:boolean"> |
|
624 |
<xs:annotation> |
|
625 |
<xs:documentation>Set to *true* if the node should be |
|
626 |
:term:`synchronized` by a Coordinating Node, otherwise |
|
627 |
*false*.</xs:documentation> |
|
628 |
</xs:annotation> |
|
629 |
</xs:attribute> |
|
630 |
<xs:attribute name="type" use="required" type="d1:NodeType"> |
|
631 |
<xs:annotation> |
|
632 |
<xs:documentation>The type of the node (Coordinating, Member), chosen |
|
633 |
from the :class:`Types.NodeType` type.</xs:documentation> |
|
634 |
</xs:annotation> |
|
635 |
</xs:attribute> |
|
636 |
<xs:attribute name="state" use="required" type="d1:NodeState" > |
Also available in: Unified diff
Add cached versions of the DataONE, Dryad, Dublin core, and Darwin Core schemas to Metacat. Remove schemaLocation attributes so that we rely on the local catalog and don't use (potentially changing) URL endpoints.