Document bind_host for {http,z3950}_client
[metaproxy-moved-to-github.git] / xml / schema / retrievalinfo.rnc
index c319d53..0695261 100644 (file)
@@ -1,40 +1,28 @@
-# Metaproxy XML config file schemas
-#  $Id: retrievalinfo.rnc,v 1.6 2007-01-26 14:46:31 adam Exp $
-# 
-#   Copyright (c) 2005-2007, Index Data.
-# 
-#   See the LICENSE file for details
-# 
-# 
-# The RelaxNG Compact Syntax file 'retrievalinfo.rnc' is the master copy.
-# 
-# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
-# trang retrievalinfo.rnc retrievalinfo.rng 
-# trang retrievalinfo.rnc retrievalinfo.xsd 
-# 
-# Config file validation is done using 'xmllint':
-# xmllint -/-relaxng retrievalinfo.rng retrievalinfo.xml 
-# xmllint -/-schema retrievalinfo.xsd retirevalinfo.xml
-# 
-# For information on RelaxNG see http://relaxng.org 
-# see also http://books.xmlschemata.org/relaxng/
+# Schema for YAZ retrieval info and USEMARCON extension
 
 namespace y = "http://indexdata.com/yaz"
 
-# 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 }
+  attribute inputcharset { xsd:string },
+  attribute outputcharset { xsd:string }?,
+  attribute leaderspec { xsd:string }?
 }
 
 xslt = element y:xslt {
-  attribute stylesheet { xsd:string }
+  attribute stylesheet { xsd:string },
+  element y:param {
+  attribute name {xsd:string},
+  attribute value {xsd:string}
+  }*
+}
+
+usemarcon = element y:usemarcon {
+  attribute stage1 { xsd:string }?,
+  attribute stage2 { xsd:string }?
 }
 
 retrievalinfo = 
@@ -44,12 +32,10 @@ retrievalinfo =
       attribute syntax { xsd:string },
       attribute name { xsd:string }?,
       attribute identifier { xsd:string }?,
-      #attribute backendsyntax { xsd:string }?,
-      #attribute backendname { xsd:string }?,
       element y:backend {
       attribute syntax { xsd:string },
       attribute name { xsd:string }?,
-      (marc | xslt)*
+      (marc | xslt | usemarcon)*
       }?
     }+
   }