Project

General

Profile

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>
(19-19/37)