zoom: allow local torus record.
[metaproxy-moved-to-github.git] / xml / schema / filter_zoom.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Metaproxy XML config file schema -->
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
4   <xs:import schemaLocation="local.xsd"/>
5   <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
6   <xs:group name="filter_zoom">
7     <xs:sequence>
8       <xs:element minOccurs="0" ref="mp:torus"/>
9       <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:fieldmap"/>
10       <xs:element minOccurs="0" ref="mp:cclmap"/>
11     </xs:sequence>
12   </xs:group>
13   <xs:element name="torus">
14     <xs:complexType>
15       <xs:sequence>
16         <xs:element minOccurs="0" ref="mp:records"/>
17       </xs:sequence>
18       <xs:attribute name="url" use="required" type="xs:string"/>
19       <xs:attribute name="xsldir" type="xs:string"/>
20     </xs:complexType>
21   </xs:element>
22   <xs:element name="records">
23     <xs:complexType>
24       <xs:sequence>
25         <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:record"/>
26       </xs:sequence>
27     </xs:complexType>
28   </xs:element>
29   <xs:element name="record">
30     <xs:complexType>
31       <xs:sequence>
32         <xs:element minOccurs="0" ref="mp:authentication"/>
33         <xs:element minOccurs="0" ref="mp:piggyback"/>
34         <xs:element minOccurs="0" ref="mp:queryEncoding"/>
35         <xs:element ref="mp:udb"/>
36         <xs:element minOccurs="0" ref="mp:cclmap_au"/>
37         <xs:element minOccurs="0" ref="mp:cclmap_date"/>
38         <xs:element minOccurs="0" ref="mp:cclmap_isbn"/>
39         <xs:element minOccurs="0" ref="mp:cclmap_su"/>
40         <xs:element minOccurs="0" ref="mp:cclmap_term"/>
41         <xs:element minOccurs="0" ref="mp:cclmap_ti"/>
42         <xs:element minOccurs="0" ref="mp:recordEncoding"/>
43         <xs:element minOccurs="0" ref="mp:requestSyntax"/>
44         <xs:element minOccurs="0" ref="mp:sru"/>
45         <xs:element minOccurs="0" ref="mp:transform"/>
46         <xs:element ref="mp:zurl"/>
47       </xs:sequence>
48     </xs:complexType>
49   </xs:element>
50   <xs:element name="authentication" type="xs:string"/>
51   <xs:element name="piggyback" type="xs:string"/>
52   <xs:element name="queryEncoding" type="xs:string"/>
53   <xs:element name="udb" type="xs:string"/>
54   <xs:element name="cclmap_au" type="xs:string"/>
55   <xs:element name="cclmap_date" type="xs:string"/>
56   <xs:element name="cclmap_isbn" type="xs:string"/>
57   <xs:element name="cclmap_su" type="xs:string"/>
58   <xs:element name="cclmap_term" type="xs:string"/>
59   <xs:element name="cclmap_ti" type="xs:string"/>
60   <xs:element name="recordEncoding" type="xs:string"/>
61   <xs:element name="requestSyntax" type="xs:string"/>
62   <xs:element name="sru" type="xs:string"/>
63   <xs:element name="transform" type="xs:string"/>
64   <xs:element name="zurl" type="xs:string"/>
65   <xs:element name="fieldmap">
66     <xs:complexType>
67       <xs:attribute name="cql" use="required" type="xs:string"/>
68       <xs:attribute name="ccl" type="xs:string"/>
69     </xs:complexType>
70   </xs:element>
71   <xs:element name="cclmap">
72     <xs:complexType>
73       <xs:sequence>
74         <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:qual"/>
75       </xs:sequence>
76     </xs:complexType>
77   </xs:element>
78   <xs:element name="qual">
79     <xs:complexType>
80       <xs:sequence>
81         <xs:element maxOccurs="unbounded" ref="mp:attr"/>
82       </xs:sequence>
83       <xs:attribute name="name" use="required" type="xs:string"/>
84     </xs:complexType>
85   </xs:element>
86   <xs:element name="attr">
87     <xs:complexType>
88       <xs:attribute name="type" use="required" type="xs:string"/>
89       <xs:attribute name="value" use="required" type="xs:string"/>
90     </xs:complexType>
91   </xs:element>
92   <xs:attributeGroup name="filter_zoom">
93     <xs:attribute name="type" use="required">
94       <xs:simpleType>
95         <xs:restriction base="xs:token">
96           <xs:enumeration value="zoom"/>
97         </xs:restriction>
98       </xs:simpleType>
99     </xs:attribute>
100     <xs:attribute name="id" type="xs:NCName"/>
101     <xs:attribute name="name" type="xs:NCName"/>
102   </xs:attributeGroup>
103 </xs:schema>