1 # Metaproxy XML config file schemas
3 # Copyright (C) 2005-2012 Index Data.
5 # See the LICENSE file for details
8 # The RelaxNG Compact Syntax file 'retrievalinfo.rnc' is the master copy.
10 # The RelaxNG XML Syntax and XML Schema are generated using 'trang':
11 # trang retrievalinfo.rnc retrievalinfo.rng
12 # trang retrievalinfo.rnc retrievalinfo.xsd
14 # Config file validation is done using 'xmllint':
15 # xmllint -/-relaxng retrievalinfo.rng retrievalinfo.xml
16 # xmllint -/-schema retrievalinfo.xsd retirevalinfo.xml
18 # For information on RelaxNG see http://relaxng.org
19 # see also http://books.xmlschemata.org/relaxng/
21 namespace y = "http://indexdata.com/yaz"
23 # need to be in different namespace then metaproxy, otherwise
24 # xslt element definition clashes in XML Schema files
25 # namespace y = "http://indexdata.com/metaproxy"
27 start |= retrievalinfo
29 marc = element y:marc {
30 attribute inputformat { xsd:string },
31 attribute outputformat { xsd:string },
32 attribute inputcharset { xsd:string },
33 attribute outputcharset { xsd:string }?,
34 attribute leaderspec { xsd:string }?
37 xslt = element y:xslt {
38 attribute stylesheet { xsd:string },
40 attribute name {xsd:string},
41 attribute value {xsd:string}
45 usemarcon = element y:usemarcon {
46 attribute stage1 { xsd:string }?,
47 attribute stage2 { xsd:string }?
51 element y:retrievalinfo {
52 attribute version { "1.0" },
54 attribute syntax { xsd:string },
55 attribute name { xsd:string }?,
56 attribute identifier { xsd:string }?,
57 #attribute backendsyntax { xsd:string }?,
58 #attribute backendname { xsd:string }?,
60 attribute syntax { xsd:string },
61 attribute name { xsd:string }?,
62 (marc | xslt | usemarcon)*