Updated copyright headers. Omit CVS ID.
[metaproxy-moved-to-github.git] / xml / schema / retrievalinfo.rnc
1 # Metaproxy XML config file schemas
2 #  $Id: retrievalinfo.rnc,v 1.6 2007-01-26 14:46:31 adam Exp $
3
4 #   Copyright (c) 2005-2007, Index Data.
5
6 #   See the LICENSE file for details
7
8
9 # The RelaxNG Compact Syntax file 'retrievalinfo.rnc' is the master copy.
10
11 # The RelaxNG XML Syntax and XML Schema are generated using 'trang':
12 # trang retrievalinfo.rnc retrievalinfo.rng 
13 # trang retrievalinfo.rnc retrievalinfo.xsd 
14
15 # Config file validation is done using 'xmllint':
16 # xmllint -/-relaxng retrievalinfo.rng retrievalinfo.xml 
17 # xmllint -/-schema retrievalinfo.xsd retirevalinfo.xml
18
19 # For information on RelaxNG see http://relaxng.org 
20 # see also http://books.xmlschemata.org/relaxng/
21
22 namespace y = "http://indexdata.com/yaz"
23
24 # need to be in different namespace then metaproxy, otherwise 
25 # xslt element definition clashes in XML Schema files
26 # namespace y = "http://indexdata.com/metaproxy"
27
28 start |= retrievalinfo
29
30 marc = element y:marc {
31   attribute inputformat { xsd:string },
32   attribute outputformat { xsd:string },
33   attribute inputcharset { xsd:string }
34 }
35
36 xslt = element y:xslt {
37   attribute stylesheet { xsd:string }
38 }
39
40 retrievalinfo = 
41   element y:retrievalinfo { 
42     attribute version { "1.0" },
43     element y:retrieval {
44       attribute syntax { xsd:string },
45       attribute name { xsd:string }?,
46       attribute identifier { xsd:string }?,
47       #attribute backendsyntax { xsd:string }?,
48       #attribute backendname { xsd:string }?,
49       element y:backend {
50       attribute syntax { xsd:string },
51       attribute name { xsd:string }?,
52       (marc | xslt)*
53       }?
54     }+
55   }