Start work on Torus extension for virt_db
[metaproxy-moved-to-github.git] / xml / schema / metaproxy.rnc
index ebb819f..12a44b3 100644 (file)
@@ -50,9 +50,11 @@ filter =
     | filter_auth_simple
     | filter_backend_test
     | filter_bounce
+    | filter_cgi
     | filter_cql_rpn
     | filter_frontend_net
     | filter_http_file
+    | filter_limit
     | filter_load_balance
     | filter_log
     | filter_multi
@@ -62,7 +64,6 @@ filter =
     | filter_sru_z3950
     | filter_virt_db
     | filter_z3950_client
-    | filter_limit
 #    | filter_zeerex_explain
   }
 
@@ -100,7 +101,8 @@ filter_frontend_net =
   attribute name { xsd:NCName }?,
   element mp:threads { xsd:integer }?,
   element mp:port { xsd:string }+,
-  element mp:timeout { xsd:integer }?
+  element mp:timeout { xsd:integer }?,
+  element mp:connect-max { xsd:integer }?
 
 filter_http_file =
   attribute type { "http_file" },
@@ -130,6 +132,7 @@ filter_log =
     attribute init-options { xsd:boolean }?,
     attribute request-session { xsd:boolean }?,
     attribute response-session { xsd:boolean }?,
+    attribute session { xsd:boolean }?,
     attribute apdu { xsd:boolean }?,
     attribute request-apdu { xsd:boolean }?,
     attribute response-apdu { xsd:boolean }?
@@ -166,7 +169,8 @@ filter_session_shared =
   attribute name { xsd:NCName }?,
   element mp:resultset {
     attribute max { xsd:integer },
-    attribute ttl { xsd:integer }
+    attribute ttl { xsd:integer },
+    attribute optimizesearch { xsd:boolean }
   }?,
   element mp:session {
     attribute ttl { xsd:integer }
@@ -179,17 +183,21 @@ filter_sru_z3950 =
   element mp:database {  
      attribute name { xsd:NCName },
      any        
-  }+
+  }*
 
 filter_virt_db =
   attribute type { "virt_db" },
   attribute id { xsd:NCName }?,
   attribute name { xsd:NCName }?,
+  element mp:pass-vhosts { xsd:boolean }?,
+  element mp:torus {
+    attribute url { xsd:string }
+  }?,
   element mp:virtual {
     attribute route { xsd:NCName }?,
-    element mp:database { xsd:NCName },
+    element mp:database { xsd:string },
     element mp:target { xsd:string }+
-  }+
+  }*
 
 filter_z3950_client =
   attribute type { "z3950_client" },
@@ -197,7 +205,8 @@ filter_z3950_client =
   attribute name { xsd:NCName }?,
   element mp:timeout { xsd:integer }?,
   element mp:default_target { xsd:string }?,
-  element mp:force_target { xsd:string }?
+  element mp:force_target { xsd:string }?,
+  element mp:force_close { xsd:boolean }?
 
 filter_limit =
   attribute type { "limit" },
@@ -208,6 +217,13 @@ filter_limit =
     attribute retrieve { xsd:integer }?
   }?
 
+filter_cgi =
+  attribute type { "cgi" },
+  element mp:map {
+    attribute path { xsd:string },
+    attribute exec { xsd:string }
+  }*
+
 #filter_zeerex_explain =
 #  attribute type { "zeerex_explain" },
 #  attribute id { xsd:NCName }?,