f447afc54a8f48fba4e4087b908b33d5da9c7285
[yazproxy-moved-to-github.git] / etc / yazproxy.xsd
1 <?xml version="1.0"?>
2 <!-- XML Schema for YAZ proxy config file.
3     $Id: yazproxy.xsd,v 1.7 2004-12-03 14:28:18 adam Exp $
4 -->
5 <xs:schema
6   xmlns:xs="http://www.w3.org/2001/XMLSchema"
7   xmlns:exp="http://explain.z3950.org/dtd/2.0/"
8   xmlns="http://indexdata.dk/yazproxy/schema/0.8/"
9   targetNamespace="http://indexdata.dk/yazproxy/schema/0.8/"
10   >
11  <xs:import namespace="http://explain.z3950.org/dtd/2.0/" 
12       schemaLocation="zeerex-2.0.xsd"/>
13  <xs:element name="proxy">
14   <xs:complexType>
15    <xs:sequence>
16     <xs:element ref="target" minOccurs="0" maxOccurs="unbounded"/>
17     <xs:element ref="max-clients" minOccurs="0"/>
18     <xs:element ref="log" minOccurs="0"/>
19    </xs:sequence>
20   </xs:complexType>
21  </xs:element>
22
23  <xs:element name="target">
24   <xs:complexType>
25    <xs:sequence>
26      <xs:element ref="url" minOccurs="0" maxOccurs="unbounded"/>
27      <xs:element ref="target-timeout" minOccurs="0"/>
28      <xs:element ref="client-timeout" minOccurs="0"/>
29      <xs:element ref="keepalive" minOccurs="0"/>
30      <xs:element ref="limit" minOccurs="0"/>
31      <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
32      <xs:element ref="syntax" minOccurs="0" maxOccurs="unbounded"/>
33      <xs:element ref="preinit" minOccurs="0"/>
34      <xs:element ref="exp:explain" minOccurs="0"/>
35      <xs:element ref="cql2rpn" minOccurs="0"/>
36      <xs:element ref="authentication" minOccurs="0"/>
37    </xs:sequence>
38    <xs:attribute name="default" type="xs:string" use="optional"/>
39    <xs:attribute name="name" type="xs:string"/>
40    <xs:attribute name="database" type="xs:string"/>
41   </xs:complexType>
42  </xs:element>
43
44  <xs:element name="url" type="xs:string"/>
45  <xs:element name="target-timeout" type="xs:integer"/>
46  <xs:element name="client-timeout" type="xs:integer"/>
47  <xs:element name="bandwidth" type="xs:integer"/>
48  <xs:element name="pdu" type="xs:integer"/>
49  <xs:element name="retrieve" type="xs:integer"/>
50  <xs:element name="preinit" type="xs:integer"/>
51  <xs:element name="cql2rpn" type="xs:string"/>
52  <xs:element name="authentication" type="xs:string"/>
53
54  <xs:element name="keepalive">
55   <xs:complexType>
56    <xs:sequence>
57     <xs:element ref="bandwidth" minOccurs="0"/>
58     <xs:element ref="pdu" minOccurs="0"/>
59    </xs:sequence>
60   </xs:complexType>
61  </xs:element>
62  <xs:element name="limit">
63   <xs:complexType>
64    <xs:sequence>
65     <xs:element ref="bandwidth" minOccurs="0"/>
66     <xs:element ref="pdu" minOccurs="0"/>
67     <xs:element ref="retrieve" minOccurs="0"/>
68    </xs:sequence>
69   </xs:complexType>
70  </xs:element>
71  
72  <xs:element name="attribute">
73   <xs:complexType>
74    <xs:attribute name="type" type="xs:string"/>
75    <xs:attribute name="value" type="xs:string"/>
76    <xs:attribute name="error" type="xs:integer"/>
77   </xs:complexType>
78  </xs:element>
79
80  <xs:element name="syntax">
81   <xs:complexType>
82    <xs:sequence>
83     <xs:element ref="title" minOccurs="0"/>
84     <xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
85    </xs:sequence>
86    <xs:attribute name="error" type="xs:string" />
87    <xs:attribute name="type" type="xs:string" />
88    <xs:attribute name="marcxml" type="xs:string" />
89    <xs:attribute name="identifier" type="xs:string" />
90    <xs:attribute name="stylesheet" type="xs:string" />
91    <xs:attribute name="backendtype" type="xs:string" />
92    <xs:attribute name="backendcharset" type="xs:string" />
93    <xs:attribute name="usemarconstage1" type="xs:string" />
94    <xs:attribute name="usemarconstage2" type="xs:string" />
95   </xs:complexType>
96  </xs:element>
97
98  <xs:element name="title" type="xs:string"/>
99  <xs:element name="name" type="xs:string"/>
100
101  <xs:element name="max-clients" type="xs:integer"/>
102  <xs:element name="log" type="xs:string"/>
103
104 </xs:schema>