1 # Metaproxy XML config file schemas
2 # $Id: metaproxy.rnc,v 1.6 2006-11-17 14:03:47 adam 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+ }?,
32 element routes { route+ }
37 attribute id { xsd:NCName },
51 | filter_query_rewrite
52 | filter_record_transform
53 | filter_session_shared
59 filter_refid = attribute refid { xsd:NCName }
62 attribute type { "auth_simple" },
63 attribute id { xsd:NCName }?,
64 attribute name { xsd:NCName }?,
65 element userRegister { xsd:string }?,
66 element targetRegister { xsd:string }?,
67 element discardUnauthorisedTargets { empty }?
70 attribute type { "backend_test" },
71 attribute id { xsd:NCName }?,
72 attribute name { xsd:NCName }?
75 attribute type { "bounce" },
76 attribute id { xsd:NCName }?,
77 attribute name { xsd:NCName }?
80 attribute type { "frontend_net" },
81 attribute id { xsd:NCName }?,
82 attribute name { xsd:NCName }?,
83 element threads { xsd:integer }?,
84 element port { xsd:string },
85 element timeout { xsd:integer }?
88 attribute type { "http_file" },
89 attribute id { xsd:NCName }?,
90 attribute name { xsd:NCName }?,
91 element mimetypes { xsd:string },
93 element documentroot { xsd:string },
94 element prefix { xsd:string }
98 attribute type { "log" },
99 attribute id { xsd:NCName }?,
100 attribute name { xsd:NCName }?,
101 element message { xsd:string }?,
102 element filename { xsd:string }?,
104 attribute init-options { xsd:boolean }?,
105 attribute request-session { xsd:boolean }?,
106 attribute response-session { xsd:boolean }?,
107 attribute apdu { xsd:boolean }?,
108 attribute request-apdu { xsd:boolean }?,
109 attribute response-apdu { xsd:boolean }?
113 attribute type { "multi" },
114 attribute id { xsd:NCName }?,
115 attribute name { xsd:NCName }?,
117 attribute route { xsd:string },
120 element hideunavailable { empty }?
122 filter_query_rewrite =
123 attribute type { "query_rewrite" },
124 attribute id { xsd:NCName }?,
125 attribute name { xsd:NCName }?,
126 element xslt { xsd:string }
128 filter_record_transform =
129 attribute type { "record_transform" },
130 attribute id { xsd:NCName }?,
131 attribute name { xsd:NCName }?,
134 filter_session_shared =
135 attribute type { "session_shared" },
136 attribute id { xsd:NCName }?,
137 attribute name { xsd:NCName }?,
139 attribute max { xsd:integer },
140 attribute ttl { xsd:integer }
143 attribute ttl { xsd:integer }
147 attribute type { "sru_z3950" },
148 attribute id { xsd:NCName }?,
149 attribute name { xsd:NCName }?
152 attribute type { "virt_db" },
153 attribute id { xsd:NCName }?,
154 attribute name { xsd:NCName }?,
156 attribute route { xsd:NCName }?,
157 element database { xsd:NCName },
158 element target { xsd:string }+
161 filter_z3950_client =
162 attribute type { "z3950_client" },
163 attribute id { xsd:NCName }?,
164 attribute name { xsd:NCName }?,
165 element timeout { xsd:integer }?
168 element retrievalinfo {
170 attribute syntax { xsd:string },
171 attribute name { xsd:string }?,
172 attribute identifier { xsd:string }?,
173 attribute backendsyntax { xsd:string }?,
174 attribute backendname { xsd:string }?,
177 attribute inputformat { xsd:string },
178 attribute outputformat { xsd:string },
179 attribute inputcharset { xsd:string }
182 attribute stylesheet { xsd:string }