Add support for thread config element which specifies number of
[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.10 2006-03-30 10:35:14 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.9/"
9   targetNamespace="http://indexdata.dk/yazproxy/schema/0.9/"
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="max-connect" minOccurs="0"/>
19     <xs:element ref="log" minOccurs="0"/>
20     <xs:element ref="module" minOccurs="0"/>
21    </xs:sequence>
22   </xs:complexType>
23  </xs:element>
24
25  <xs:element name="target">
26   <xs:complexType>
27    <xs:sequence>
28      <xs:element ref="url" minOccurs="0" maxOccurs="unbounded"/>
29      <xs:element ref="target-timeout" minOccurs="0"/>
30      <xs:element ref="client-timeout" minOccurs="0"/>
31      <xs:element ref="keepalive" minOccurs="0"/>
32      <xs:element ref="limit" minOccurs="0"/>
33      <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
34      <xs:element ref="syntax" minOccurs="0" maxOccurs="unbounded"/>
35      <xs:element ref="preinit" minOccurs="0"/>
36      <xs:element ref="exp:explain" minOccurs="0"/>
37      <xs:element ref="cql2rpn" minOccurs="0"/>
38      <xs:element ref="target-charset" minOccurs="0"/>
39      <xs:element ref="target-authentication" minOccurs="0"/>
40      <xs:element ref="client-authentication" minOccurs="0"/>
41      <xs:element ref="negotiation-charset" minOccurs="0"/>
42      <xs:element ref="negotiation-lang" minOccurs="0"/>
43    </xs:sequence>
44    <xs:attribute name="default" type="xs:string" use="optional"/>
45    <xs:attribute name="name" type="xs:string"/>
46    <xs:attribute name="database" type="xs:string"/>
47   </xs:complexType>
48  </xs:element>
49
50  <xs:element name="url" type="xs:string"/>
51  <xs:element name="target-timeout" type="xs:integer"/>
52  <xs:element name="client-timeout" type="xs:integer"/>
53  <xs:element name="bandwidth" type="xs:integer"/>
54  <xs:element name="pdu" type="xs:integer"/>
55  <xs:element name="retrieve" type="xs:integer"/>
56  <xs:element name="preinit" type="xs:integer"/>
57  <xs:element name="target-charset" type="xs:string"/>
58  <xs:element name="cql2rpn" type="xs:string"/>
59  <xs:element name="target-authentication">
60    <xs:complexType>
61     <xs:simpleContent>
62       <xs:extension base="xs:string">
63         <xs:attribute name="type" type="xs:string"/>
64       </xs:extension>
65     </xs:simpleContent>
66    </xs:complexType>
67  </xs:element>
68
69  <xs:element name="client-authentication">
70    <xs:complexType>
71     <xs:simpleContent>
72       <xs:extension base="xs:string">
73         <xs:attribute name="module" type="xs:string"/>
74         <xs:attribute name="args" type="xs:string"/>
75       </xs:extension>
76     </xs:simpleContent>
77    </xs:complexType>
78  </xs:element>
79
80  <xs:element name="negotiation-charset" type="xs:string"/>
81  <xs:element name="negotiation-lang" type="xs:string"/>
82
83  <xs:element name="keepalive">
84   <xs:complexType>
85    <xs:sequence>
86     <xs:element ref="bandwidth" minOccurs="0"/>
87     <xs:element ref="pdu" minOccurs="0"/>
88    </xs:sequence>
89   </xs:complexType>
90  </xs:element>
91  <xs:element name="limit">
92   <xs:complexType>
93    <xs:sequence>
94     <xs:element ref="bandwidth" minOccurs="0"/>
95     <xs:element ref="pdu" minOccurs="0"/>
96     <xs:element ref="retrieve" minOccurs="0"/>
97    </xs:sequence>
98   </xs:complexType>
99  </xs:element>
100  
101  <xs:element name="attribute">
102   <xs:complexType>
103    <xs:attribute name="type" type="xs:string"/>
104    <xs:attribute name="value" type="xs:string"/>
105    <xs:attribute name="error" type="xs:integer"/>
106   </xs:complexType>
107  </xs:element>
108
109  <xs:element name="syntax">
110   <xs:complexType>
111    <xs:sequence>
112     <xs:element ref="title" minOccurs="0"/>
113     <xs:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
114    </xs:sequence>
115    <xs:attribute name="error" type="xs:string" />
116    <xs:attribute name="type" type="xs:string" />
117    <xs:attribute name="marcxml" type="xs:string" />
118    <xs:attribute name="identifier" type="xs:string" />
119    <xs:attribute name="stylesheet" type="xs:string" />
120    <xs:attribute name="backendtype" type="xs:string" />
121    <xs:attribute name="backendcharset" type="xs:string" />
122    <xs:attribute name="usemarconstage1" type="xs:string" />
123    <xs:attribute name="usemarconstage2" type="xs:string" />
124   </xs:complexType>
125  </xs:element>
126
127  <xs:element name="title" type="xs:string"/>
128  <xs:element name="name" type="xs:string"/>
129
130  <xs:element name="max-clients" type="xs:integer"/>
131  <xs:element name="log" type="xs:string"/>
132  <xs:element name="module" type="xs:string"/>
133
134 </xs:schema>