X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=xml%2Fschema%2Fmetaproxy.rnc;h=ebb819f60527406df8e6363e60edc02fb47a8293;hb=ddc156360c0c46ef669accde05fea1106cc6b244;hp=0394549eda0586c5a992545384dfb1531e1a529b;hpb=9ac41f74e33f58fbbb507f0b3ae9ccdce306f525;p=metaproxy-moved-to-github.git diff --git a/xml/schema/metaproxy.rnc b/xml/schema/metaproxy.rnc index 0394549..ebb819f 100644 --- a/xml/schema/metaproxy.rnc +++ b/xml/schema/metaproxy.rnc @@ -1,7 +1,6 @@ # Metaproxy XML config file schemas -# $Id: metaproxy.rnc,v 1.7 2006-11-29 13:00:54 marc Exp $ # -# Copyright (c) 2005-2006, Index Data. +# Copyright (c) 2005-2008 Index Data. # # See the LICENSE file for details # @@ -19,34 +18,42 @@ # For information on RelaxNG see http://relaxng.org # see also http://books.xmlschemata.org/relaxng/ -default namespace = "http://indexdata.com/metaproxy" -start = metaproxy +namespace mp = "http://indexdata.com/metaproxy" + +start |= metaproxy + +include "retrievalinfo.rnc" + +any = (text | element * { attribute * { text }*, any })* metaproxy = - element metaproxy { - attribute version { xsd:float }, - element start { + element mp:metaproxy { + attribute version { "1.0" }, + element mp:dlpath { xsd:string }?, + element mp:start { attribute route { xsd:NCName } }, - element filters { filter+ }?, - element routes { route+ } + element mp:filters { filter+ }?, + element mp:routes { route+ } } route = - element route { + element mp:route { attribute id { xsd:NCName }, filter+ } filter = - element filter { + element mp:filter { filter_refid | filter_auth_simple | filter_backend_test | filter_bounce + | filter_cql_rpn | filter_frontend_net | filter_http_file + | filter_load_balance | filter_log | filter_multi | filter_query_rewrite @@ -55,6 +62,8 @@ filter = | filter_sru_z3950 | filter_virt_db | filter_z3950_client + | filter_limit +# | filter_zeerex_explain } filter_refid = attribute refid { xsd:NCName } @@ -63,9 +72,9 @@ filter_auth_simple = attribute type { "auth_simple" }, attribute id { xsd:NCName }?, attribute name { xsd:NCName }?, - element userRegister { xsd:string }?, - element targetRegister { xsd:string }?, - element discardUnauthorisedTargets { empty }? + element mp:userRegister { xsd:string }?, + element mp:targetRegister { xsd:string }?, + element mp:discardUnauthorisedTargets { empty }? filter_backend_test = attribute type { "backend_test" }, @@ -77,31 +86,47 @@ filter_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 threads { xsd:integer }?, - element port { xsd:string }, - element timeout { xsd:integer }? + 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 mimetypes { xsd:string }, - element area { - element documentroot { xsd:string }, - element prefix { xsd:string } + 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 message { xsd:string }?, - element filename { xsd:string }?, - element category { + 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 }?, @@ -114,17 +139,20 @@ filter_multi = attribute type { "multi" }, attribute id { xsd:NCName }?, attribute name { xsd:NCName }?, - element target { + element mp:target { attribute route { xsd:string }, xsd:string }*, - element 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 xslt { xsd:string } + element mp:xslt { + attribute stylesheet { xsd:string } + } filter_record_transform = attribute type { "record_transform" }, @@ -136,52 +164,57 @@ filter_session_shared = attribute type { "session_shared" }, attribute id { xsd:NCName }?, attribute name { xsd:NCName }?, - element resultset { + element mp:resultset { attribute max { xsd:integer }, attribute ttl { xsd:integer } - }, - element session { + }?, + 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 virtual { + element mp:virtual { attribute route { xsd:NCName }?, - element database { xsd:NCName }, - element target { xsd:string }+ + 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 timeout { xsd:integer }? - -retrievalinfo = - element retrievalinfo { - element retrieval { - attribute syntax { xsd:string }, - attribute name { xsd:string }?, - attribute identifier { xsd:string }?, - attribute backendsyntax { xsd:string }?, - attribute backendname { xsd:string }?, - element convert { - element marc { - attribute inputformat { xsd:string }, - attribute outputformat { xsd:string }, - attribute inputcharset { xsd:string } - }, - element xslt { - attribute stylesheet { xsd:string } - }? - }? - }+ - } + 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_zeerex_explain = +# attribute type { "zeerex_explain" }, +# attribute id { xsd:NCName }?, +# attribute name { xsd:NCName }?, +# element mp:database { +# attribute name { xsd:NCName }, +# any +# }+ + +