1 # Metaproxy XML config file schemas
2 # $Id: metaproxy.rnc,v 1.7 2006-11-29 13:00:54 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.com/metaproxy"
28 attribute version { xsd:float },
30 attribute route { xsd:NCName }
32 element filters { filter+ }?,
33 element routes { route+ }
38 attribute id { xsd:NCName },
52 | filter_query_rewrite
53 | filter_record_transform
54 | filter_session_shared
60 filter_refid = attribute refid { xsd:NCName }
63 attribute type { "auth_simple" },
64 attribute id { xsd:NCName }?,
65 attribute name { xsd:NCName }?,
66 element userRegister { xsd:string }?,
67 element targetRegister { xsd:string }?,
68 element discardUnauthorisedTargets { empty }?
71 attribute type { "backend_test" },
72 attribute id { xsd:NCName }?,
73 attribute name { xsd:NCName }?
76 attribute type { "bounce" },
77 attribute id { xsd:NCName }?,
78 attribute name { xsd:NCName }?
81 attribute type { "frontend_net" },
82 attribute id { xsd:NCName }?,
83 attribute name { xsd:NCName }?,
84 element threads { xsd:integer }?,
85 element port { xsd:string },
86 element timeout { xsd:integer }?
89 attribute type { "http_file" },
90 attribute id { xsd:NCName }?,
91 attribute name { xsd:NCName }?,
92 element mimetypes { xsd:string },
94 element documentroot { xsd:string },
95 element prefix { xsd:string }
99 attribute type { "log" },
100 attribute id { xsd:NCName }?,
101 attribute name { xsd:NCName }?,
102 element message { xsd:string }?,
103 element filename { xsd:string }?,
105 attribute init-options { xsd:boolean }?,
106 attribute request-session { xsd:boolean }?,
107 attribute response-session { xsd:boolean }?,
108 attribute apdu { xsd:boolean }?,
109 attribute request-apdu { xsd:boolean }?,
110 attribute response-apdu { xsd:boolean }?
114 attribute type { "multi" },
115 attribute id { xsd:NCName }?,
116 attribute name { xsd:NCName }?,
118 attribute route { xsd:string },
121 element hideunavailable { empty }?
123 filter_query_rewrite =
124 attribute type { "query_rewrite" },
125 attribute id { xsd:NCName }?,
126 attribute name { xsd:NCName }?,
127 element xslt { xsd:string }
129 filter_record_transform =
130 attribute type { "record_transform" },
131 attribute id { xsd:NCName }?,
132 attribute name { xsd:NCName }?,
135 filter_session_shared =
136 attribute type { "session_shared" },
137 attribute id { xsd:NCName }?,
138 attribute name { xsd:NCName }?,
140 attribute max { xsd:integer },
141 attribute ttl { xsd:integer }
144 attribute ttl { xsd:integer }
148 attribute type { "sru_z3950" },
149 attribute id { xsd:NCName }?,
150 attribute name { xsd:NCName }?
153 attribute type { "virt_db" },
154 attribute id { xsd:NCName }?,
155 attribute name { xsd:NCName }?,
157 attribute route { xsd:NCName }?,
158 element database { xsd:NCName },
159 element target { xsd:string }+
162 filter_z3950_client =
163 attribute type { "z3950_client" },
164 attribute id { xsd:NCName }?,
165 attribute name { xsd:NCName }?,
166 element timeout { xsd:integer }?
169 element retrievalinfo {
171 attribute syntax { xsd:string },
172 attribute name { xsd:string }?,
173 attribute identifier { xsd:string }?,
174 attribute backendsyntax { xsd:string }?,
175 attribute backendname { xsd:string }?,
178 attribute inputformat { xsd:string },
179 attribute outputformat { xsd:string },
180 attribute inputcharset { xsd:string }
183 attribute stylesheet { xsd:string }