zoom: configurable element sets for record transforms.
[metaproxy-moved-to-github.git] / xml / schema / filter_zoom.rng
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Metaproxy XML config file schema -->
3 <grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4   <define name="filter_zoom">
5     <attribute name="type">
6       <value>zoom</value>
7     </attribute>
8     <optional>
9       <attribute name="id">
10         <data type="NCName"/>
11       </attribute>
12     </optional>
13     <optional>
14       <attribute name="name">
15         <data type="NCName"/>
16       </attribute>
17     </optional>
18     <optional>
19       <element name="mp:torus">
20         <attribute name="url">
21           <data type="string"/>
22         </attribute>
23         <optional>
24           <attribute name="xsldir">
25             <data type="string"/>
26           </attribute>
27         </optional>
28         <optional>
29           <attribute name="element_transform">
30             <data type="string"/>
31           </attribute>
32         </optional>
33         <optional>
34           <attribute name="element_raw">
35             <data type="string"/>
36           </attribute>
37         </optional>
38         <optional>
39           <element name="mp:records">
40             <zeroOrMore>
41               <element name="mp:record">
42                 <optional>
43                   <element name="mp:authentication">
44                     <data type="string"/>
45                   </element>
46                 </optional>
47                 <optional>
48                   <element name="mp:piggyback">
49                     <data type="string"/>
50                   </element>
51                 </optional>
52                 <optional>
53                   <element name="mp:queryEncoding">
54                     <data type="string"/>
55                   </element>
56                 </optional>
57                 <element name="mp:udb">
58                   <data type="string"/>
59                 </element>
60                 <optional>
61                   <element name="mp:cclmap_au">
62                     <data type="string"/>
63                   </element>
64                 </optional>
65                 <optional>
66                   <element name="mp:cclmap_date">
67                     <data type="string"/>
68                   </element>
69                 </optional>
70                 <optional>
71                   <element name="mp:cclmap_isbn">
72                     <data type="string"/>
73                   </element>
74                 </optional>
75                 <optional>
76                   <element name="mp:cclmap_su">
77                     <data type="string"/>
78                   </element>
79                 </optional>
80                 <optional>
81                   <element name="mp:cclmap_term">
82                     <data type="string"/>
83                   </element>
84                 </optional>
85                 <optional>
86                   <element name="mp:cclmap_ti">
87                     <data type="string"/>
88                   </element>
89                 </optional>
90                 <optional>
91                   <element name="mp:elementSet">
92                     <data type="string"/>
93                   </element>
94                 </optional>
95                 <optional>
96                   <element name="mp:recordEncoding">
97                     <data type="string"/>
98                   </element>
99                 </optional>
100                 <optional>
101                   <element name="mp:requestSyntax">
102                     <data type="string"/>
103                   </element>
104                 </optional>
105                 <optional>
106                   <element name="mp:sru">
107                     <data type="string"/>
108                   </element>
109                 </optional>
110                 <optional>
111                   <element name="mp:transform">
112                     <data type="string"/>
113                   </element>
114                 </optional>
115                 <element name="mp:zurl">
116                   <data type="string"/>
117                 </element>
118               </element>
119             </zeroOrMore>
120           </element>
121         </optional>
122       </element>
123     </optional>
124     <zeroOrMore>
125       <element name="mp:fieldmap">
126         <attribute name="cql">
127           <data type="string"/>
128         </attribute>
129         <optional>
130           <attribute name="ccl">
131             <data type="string"/>
132           </attribute>
133         </optional>
134       </element>
135     </zeroOrMore>
136     <optional>
137       <element name="mp:cclmap">
138         <zeroOrMore>
139           <element name="mp:qual">
140             <attribute name="name">
141               <data type="string"/>
142             </attribute>
143             <oneOrMore>
144               <element name="mp:attr">
145                 <attribute name="type">
146                   <data type="string"/>
147                 </attribute>
148                 <attribute name="value">
149                   <data type="string"/>
150                 </attribute>
151               </element>
152             </oneOrMore>
153           </element>
154         </zeroOrMore>
155       </element>
156     </optional>
157   </define>
158 </grammar>