# Metaproxy XML config file schemas
-# $Id: metaproxy.rnc,v 1.9 2006-11-29 21:45:04 marc Exp $
#
-# Copyright (c) 2005-2006, Index Data.
+# Copyright (c) 2005-2008 Index Data.
#
# See the LICENSE file for details
#
namespace mp = "http://indexdata.com/metaproxy"
+start |= metaproxy
+
include "retrievalinfo.rnc"
-start = metaproxy
+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 }
},
| 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_sru_z3950
| filter_virt_db
| filter_z3950_client
+# | filter_zeerex_explain
}
filter_refid = attribute refid { xsd:NCName }
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 }?
+ element mp:port { xsd:string }+,
+ element mp:timeout { xsd:integer }?,
+ element mp:connect-max { xsd:integer }?
filter_http_file =
attribute type { "http_file" },
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:time-format { xsd:string }?,
element mp:filename { xsd:string }?,
element mp:category {
+ attribute user-access { xsd:boolean }?,
+ attribute access { xsd:boolean }?,
attribute init-options { xsd:boolean }?,
attribute request-session { xsd:boolean }?,
attribute response-session { xsd:boolean }?,
attribute route { xsd:string },
xsd:string
}*,
- element mp:hideunavailable { empty }?
+ element mp:hideunavailable { empty }?,
+ element mp:mergetype { xsd:string }?
filter_query_rewrite =
attribute type { "query_rewrite" },
attribute id { xsd:NCName }?,
attribute name { xsd:NCName }?,
- element mp:xslt { xsd:string }
+ element mp:xslt {
+ attribute stylesheet { xsd:string }
+ }
filter_record_transform =
attribute type { "record_transform" },
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 }?
+ 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:pass-vhosts { xsd:boolean }?,
element mp:virtual {
attribute route { xsd:NCName }?,
- element mp:database { xsd:NCName },
+ element mp:database { xsd:string },
element mp:target { xsd:string }+
}+
attribute type { "z3950_client" },
attribute id { xsd:NCName }?,
attribute name { xsd:NCName }?,
- element mp:timeout { xsd:integer }?
+ element mp:timeout { xsd:integer }?,
+ element mp:default_target { xsd:string }?,
+ element mp:force_target { xsd:string }?
+
+filter_limit =
+ attribute type { "limit" },
+ element mp:limit {
+ attribute bandwidth { xsd:integer }?,
+ attribute pdu { xsd:integer }?,
+ attribute search { xsd:integer }?,
+ 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 }?,
+# attribute name { xsd:NCName }?,
+# element mp:database {
+# attribute name { xsd:NCName },
+# any
+# }+
+
+