1 <?xml version="1.0" encoding="UTF-8"?>
3 Metaproxy XML config file schemas
5 Copyright (C) 2005-2011 Index Data.
7 See the LICENSE file for details
10 The RelaxNG Compact Syntax file 'retrievalinfo.rnc' is the master copy.
12 The RelaxNG XML Syntax and XML Schema are generated using 'trang':
13 trang retrievalinfo.rnc retrievalinfo.rng
14 trang retrievalinfo.rnc retrievalinfo.xsd
16 Config file validation is done using 'xmllint':
17 xmllint -/-relaxng retrievalinfo.rng retrievalinfo.xml
18 xmllint -/-schema retrievalinfo.xsd retirevalinfo.xml
20 For information on RelaxNG see http://relaxng.org
21 see also http://books.xmlschemata.org/relaxng/
23 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/yaz" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
24 <xs:import schemaLocation="local.xsd"/>
25 <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
27 need to be in different namespace then metaproxy, otherwise
28 xslt element definition clashes in XML Schema files
29 namespace y = "http://indexdata.com/metaproxy"
31 <xs:element name="marc">
33 <xs:attribute name="inputformat" use="required" type="xs:string"/>
34 <xs:attribute name="outputformat" use="required" type="xs:string"/>
35 <xs:attribute name="inputcharset" use="required" type="xs:string"/>
38 <xs:element name="xslt">
40 <xs:attribute name="stylesheet" use="required" type="xs:string"/>
43 <xs:element name="retrievalinfo" substitutionGroup="filter_record_transform"/>
44 <xs:element name="retrieval">
47 <xs:element minOccurs="0" ref="y:backend"/>
49 <xs:attribute name="syntax" use="required" type="xs:string"/>
50 <xs:attribute name="name" type="xs:string"/>
51 <xs:attribute name="identifier" type="xs:string"/>
54 <xs:element name="backend">
56 <xs:choice minOccurs="0" maxOccurs="unbounded">
57 <xs:element ref="y:marc"/>
58 <xs:element ref="y:xslt"/>
60 <xs:attribute name="syntax" use="required" type="xs:string"/>
61 <xs:attribute name="name" type="xs:string"/>