1 # Metaproxy XML config file schemas
2 # $Id: metaproxy.rnc,v 1.3 2006-10-06 22:42:24 marc Exp $
4 # Copyright (c) 2005-2006, Index Data.
6 # See the LICENSE file for details
9 # The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
11 # The RelaxNG XML Syntax and XML Schema are generated using 'trang':
12 # trang metaproxy.rnc metaproxy.rng
13 # trang metaproxy.rnc metaproxy.xsd
15 # Config file validation is done using 'xmllint':
16 # xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
17 # xmllint --schema metaproxy.xsd config-bytarget.xml
19 # For information on RelaxNG see http://relaxng.org
20 # see also http://books.xmlschemata.org/relaxng/
22 default namespace = "http://indexdata.dk/yp2/config/1"
29 attribute route { xsd:NCName }
31 element filters { filter+ }?,
37 route = element route {
38 attribute id { xsd:NCName },
52 | filter_query_rewrite
58 filter_refid = attribute refid { xsd:NCName }
61 attribute type { "auth_simple" },
62 attribute id { xsd:NCName }?,
63 attribute name { xsd:NCName }?,
64 element userRegister { xsd:string }?,
65 element targetRegister { xsd:string }?,
66 element discardUnauthorisedTargets { empty }?
69 attribute type { "backend_test" },
70 attribute id { xsd:NCName }?,
71 attribute name { xsd:NCName }?
74 attribute type { "bounce" },
75 attribute id { xsd:NCName }?,
76 attribute name { xsd:NCName }?
79 attribute type { "frontend_net" },
80 attribute id { xsd:NCName }?,
81 attribute name { xsd:NCName }?,
82 element threads { xsd:integer }?,
83 element port { xsd:string }
86 attribute type { "http_file" },
87 attribute id { xsd:NCName }?,
88 attribute name { xsd:NCName }?,
89 element mimetypes { xsd:string },
91 element documentroot { xsd:string },
92 element prefix { xsd:string }
96 attribute type { "log" },
97 attribute id { xsd:NCName }?,
98 attribute name { xsd:NCName }?,
99 element message { xsd:NCName },
100 element filename { xsd:string }?,
102 attribute request-session { xsd:boolean }?,
103 attribute response-session { xsd:boolean }?,
104 attribute request-apdu { xsd:boolean }?,
105 attribute response-apdu { xsd:boolean }?
109 attribute type { "multi" },
110 attribute id { xsd:NCName }?,
111 attribute name { xsd:NCName }?,
113 attribute route { xsd:string },
116 element hideunavailable { empty }?
118 filter_query_rewrite =
119 attribute type { "query_rewrite" },
120 attribute id { xsd:NCName }?,
121 attribute name { xsd:NCName }?,
122 element xslt { xsd:string }
125 attribute type { "virt_db" },
126 attribute id { xsd:NCName }?,
127 attribute name { xsd:NCName }?,
129 attribute route { xsd:NCName }?,
130 element database { xsd:NCName },
131 element target { xsd:string }+
134 filter_z3950_client =
135 attribute type { "z3950_client" },
136 attribute id { xsd:NCName }?,
137 attribute name { xsd:NCName }?,
138 element timeout { xsd:integer }