z3950_client filter: force_apdu facility
[metaproxy-moved-to-github.git] / xml / schema / metaproxy.xsd
index 7fbd314..00dc21b 100644 (file)
@@ -76,6 +76,7 @@
     <xs:complexType>
       <xs:choice minOccurs="0">
         <xs:group ref="mp:filter_auth_simple"/>
+        <xs:group ref="mp:filter_cgi"/>
         <xs:element ref="mp:conversion"/>
         <xs:group ref="mp:filter_frontend_net"/>
         <xs:group ref="mp:filter_http_file"/>
@@ -95,6 +96,7 @@
             <xs:enumeration value="auth_simple"/>
             <xs:enumeration value="backend_test"/>
             <xs:enumeration value="bounce"/>
+            <xs:enumeration value="cgi"/>
             <xs:enumeration value="cql_rpn"/>
             <xs:enumeration value="frontend_net"/>
             <xs:enumeration value="http_file"/>
       <xs:attribute name="init-options" type="xs:boolean"/>
       <xs:attribute name="request-session" type="xs:boolean"/>
       <xs:attribute name="response-session" type="xs:boolean"/>
+      <xs:attribute name="session" type="xs:boolean"/>
       <xs:attribute name="apdu" type="xs:boolean"/>
       <xs:attribute name="request-apdu" type="xs:boolean"/>
       <xs:attribute name="response-apdu" type="xs:boolean"/>
     <xs:complexType>
       <xs:attribute name="max" use="required" type="xs:integer"/>
       <xs:attribute name="ttl" use="required" type="xs:integer"/>
+      <xs:attribute name="optimizesearch" use="required" type="xs:boolean"/>
     </xs:complexType>
   </xs:element>
   <xs:element name="session">
   <xs:element name="virtual">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="database" type="xs:NCName"/>
+        <xs:element name="database" type="xs:string"/>
         <xs:element maxOccurs="unbounded" name="target" type="xs:string"/>
       </xs:sequence>
       <xs:attribute name="route" type="xs:NCName"/>
       <xs:element minOccurs="0" ref="mp:timeout"/>
       <xs:element minOccurs="0" ref="mp:default_target"/>
       <xs:element minOccurs="0" ref="mp:force_target"/>
+      <xs:element minOccurs="0" ref="mp:force_close"/>
     </xs:sequence>
   </xs:group>
   <xs:element name="default_target" type="xs:string"/>
   <xs:element name="force_target" type="xs:string"/>
+  <xs:element name="force_close" type="xs:boolean"/>
   <xs:attributeGroup name="filter_z3950_client">
     <xs:attribute name="type" use="required">
       <xs:simpleType>
       </xs:simpleType>
     </xs:attribute>
   </xs:attributeGroup>
+  <xs:group name="filter_cgi">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:map"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="map">
+    <xs:complexType>
+      <xs:attribute name="path" use="required" type="xs:string"/>
+      <xs:attribute name="exec" use="required" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="filter_cgi">
+    <xs:attribute name="type" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="cgi"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
 </xs:schema>
 <!--
   filter_zeerex_explain =