Bump year
[metaproxy-moved-to-github.git] / xml / schema / metaproxy.rnc
index 2190801..286cd8b 100644 (file)
@@ -1,7 +1,6 @@
 # Metaproxy XML config file schemas
-#  $Id: metaproxy.rnc,v 1.16 2007-01-16 09:23:24 marc Exp $
 # 
-#   Copyright (c) 2005-2006, Index Data.
+#   Copyright (C) 2005-2013 Index Data.
 # 
 #   See the LICENSE file for details
 # 
 # For information on RelaxNG see http://relaxng.org 
 # see also http://books.xmlschemata.org/relaxng/
 
-
 namespace mp = "http://indexdata.com/metaproxy"
 
 start |= metaproxy
 
-include "retrievalinfo.rnc"
+include "filter_auth_simple.rnc"
+include "filter_backend_test.rnc"
+include "filter_bounce.rnc"
+include "filter_cgi.rnc"
+include "filter_cql_rpn.rnc"
+include "filter_frontend_net.rnc"
+include "filter_http_file.rnc"
+include "filter_limit.rnc"
+include "filter_load_balance.rnc"
+include "filter_log.rnc"
+include "filter_multi.rnc"
+include "filter_query_rewrite.rnc"
+include "filter_record_transform.rnc"
+include "filter_session_shared.rnc"
+include "filter_sort.rnc"
+include "filter_sru_z3950.rnc"
+include "filter_virt_db.rnc"
+include "filter_z3950_client.rnc"
+include "filter_zoom.rnc"
 
 any = (text | element * { attribute * { text }*, any })*
 
 metaproxy =
   element mp:metaproxy {
     attribute version { "1.0" },
+    element mp:dlpath { xsd:string }?,
     element mp:start {
             attribute route { xsd:NCName }
     },
@@ -41,7 +58,13 @@ metaproxy =
 route =
   element mp:route {
     attribute id { xsd:NCName },
-    filter+
+    filters+
+  }
+
+filters =
+  filter |
+  element mp:filters {
+    filters+
   }
 
 filter =
@@ -50,155 +73,23 @@ 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
     | filter_query_rewrite
     | filter_record_transform
     | filter_session_shared
+    | filter_sort
     | filter_sru_z3950
     | filter_virt_db
     | filter_z3950_client
-#    | filter_zeerex_explain
+    | filter_zoom
   }
 
 filter_refid = attribute refid { xsd:NCName }
 
-filter_auth_simple =
-  attribute type { "auth_simple" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:userRegister { xsd:string }?,
-  element mp:targetRegister { xsd:string }?,
-  element mp:discardUnauthorisedTargets { empty }?
-
-filter_backend_test =
-  attribute type { "backend_test" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?
-
-filter_bounce =
-  attribute type { "bounce" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?
-
-filter_cql_rpn =
-  attribute type { "cql_rpn" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:conversion {
-    attribute  file { xsd:string }
-  }
-
-filter_frontend_net =
-  attribute type { "frontend_net" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:threads { xsd:integer }?,
-  element mp:port { xsd:string },
-  element mp:timeout { xsd:integer }?
-
-filter_http_file =
-  attribute type { "http_file" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:mimetypes { xsd:string },
-  element mp:area {
-    element mp:documentroot { xsd:string },
-    element mp:prefix { xsd:string }
-  }
-
-filter_load_balance =
-  attribute type { "load_balance" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?
-
-filter_log =
-  attribute type { "log" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:message { xsd:string }?,
-  element mp:filename { xsd:string }?,
-  element mp:category {
-    attribute init-options { xsd:boolean }?,
-    attribute request-session { xsd:boolean }?,
-    attribute response-session { xsd:boolean }?,
-    attribute apdu { xsd:boolean }?,
-    attribute request-apdu { xsd:boolean }?,
-    attribute response-apdu { xsd:boolean }?
-  }?
-
-filter_multi =
-  attribute type { "multi" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:target {
-    attribute route { xsd:string },
-    xsd:string
-  }*,
-  element mp:hideunavailable { empty }?
-
-filter_query_rewrite =
-  attribute type { "query_rewrite" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:xslt { 
-        attribute stylesheet { xsd:string }
-  }
-
-filter_record_transform =
-  attribute type { "record_transform" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  retrievalinfo 
-
-filter_session_shared =
-  attribute type { "session_shared" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:resultset {
-    attribute max { xsd:integer },
-    attribute ttl { xsd:integer }
-  },
-  element mp:session {
-    attribute ttl { xsd:integer }
-  }
-
-filter_sru_z3950 =
-  attribute type { "sru_z3950" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  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:virtual {
-    attribute route { xsd:NCName }?,
-    element mp:database { xsd:NCName },
-    element mp:target { xsd:string }+
-  }+
-
-filter_z3950_client =
-  attribute type { "z3950_client" },
-  attribute id { xsd:NCName }?,
-  attribute name { xsd:NCName }?,
-  element mp:timeout { xsd:integer }?
-
-#filter_zeerex_explain =
-#  attribute type { "zeerex_explain" },
-#  attribute id { xsd:NCName }?,
-#  attribute name { xsd:NCName }?,
-#  element mp:database {  
-#     attribute name { xsd:NCName },
-#     any        
-#  }+
-
\ No newline at end of file