source: SRUServer/trunk/src/main/resources/META-INF/sru-server-config.xsd @ 1890

Last change on this file since 1890 was 1890, checked in by oschonef, 12 years ago
  • fix parsing of /indexInfo/index/map settings
  • sanity check for existing set
  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/xml
File size: 4.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3  xmlns="http://www.clarin.eu/sru-server/1.0/"
4  targetNamespace="http://www.clarin.eu/sru-server/1.0/"
5  elementFormDefault="qualified">
6
7  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
8    schemaLocation="xml.xsd" />
9
10  <xsd:element name="endpoint-config">
11    <xsd:complexType>
12      <xsd:sequence>
13        <xsd:element ref="databaseInfo" />
14        <xsd:element ref="indexInfo" />
15        <xsd:element ref="schemaInfo" />
16      </xsd:sequence>
17    </xsd:complexType>
18  </xsd:element>
19
20  <xsd:element name="databaseInfo">
21    <xsd:complexType>
22      <xsd:sequence>
23        <xsd:element name="title" type="text" maxOccurs="unbounded" />
24        <xsd:element name="description" type="text" minOccurs="0" maxOccurs="unbounded" />
25        <xsd:element name="author" type="text" minOccurs="0" maxOccurs="unbounded" />
26        <xsd:element name="extent" type="text" minOccurs="0" maxOccurs="unbounded" />
27        <xsd:element name="history" type="text" minOccurs="0" maxOccurs="unbounded" />
28        <xsd:element name="langUsage" type="text" minOccurs="0" maxOccurs="unbounded" />
29        <xsd:element name="restrictions" type="text" minOccurs="0" maxOccurs="unbounded" />
30        <xsd:element name="subjects" type="text" minOccurs="0" maxOccurs="unbounded" />
31        <xsd:element name="links" type="text" minOccurs="0" maxOccurs="unbounded" />
32        <xsd:element name="implementation" type="text" minOccurs="0" maxOccurs="unbounded" />
33      </xsd:sequence>
34    </xsd:complexType>
35  </xsd:element>
36
37  <xsd:element name="indexInfo">
38    <xsd:complexType>
39      <xsd:choice maxOccurs="unbounded">
40        <xsd:element ref="set" />
41        <xsd:element ref="index" />
42      </xsd:choice>
43    </xsd:complexType>
44  </xsd:element>
45
46  <xsd:element name="set">
47    <xsd:complexType>
48      <xsd:sequence>
49        <xsd:element name="title" type="text" minOccurs="0" maxOccurs="unbounded" />
50      </xsd:sequence>
51      <xsd:attribute name="name" type="xsd:string" use="required" />
52      <xsd:attribute name="identifier" type="xsd:string" use="required" />
53    </xsd:complexType>
54  </xsd:element>
55
56  <xsd:element name="index">
57    <xsd:complexType>
58      <xsd:sequence>
59        <xsd:element name="title" type="text" minOccurs="0" maxOccurs="unbounded" />
60        <xsd:element ref="map" maxOccurs="unbounded" />
61      </xsd:sequence>
62      <xsd:attribute name="id" type="xsd:string" />
63      <xsd:attribute name="search" type="xsd:boolean" use="required" />
64      <xsd:attribute name="scan" type="xsd:boolean" use="required" />
65      <xsd:attribute name="sort" type="xsd:boolean" use="required" />
66    </xsd:complexType>
67  </xsd:element>
68
69  <xsd:element name="map">
70    <xsd:complexType>
71      <xsd:choice>
72        <xsd:element name="name">
73          <xsd:complexType>
74            <xsd:simpleContent>
75              <xsd:extension base="xsd:string">
76                <xsd:attribute name="set" type="xsd:string" use="required" />
77              </xsd:extension>
78            </xsd:simpleContent>
79          </xsd:complexType>
80        </xsd:element>
81      </xsd:choice>
82      <xsd:attribute name="primary" type="xsd:boolean" default="false" />
83    </xsd:complexType>
84  </xsd:element>
85
86  <xsd:element name="schemaInfo">
87    <xsd:complexType>
88      <xsd:sequence>
89        <xsd:element name="schema" maxOccurs="unbounded">
90          <xsd:complexType>
91            <xsd:sequence>
92              <xsd:element name="title" type="text" minOccurs="0" maxOccurs="unbounded"/>
93            </xsd:sequence>
94            <xsd:attribute name="identifier" type="xsd:string" use="required" />
95            <xsd:attribute name="name" type="xsd:string" use="required" />
96            <xsd:attribute name="location" type="xsd:anyURI" />
97            <xsd:attribute name="sort" type="xsd:boolean" use="required" />
98            <xsd:attribute name="retrieve" type="xsd:boolean" use="required" />
99          </xsd:complexType>
100        </xsd:element>
101      </xsd:sequence>
102    </xsd:complexType>
103  </xsd:element>
104
105  <xsd:complexType name="text">
106    <xsd:simpleContent>
107      <xsd:extension base="xsd:string">
108        <xsd:attribute ref="xml:lang" use="required" />
109        <xsd:attribute name="primary" type="xsd:boolean" default="false" />
110      </xsd:extension>
111    </xsd:simpleContent>
112  </xsd:complexType>
113
114</xsd:schema>
Note: See TracBrowser for help on using the repository browser.