For Torus record fetch, proxy may be given
[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:element minOccurs="0" ref="mp:contentProxy"/>
12       <xs:element minOccurs="0" ref="mp:log"/>
13     </xs:sequence>
14   </xs:group>
15   <xs:element name="torus">
16     <xs:complexType>
17       <xs:sequence>
18         <xs:element minOccurs="0" ref="mp:records"/>
19       </xs:sequence>
20       <xs:attribute name="url" use="required" type="xs:string"/>
21       <xs:attribute name="xsldir" type="xs:string"/>
22       <xs:attribute name="element_transform" type="xs:string"/>
23       <xs:attribute name="element_raw" type="xs:string"/>
24       <xs:attribute name="proxy" type="xs:string"/>
25     </xs:complexType>
26   </xs:element>
27   <xs:element name="records">
28     <xs:complexType>
29       <xs:sequence>
30         <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:record"/>
31       </xs:sequence>
32     </xs:complexType>
33   </xs:element>
34   <xs:element name="record">
35     <xs:complexType>
36       <xs:sequence>
37         <xs:element minOccurs="0" ref="mp:authentication"/>
38         <xs:element minOccurs="0" ref="mp:piggyback"/>
39         <xs:element minOccurs="0" ref="mp:queryEncoding"/>
40         <xs:element ref="mp:udb"/>
41         <xs:element minOccurs="0" ref="mp:cclmap_au"/>
42         <xs:element minOccurs="0" ref="mp:cclmap_date"/>
43         <xs:element minOccurs="0" ref="mp:cclmap_isbn"/>
44         <xs:element minOccurs="0" ref="mp:cclmap_su"/>
45         <xs:element minOccurs="0" ref="mp:cclmap_term"/>
46         <xs:element minOccurs="0" ref="mp:cclmap_ti"/>
47         <xs:element minOccurs="0" ref="mp:elementSet"/>
48         <xs:element minOccurs="0" ref="mp:recordEncoding"/>
49         <xs:element minOccurs="0" ref="mp:requestSyntax"/>
50         <xs:element minOccurs="0" ref="mp:sru"/>
51         <xs:element minOccurs="0" ref="mp:transform"/>
52         <xs:element minOccurs="0" ref="mp:urlRecipe"/>
53         <xs:element ref="mp:zurl"/>
54         <xs:element minOccurs="0" ref="mp:cfAuth"/>
55         <xs:element minOccurs="0" ref="mp:cfProxy"/>
56         <xs:element minOccurs="0" ref="mp:cfSubDb"/>
57         <xs:element minOccurs="0" ref="mp:contentConnector"/>
58       </xs:sequence>
59     </xs:complexType>
60   </xs:element>
61   <xs:element name="authentication" type="xs:string"/>
62   <xs:element name="piggyback" type="xs:string"/>
63   <xs:element name="queryEncoding" type="xs:string"/>
64   <xs:element name="udb" type="xs:string"/>
65   <xs:element name="cclmap_au" type="xs:string"/>
66   <xs:element name="cclmap_date" type="xs:string"/>
67   <xs:element name="cclmap_isbn" type="xs:string"/>
68   <xs:element name="cclmap_su" type="xs:string"/>
69   <xs:element name="cclmap_term" type="xs:string"/>
70   <xs:element name="cclmap_ti" type="xs:string"/>
71   <xs:element name="elementSet" type="xs:string"/>
72   <xs:element name="recordEncoding" type="xs:string"/>
73   <xs:element name="requestSyntax" type="xs:string"/>
74   <xs:element name="sru" type="xs:string"/>
75   <xs:element name="transform" type="xs:string"/>
76   <xs:element name="urlRecipe" type="xs:string"/>
77   <xs:element name="zurl" type="xs:string"/>
78   <xs:element name="cfAuth" type="xs:string"/>
79   <xs:element name="cfProxy" type="xs:string"/>
80   <xs:element name="cfSubDb" type="xs:string"/>
81   <xs:element name="contentConnector" type="xs:string"/>
82   <xs:element name="fieldmap">
83     <xs:complexType>
84       <xs:attribute name="cql" use="required" type="xs:string"/>
85       <xs:attribute name="ccl" type="xs:string"/>
86     </xs:complexType>
87   </xs:element>
88   <xs:element name="cclmap">
89     <xs:complexType>
90       <xs:sequence>
91         <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:qual"/>
92       </xs:sequence>
93     </xs:complexType>
94   </xs:element>
95   <xs:element name="qual">
96     <xs:complexType>
97       <xs:sequence>
98         <xs:element maxOccurs="unbounded" ref="mp:attr"/>
99       </xs:sequence>
100       <xs:attribute name="name" use="required" type="xs:string"/>
101     </xs:complexType>
102   </xs:element>
103   <xs:element name="attr">
104     <xs:complexType>
105       <xs:attribute name="type" use="required" type="xs:string"/>
106       <xs:attribute name="value" use="required" type="xs:string"/>
107     </xs:complexType>
108   </xs:element>
109   <xs:element name="contentProxy">
110     <xs:complexType>
111       <xs:attribute name="server" type="xs:string"/>
112       <xs:attribute name="tmp_file" type="xs:string"/>
113     </xs:complexType>
114   </xs:element>
115   <xs:element name="log">
116     <xs:complexType>
117       <xs:attribute name="apdu" type="xs:boolean"/>
118     </xs:complexType>
119   </xs:element>
120   <xs:attributeGroup name="filter_zoom">
121     <xs:attribute name="type" use="required">
122       <xs:simpleType>
123         <xs:restriction base="xs:token">
124           <xs:enumeration value="zoom"/>
125         </xs:restriction>
126       </xs:simpleType>
127     </xs:attribute>
128     <xs:attribute name="id" type="xs:NCName"/>
129     <xs:attribute name="name" type="xs:NCName"/>
130   </xs:attributeGroup>
131 </xs:schema>