# Metaproxy XML config file schemas
-# $Id: retrievalinfo.rnc,v 1.2 2006-11-29 21:43:38 marc Exp $
#
-# Copyright (c) 2005-2006, Index Data.
+# Copyright (C) 2005-2011 Index Data.
#
# See the LICENSE file for details
#
# For information on RelaxNG see http://relaxng.org
# see also http://books.xmlschemata.org/relaxng/
-#namespace y = "http://indexdata.com/yaz"
-namespace y = "http://indexdata.com/metaproxy"
+namespace y = "http://indexdata.com/yaz"
-#start = retrievalinfo
+# need to be in different namespace then metaproxy, otherwise
+# xslt element definition clashes in XML Schema files
+# namespace y = "http://indexdata.com/metaproxy"
+
+start |= retrievalinfo
+
+marc = element y:marc {
+ attribute inputformat { xsd:string },
+ attribute outputformat { xsd:string },
+ attribute inputcharset { xsd:string }
+}
+
+xslt = element y:xslt {
+ attribute stylesheet { xsd:string }
+}
retrievalinfo =
element y:retrievalinfo {
attribute syntax { xsd:string },
attribute name { xsd:string }?,
attribute identifier { xsd:string }?,
- attribute backendsyntax { xsd:string }?,
- attribute backendname { xsd:string }?,
- element y:convert {
- element y:marc {
- attribute inputformat { xsd:string },
- attribute outputformat { xsd:string },
- attribute inputcharset { xsd:string }
- },
- element y:xslt {
- attribute stylesheet { xsd:string }
- }?
+ #attribute backendsyntax { xsd:string }?,
+ #attribute backendname { xsd:string }?,
+ element y:backend {
+ attribute syntax { xsd:string },
+ attribute name { xsd:string }?,
+ (marc | xslt)*
}?
}+
}