X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=xml%2Fschema%2Fmetaproxy.rnc;h=02c1bf02d4d2fb82f410a34f85a90419c701a723;hb=92ec44dd3ce8bc1a655e0985b30d5d20d144c22a;hp=8e92daa1bcdbec9bd96256bc41b79db6003ff6a0;hpb=9c37ed608370ee5d47d5290593bd5a5eeba13594;p=metaproxy-moved-to-github.git diff --git a/xml/schema/metaproxy.rnc b/xml/schema/metaproxy.rnc index 8e92daa..02c1bf0 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.5 2006-10-10 15:10:18 marc Exp $ # -# Copyright (c) 2005-2006, Index Data. +# Copyright (C) Index Data. # # See the LICENSE file for details # @@ -19,167 +18,88 @@ # For information on RelaxNG see http://relaxng.org # see also http://books.xmlschemata.org/relaxng/ -default namespace = "http://indexdata.dk/yp2/config/1" - -start = metaproxy +namespace mp = "http://indexdata.com/metaproxy" + +start |= metaproxy + +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_client.rnc" +include "filter_http_file.rnc" +include "filter_http_rewrite.rnc" +include "filter_http_rewrite1.rnc" +include "filter_limit.rnc" +include "filter_load_balance.rnc" +include "filter_log.rnc" +include "filter_multi.rnc" +include "filter_present_chunk.rnc" +include "filter_query_rewrite.rnc" +include "filter_record_transform.rnc" +include "filter_sd_remove.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 yp2 { - element start { - attribute route { xsd:NCName } + 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+ + filters+ + } + +filters = + filter | + element mp:filters { + filters+ } filter = - element filter { + element mp:filter { filter_refid | filter_auth_simple | filter_backend_test | filter_bounce + | filter_cgi + | filter_cql_rpn | filter_frontend_net + | filter_http_client | filter_http_file + | filter_http_rewrite + | filter_http_rewrite1 + | filter_limit + | filter_load_balance | filter_log | filter_multi + | filter_present_chunk | filter_query_rewrite | filter_record_transform + | filter_sd_remove | filter_session_shared + | filter_sort | filter_sru_z3950 | filter_virt_db | filter_z3950_client + | filter_zoom } filter_refid = attribute refid { xsd:NCName } -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 }? - -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_frontend_net = - attribute type { "frontend_net" }, - attribute id { xsd:NCName }?, - attribute name { xsd:NCName }?, - element threads { xsd:integer }?, - element port { xsd:string } - -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 } - } - -filter_log = - attribute type { "log" }, - attribute id { xsd:NCName }?, - attribute name { xsd:NCName }?, - element message { xsd:string }?, - element filename { xsd:string }?, - element 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 target { - attribute route { xsd:string }, - xsd:string - }*, - element hideunavailable { empty }? - -filter_query_rewrite = - attribute type { "query_rewrite" }, - attribute id { xsd:NCName }?, - attribute name { xsd:NCName }?, - element xslt { 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 resultset { - attribute max { xsd:integer }, - attribute ttl { xsd:integer } - }, - element session { - attribute ttl { xsd:integer } - } - -filter_sru_z3950 = - attribute type { "sru_z3950" }, - attribute id { xsd:NCName }?, - attribute name { xsd:NCName }? - -filter_virt_db = - attribute type { "virt_db" }, - attribute id { xsd:NCName }?, - attribute name { xsd:NCName }?, - element virtual { - attribute route { xsd:NCName }?, - element database { xsd:NCName }, - element 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 } - }? - }? - }+ - }