1
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
2
|
<xs:annotation>
|
3
|
<xs:documentation>Standard part of any Resource Profile</xs:documentation>
|
4
|
</xs:annotation>
|
5
|
<xs:element name="RESOURCE_PROFILE">
|
6
|
<xs:complexType>
|
7
|
<xs:sequence>
|
8
|
<xs:element name="HEADER" type="HEADERType"/>
|
9
|
<xs:element name="BODY" type="BODYType"/>
|
10
|
</xs:sequence>
|
11
|
</xs:complexType>
|
12
|
</xs:element>
|
13
|
<xs:complexType name="HEADERType">
|
14
|
<xs:all>
|
15
|
<xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/>
|
16
|
<xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/>
|
17
|
<xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/>
|
18
|
<xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/>
|
19
|
<xs:element name="DATE_OF_CREATION" type="DATEType"/>
|
20
|
</xs:all>
|
21
|
</xs:complexType>
|
22
|
<xs:complexType name="BODYType">
|
23
|
<xs:sequence>
|
24
|
<xs:element name="CONFIGURATION" type="CONFIGURATIONType"/>
|
25
|
<xs:element name="STATUS" type="STATUSType"/>
|
26
|
<xs:element ref="SECURITY_PARAMETERS"/>
|
27
|
</xs:sequence>
|
28
|
</xs:complexType>
|
29
|
<xs:complexType name="RESOURCE_IDENTIFIERType">
|
30
|
<xs:attribute name="value" type="xs:string" use="required"/>
|
31
|
</xs:complexType>
|
32
|
<xs:complexType name="RESOURCE_TYPEType">
|
33
|
<xs:attribute name="value" use="required">
|
34
|
<xs:simpleType>
|
35
|
<xs:restriction base="xs:string">
|
36
|
<xs:enumeration value="OAIPublisherConfigurationDSResourceType"/>
|
37
|
</xs:restriction>
|
38
|
</xs:simpleType>
|
39
|
</xs:attribute>
|
40
|
</xs:complexType>
|
41
|
<xs:complexType name="RESOURCE_KINDType">
|
42
|
<xs:attribute name="value" use="required">
|
43
|
<xs:simpleType>
|
44
|
<xs:restriction base="xs:string">
|
45
|
<xs:enumeration value="OAIPublisherConfigurationDSResources"/>
|
46
|
</xs:restriction>
|
47
|
</xs:simpleType>
|
48
|
</xs:attribute>
|
49
|
</xs:complexType>
|
50
|
<xs:complexType name="RESOURCE_URIType">
|
51
|
<xs:attribute name="value" type="xs:string" use="required"/>
|
52
|
</xs:complexType>
|
53
|
<xs:complexType name="DATEType">
|
54
|
<xs:attribute name="value" type="xs:dateTime" use="required"/>
|
55
|
</xs:complexType>
|
56
|
<xs:annotation>
|
57
|
<xs:documentation>Customisable part of any Resource Profile</xs:documentation>
|
58
|
</xs:annotation>
|
59
|
<xs:complexType name="CONFIGURATIONType">
|
60
|
<xs:sequence>
|
61
|
<xs:element name="IDSCHEME" type="xs:string"/>
|
62
|
<xs:element name="IDNAMESPACE" type="xs:string"/>
|
63
|
<xs:element name="CURRENTDB" type="xs:string"/>
|
64
|
<xs:element name="OAISETS" type="OAISETSType"/>
|
65
|
<xs:element name="METADATAFORMATS" type="METADATAFORMATSType"/>
|
66
|
<xs:element name="INDICES" type="INDICESType"/>
|
67
|
<xs:element name="ENRICHMENT" type="ENRICHMENTType" minOccurs="0"/>
|
68
|
</xs:sequence>
|
69
|
</xs:complexType>
|
70
|
|
71
|
<xs:complexType name="ENRICHMENTType">
|
72
|
<xs:annotation>
|
73
|
<xs:documentation>ENRICHMENT: xpaths to identify when a record has
|
74
|
been enriched
|
75
|
and must thus be inserted into a special
|
76
|
"setSpec_enriched"</xs:documentation>
|
77
|
</xs:annotation>
|
78
|
<xs:sequence>
|
79
|
<xs:element name="XPATH" minOccurs="0" maxOccurs="unbounded">
|
80
|
<xs:complexType>
|
81
|
<xs:attribute name="interpretation" type="xs:string" use="required"/>
|
82
|
<xs:attribute name="layout" type="xs:string" use="required"/>
|
83
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
84
|
<xs:attribute name="path" type="xs:string" use="required"/>
|
85
|
</xs:complexType>
|
86
|
</xs:element>
|
87
|
</xs:sequence>
|
88
|
</xs:complexType>
|
89
|
<xs:complexType name="OAISETSType">
|
90
|
<xs:sequence>
|
91
|
<xs:element name="OAISET" type="OAISETType" minOccurs="0" maxOccurs="unbounded"/>
|
92
|
</xs:sequence>
|
93
|
</xs:complexType>
|
94
|
<xs:complexType name="OAISETType">
|
95
|
<xs:annotation>
|
96
|
<xs:documentation>
|
97
|
Definition of the OAI sets to export.
|
98
|
<ul>
|
99
|
<li>element spec: the setSpec.</li>
|
100
|
<li>element name: the name of the set</li>
|
101
|
<li>element description: description of the set</li>
|
102
|
<li>element query: records in this set are results of this query</li>
|
103
|
<li>attribute enabled: is the OAI set to export? Default is true</li>
|
104
|
</ul>
|
105
|
</xs:documentation>
|
106
|
</xs:annotation>
|
107
|
<xs:sequence>
|
108
|
<xs:element name="spec" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
109
|
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
110
|
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
111
|
<xs:element name="query" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
112
|
</xs:sequence>
|
113
|
<xs:attribute name="enabled" type="xs:boolean" use="optional"/>
|
114
|
</xs:complexType>
|
115
|
<xs:complexType name="METADATAFORMATSType">
|
116
|
<xs:sequence>
|
117
|
<xs:element name="METADATAFORMAT" type="METADATAFORMATType" maxOccurs="unbounded"/>
|
118
|
</xs:sequence>
|
119
|
</xs:complexType>
|
120
|
<xs:complexType name="METADATAFORMATType">
|
121
|
<xs:annotation>
|
122
|
<xs:documentation>
|
123
|
<ul>
|
124
|
<li>@exportable: true if we want to export
|
125
|
the metadata format via
|
126
|
OAI-PMH. Default is false.</li>
|
127
|
<li>@metadataPrefix: metadata prefix to be used for
|
128
|
OAI-PMH call.
|
129
|
E.g.,
|
130
|
oai_dc</li>
|
131
|
<li>NAMESPACE: target metadata format
|
132
|
namespace (xmlns). E.g.,
|
133
|
http://www.openarchives.org/OAI/2.0/oai_dc/</li>
|
134
|
<li/>
|
135
|
<li>SCHEMA: URL to the XML Schema. E.g.,
|
136
|
http://www.openarchives.org/OAI/2.0/oai_dc.xsd</li>
|
137
|
<li>SOURCE_METADATA_FORMAT/@name: metadata format of the mdstores
|
138
|
to be used as sources</li>
|
139
|
<li>SOURCE_METADATA_FORMAT/@interpretation: interpretation of the
|
140
|
mdstores to be used as sources</li>
|
141
|
<li>SOURCE_METADATA_FORMAT/@layout: layout of the mdstores to be
|
142
|
used as sources</li>
|
143
|
<li>TRANSFORMATION_RULE: identifier of the transformation to apply
|
144
|
to source records and transform them into the target
|
145
|
format</li>
|
146
|
<li>BASE_QUERY: base query to apply to filter records to export</li>
|
147
|
</ul>
|
148
|
</xs:documentation>
|
149
|
</xs:annotation>
|
150
|
<xs:sequence>
|
151
|
<xs:element name="NAMESPACE" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
152
|
<xs:element name="SCHEMA" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
153
|
<xs:element name="SOURCE_METADATA_FORMAT">
|
154
|
<xs:complexType>
|
155
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
156
|
<xs:attribute name="interpretation" type="xs:string" use="required"/>
|
157
|
<xs:attribute name="layout" type="xs:string" use="required"/>
|
158
|
</xs:complexType>
|
159
|
</xs:element>
|
160
|
<xs:element name="TRANSFORMATION_RULE" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
161
|
<xs:element name="BASE_QUERY" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
162
|
</xs:sequence>
|
163
|
<xs:attribute name="exportable" type="xs:boolean" use="optional"/>
|
164
|
<xs:attribute name="metadataPrefix" type="xs:string" use="required"/>
|
165
|
</xs:complexType>
|
166
|
<xs:complexType name="INDICESType">
|
167
|
<xs:annotation>
|
168
|
<xs:documentation>
|
169
|
One INDEX element represents one index to be created in the
|
170
|
PublisherStore.
|
171
|
When defining one index, you need to specify where to
|
172
|
find the value to
|
173
|
be stored in that indexed field for each source
|
174
|
metadata formats.
|
175
|
<ul>
|
176
|
<li>SOURCE: information to identify one source metadata format</li>
|
177
|
<li>SOURCE/@path: xpath where to find the value to be used in the
|
178
|
indexed field.</li>
|
179
|
</ul>
|
180
|
</xs:documentation>
|
181
|
</xs:annotation>
|
182
|
<xs:sequence>
|
183
|
<xs:element name="INDEX" minOccurs="0" maxOccurs="unbounded">
|
184
|
<xs:complexType>
|
185
|
<xs:sequence>
|
186
|
<xs:element name="SOURCE" minOccurs="0" maxOccurs="unbounded">
|
187
|
<xs:complexType>
|
188
|
<xs:attribute name="interpretation" type="xs:string" use="required"/>
|
189
|
<xs:attribute name="layout" type="xs:string" use="required"/>
|
190
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
191
|
<xs:attribute name="path" type="xs:string" use="required"/>
|
192
|
</xs:complexType>
|
193
|
</xs:element>
|
194
|
</xs:sequence>
|
195
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
196
|
<xs:attribute name="repeatable" type="xs:boolean" use="required"/>
|
197
|
</xs:complexType>
|
198
|
</xs:element>
|
199
|
</xs:sequence>
|
200
|
</xs:complexType>
|
201
|
<xs:complexType name="STATUSType">
|
202
|
<xs:all>
|
203
|
<xs:element name="LAST_UPDATE" type="DATEType"/>
|
204
|
</xs:all>
|
205
|
</xs:complexType>
|
206
|
<xs:element name="SECURITY_PARAMETERS" type="xs:string"/>
|
207
|
</xs:schema>
|