Modify schema for sru_z3950 (database? -> database*)
[metaproxy-moved-to-github.git] / xml / schema / metaproxy.xsd
index eeb4a5f..7fbd314 100644 (file)
@@ -79,6 +79,7 @@
         <xs:element ref="mp:conversion"/>
         <xs:group ref="mp:filter_frontend_net"/>
         <xs:group ref="mp:filter_http_file"/>
+        <xs:group ref="mp:filter_limit"/>
         <xs:group ref="mp:filter_log"/>
         <xs:group ref="mp:filter_multi"/>
         <xs:element ref="mp:xslt"/>
@@ -97,6 +98,7 @@
             <xs:enumeration value="cql_rpn"/>
             <xs:enumeration value="frontend_net"/>
             <xs:enumeration value="http_file"/>
+            <xs:enumeration value="limit"/>
             <xs:enumeration value="load_balance"/>
             <xs:enumeration value="log"/>
             <xs:enumeration value="multi"/>
       <xs:element minOccurs="0" ref="mp:threads"/>
       <xs:element maxOccurs="unbounded" ref="mp:port"/>
       <xs:element minOccurs="0" ref="mp:timeout"/>
+      <xs:element minOccurs="0" ref="mp:connect-max"/>
     </xs:sequence>
   </xs:group>
   <xs:element name="threads" type="xs:integer"/>
   <xs:element name="port" type="xs:string"/>
   <xs:element name="timeout" type="xs:integer"/>
+  <xs:element name="connect-max" type="xs:integer"/>
   <xs:attributeGroup name="filter_frontend_net">
     <xs:attribute name="type" use="required">
       <xs:simpleType>
   </xs:attributeGroup>
   <xs:group name="filter_sru_z3950">
     <xs:sequence>
-      <xs:element maxOccurs="unbounded" ref="mp:database"/>
+      <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:database"/>
     </xs:sequence>
   </xs:group>
   <xs:element name="database">
   </xs:attributeGroup>
   <xs:group name="filter_virt_db">
     <xs:sequence>
+      <xs:element minOccurs="0" ref="mp:pass-vhosts"/>
       <xs:element maxOccurs="unbounded" ref="mp:virtual"/>
     </xs:sequence>
   </xs:group>
+  <xs:element name="pass-vhosts" type="xs:boolean"/>
   <xs:element name="virtual">
     <xs:complexType>
       <xs:sequence>
     <xs:attribute name="id" type="xs:NCName"/>
     <xs:attribute name="name" type="xs:NCName"/>
   </xs:attributeGroup>
+  <xs:group name="filter_limit">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="mp:limit"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="limit">
+    <xs:complexType>
+      <xs:attribute name="bandwidth" type="xs:integer"/>
+      <xs:attribute name="pdu" type="xs:integer"/>
+      <xs:attribute name="search" type="xs:integer"/>
+      <xs:attribute name="retrieve" type="xs:integer"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="filter_limit">
+    <xs:attribute name="type" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="limit"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
 </xs:schema>
 <!--
   filter_zeerex_explain =