This is to have one schema file per filter.
+++ /dev/null
-<?xml version="1.0"?>
-<xsd:schema targetNamespace="http://www.loc.gov/MARC21/slim" xmlns="http://www.loc.gov/MARC21/slim" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1" xml:lang="en">
- <xsd:annotation>
- <xsd:documentation>
- MARCXML: The MARC 21 XML Schema
- Prepared by Corey Keith
-
- August 4, 2003 - Version 1.1 - Removed import of xml namespace and the use of xml:space="preserve" attributes on the leader and controlfields.
- Whitespace preservation in these subfields is accomplished by the use of xsd:whiteSpace value="preserve"
-
- May 21, 2002 - Version 1.0 - Initial Release
-
- This schema supports XML markup of MARC21 records as specified in the MARC documentation (see www.loc.gov). It allows tags with
- alphabetics and subfield codes that are symbols, neither of which are as yet used in the MARC 21 communications formats, but are
- allowed by MARC 21 for local data. The schema accommodates all types of MARC 21 records: bibliographic, holdings, bibliographic
- with embedded holdings, authority, classification, and community information.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:element name="record" type="recordType" nillable="true" id="record.e">
- <xsd:annotation>
- <xsd:documentation>record is a top level container element for all of the field elements which compose the record</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="collection" type="collectionType" nillable="true" id="collection.e">
- <xsd:annotation>
- <xsd:documentation>collection is a top level container element for 0 or many records</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:complexType name="collectionType" id="collection.ct">
- <xsd:sequence minOccurs="0" maxOccurs="unbounded">
- <xsd:element ref="record"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- </xsd:complexType>
- <xsd:complexType name="recordType" id="record.ct">
- <xsd:sequence minOccurs="0">
- <xsd:element name="leader" type="leaderFieldType"/>
- <xsd:element name="controlfield" type="controlFieldType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="datafield" type="dataFieldType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="type" type="recordTypeType" use="optional"/>
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- </xsd:complexType>
- <xsd:simpleType name="recordTypeType" id="type.st">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="Bibliographic"/>
- <xsd:enumeration value="Authority"/>
- <xsd:enumeration value="Holdings"/>
- <xsd:enumeration value="Classification"/>
- <xsd:enumeration value="Community"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:complexType name="leaderFieldType" id="leader.ct">
- <xsd:annotation>
- <xsd:documentation>MARC21 Leader, 24 bytes</xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="leaderDataType">
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:simpleType name="leaderDataType" id="leader.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- <xsd:pattern value="[\d ]{5}[\dA-Za-z ]{1}[\dA-Za-z]{1}[\dA-Za-z ]{3}(2| )(2| )[\d ]{5}[\dA-Za-z ]{3}(4500| )"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:complexType name="controlFieldType" id="controlfield.ct">
- <xsd:annotation>
- <xsd:documentation>MARC21 Fields 001-009</xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="controlDataType">
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- <xsd:attribute name="tag" type="controltagDataType" use="required"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:simpleType name="controlDataType" id="controlfield.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="controltagDataType" id="controltag.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- <xsd:pattern value="00[1-9A-Za-z]{1}"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:complexType name="dataFieldType" id="datafield.ct">
- <xsd:annotation>
- <xsd:documentation>MARC21 Variable Data Fields 010-999</xsd:documentation>
- </xsd:annotation>
- <xsd:sequence maxOccurs="unbounded">
- <xsd:element name="subfield" type="subfieldatafieldType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- <xsd:attribute name="tag" type="tagDataType" use="required"/>
- <xsd:attribute name="ind1" type="indicatorDataType" use="required"/>
- <xsd:attribute name="ind2" type="indicatorDataType" use="required"/>
- </xsd:complexType>
- <xsd:simpleType name="tagDataType" id="tag.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- <xsd:pattern value="(0([1-9A-Z][0-9A-Z])|0([1-9a-z][0-9a-z]))|(([1-9A-Z][0-9A-Z]{2})|([1-9a-z][0-9a-z]{2}))"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="indicatorDataType" id="ind.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- <xsd:pattern value="[\da-z ]{1}"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:complexType name="subfieldatafieldType" id="subfield.ct">
- <xsd:simpleContent>
- <xsd:extension base="subfieldDataType">
- <xsd:attribute name="id" type="idDataType" use="optional"/>
- <xsd:attribute name="code" type="subfieldcodeDataType" use="required"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:simpleType name="subfieldDataType" id="subfield.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="subfieldcodeDataType" id="code.st">
- <xsd:restriction base="xsd:string">
- <xsd:whiteSpace value="preserve"/>
- <xsd:pattern value="[\da-z!"#$%&'()*+,-./:;<=>?{}_^`~\[\]\\]{1}"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="idDataType" id="id.st">
- <xsd:restriction base="xsd:ID"/>
- </xsd:simpleType>
-</xsd:schema>
xmlschemadatadir = $(pkgdatadir)/xml/schema
-schemas = metaproxy.rnc metaproxy.rng metaproxy.xsd \
- retrievalinfo.rnc retrievalinfo.rng retrievalinfo.xsd
+schemas = \
+filter_auth_simple.rnc \
+filter_auth_simple.rng \
+filter_auth_simple.xsd \
+filter_backend_test.rnc \
+filter_backend_test.rng \
+filter_backend_test.xsd \
+filter_bounce.rnc \
+filter_bounce.rng \
+filter_bounce.xsd \
+filter_cgi.rnc \
+filter_cgi.rng \
+filter_cgi.xsd \
+filter_cql_rpn.rnc \
+filter_cql_rpn.rng \
+filter_cql_rpn.xsd \
+filter_frontend_net.rnc \
+filter_frontend_net.rng \
+filter_frontend_net.xsd \
+filter_http_file.rnc \
+filter_http_file.rng \
+filter_http_file.xsd \
+filter_limit.rnc \
+filter_limit.rng \
+filter_limit.xsd \
+filter_load_balance.rnc \
+filter_load_balance.rng \
+filter_load_balance.xsd \
+filter_log.rnc \
+filter_log.rng \
+filter_log.xsd \
+filter_multi.rnc \
+filter_multi.rng \
+filter_multi.xsd \
+filter_query_rewrite.rnc \
+filter_query_rewrite.rng \
+filter_query_rewrite.xsd \
+filter_record_transform.rnc \
+filter_record_transform.rng \
+filter_record_transform.xsd \
+filter_session_shared.rnc \
+filter_session_shared.rng \
+filter_session_shared.xsd \
+filter_sru_z3950.rnc \
+filter_sru_z3950.rng \
+filter_sru_z3950.xsd \
+filter_virt_db.rnc \
+filter_virt_db.rng \
+filter_virt_db.xsd \
+filter_z3950_client.rnc \
+filter_z3950_client.rng \
+filter_z3950_client.xsd \
+local.xsd \
+metaproxy.rnc \
+metaproxy.rng \
+metaproxy.xsd \
+retrievalinfo.rnc \
+retrievalinfo.rng \
+retrievalinfo.xsd
xmlschemadata_DATA = $(schemas)
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_auth_simple =
+ attribute type { "auth_simple" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:userRegister { xsd:string }?,
+ element mp:targetRegister { xsd:string }?,
+ element mp:discardUnauthorisedTargets { empty }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_auth_simple">
+ <attribute name="type">
+ <value>auth_simple</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:userRegister">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:targetRegister">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:discardUnauthorisedTargets">
+ <empty/>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_auth_simple">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:userRegister"/>
+ <xs:element minOccurs="0" ref="mp:targetRegister"/>
+ <xs:element minOccurs="0" ref="mp:discardUnauthorisedTargets"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="userRegister" type="xs:string"/>
+ <xs:element name="targetRegister" type="xs:string"/>
+ <xs:element name="discardUnauthorisedTargets">
+ <xs:complexType/>
+ </xs:element>
+ <xs:attributeGroup name="filter_auth_simple">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="auth_simple"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_backend_test =
+ attribute type { "backend_test" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_backend_test">
+ <attribute name="type">
+ <value>backend_test</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:attributeGroup name="filter_backend_test">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="backend_test"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_bounce =
+ attribute type { "bounce" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_bounce">
+ <attribute name="type">
+ <value>bounce</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:attributeGroup name="filter_bounce">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bounce"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_cgi =
+ attribute type { "cgi" },
+ element mp:map {
+ attribute path { xsd:string },
+ attribute exec { xsd:string }
+ }*
+
+
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_cgi">
+ <attribute name="type">
+ <value>cgi</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="mp:map">
+ <attribute name="path">
+ <data type="string"/>
+ </attribute>
+ <attribute name="exec">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_cgi">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:map"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="map">
+ <xs:complexType>
+ <xs:attribute name="path" use="required" type="xs:string"/>
+ <xs:attribute name="exec" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_cgi">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="cgi"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_cql_rpn =
+ attribute type { "cql_rpn" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:conversion {
+ attribute file { xsd:string }
+ }
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_cql_rpn">
+ <attribute name="type">
+ <value>cql_rpn</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <element name="mp:conversion">
+ <attribute name="file">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:element name="conversion">
+ <xs:complexType>
+ <xs:attribute name="file" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_cql_rpn">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="cql_rpn"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_frontend_net =
+ attribute type { "frontend_net" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:threads { xsd:integer }?,
+ element mp:port { xsd:string }+,
+ element mp:timeout { xsd:integer }?,
+ element mp:connect-max { xsd:integer }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_frontend_net">
+ <attribute name="type">
+ <value>frontend_net</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:threads">
+ <data type="integer"/>
+ </element>
+ </optional>
+ <oneOrMore>
+ <element name="mp:port">
+ <data type="string"/>
+ </element>
+ </oneOrMore>
+ <optional>
+ <element name="mp:timeout">
+ <data type="integer"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:connect-max">
+ <data type="integer"/>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_frontend_net">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:threads"/>
+ <xs:element maxOccurs="unbounded" ref="mp:port"/>
+ <xs:element minOccurs="0" ref="mp:timeout"/>
+ <xs:element minOccurs="0" ref="mp:connect-max"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="threads" type="xs:integer"/>
+ <xs:element name="port" type="xs:string"/>
+ <xs:element name="timeout" type="xs:integer"/>
+ <xs:element name="connect-max" type="xs:integer"/>
+ <xs:attributeGroup name="filter_frontend_net">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="frontend_net"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_http_file =
+ attribute type { "http_file" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:mimetypes { xsd:string },
+ element mp:area {
+ element mp:documentroot { xsd:string },
+ element mp:prefix { xsd:string }
+ }
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_http_file">
+ <attribute name="type">
+ <value>http_file</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <element name="mp:mimetypes">
+ <data type="string"/>
+ </element>
+ <element name="mp:area">
+ <element name="mp:documentroot">
+ <data type="string"/>
+ </element>
+ <element name="mp:prefix">
+ <data type="string"/>
+ </element>
+ </element>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_http_file">
+ <xs:sequence>
+ <xs:element ref="mp:mimetypes"/>
+ <xs:element ref="mp:area"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="mimetypes" type="xs:string"/>
+ <xs:element name="area">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mp:documentroot"/>
+ <xs:element ref="mp:prefix"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="documentroot" type="xs:string"/>
+ <xs:element name="prefix" type="xs:string"/>
+ <xs:attributeGroup name="filter_http_file">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="http_file"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_limit =
+ attribute type { "limit" },
+ element mp:limit {
+ attribute bandwidth { xsd:integer }?,
+ attribute pdu { xsd:integer }?,
+ attribute search { xsd:integer }?,
+ attribute retrieve { xsd:integer }?
+ }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_limit">
+ <attribute name="type">
+ <value>limit</value>
+ </attribute>
+ <optional>
+ <element name="mp:limit">
+ <optional>
+ <attribute name="bandwidth">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pdu">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="search">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="retrieve">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_limit">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:limit"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="limit">
+ <xs:complexType>
+ <xs:attribute name="bandwidth" type="xs:integer"/>
+ <xs:attribute name="pdu" type="xs:integer"/>
+ <xs:attribute name="search" type="xs:integer"/>
+ <xs:attribute name="retrieve" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_limit">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_load_balance =
+ attribute type { "load_balance" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_load_balance">
+ <attribute name="type">
+ <value>load_balance</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:attributeGroup name="filter_load_balance">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="load_balance"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_log =
+ attribute type { "log" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:message { xsd:string }?,
+ element mp:time-format { xsd:string }?,
+ element mp:filename { xsd:string }?,
+ element mp:category {
+ attribute user-access { xsd:boolean }?,
+ attribute access { xsd:boolean }?,
+ attribute init-options { xsd:boolean }?,
+ attribute request-session { xsd:boolean }?,
+ attribute response-session { xsd:boolean }?,
+ attribute session { xsd:boolean }?,
+ attribute apdu { xsd:boolean }?,
+ attribute request-apdu { xsd:boolean }?,
+ attribute response-apdu { xsd:boolean }?
+ }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_log">
+ <attribute name="type">
+ <value>log</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:message">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:time-format">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:filename">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:category">
+ <optional>
+ <attribute name="user-access">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="access">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="init-options">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="request-session">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="response-session">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="session">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="apdu">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="request-apdu">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="response-apdu">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_log">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:message"/>
+ <xs:element minOccurs="0" ref="mp:time-format"/>
+ <xs:element minOccurs="0" ref="mp:filename"/>
+ <xs:element minOccurs="0" ref="mp:category"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="message" type="xs:string"/>
+ <xs:element name="time-format" type="xs:string"/>
+ <xs:element name="filename" type="xs:string"/>
+ <xs:element name="category">
+ <xs:complexType>
+ <xs:attribute name="user-access" type="xs:boolean"/>
+ <xs:attribute name="access" type="xs:boolean"/>
+ <xs:attribute name="init-options" type="xs:boolean"/>
+ <xs:attribute name="request-session" type="xs:boolean"/>
+ <xs:attribute name="response-session" type="xs:boolean"/>
+ <xs:attribute name="session" type="xs:boolean"/>
+ <xs:attribute name="apdu" type="xs:boolean"/>
+ <xs:attribute name="request-apdu" type="xs:boolean"/>
+ <xs:attribute name="response-apdu" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_log">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="log"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_multi =
+ attribute type { "multi" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:target {
+ attribute route { xsd:string },
+ xsd:string
+ }*,
+ element mp:hideunavailable { empty }?,
+ element mp:mergetype { xsd:string }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_multi">
+ <attribute name="type">
+ <value>multi</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <element name="mp:target">
+ <attribute name="route">
+ <data type="string"/>
+ </attribute>
+ <data type="string"/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="mp:hideunavailable">
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:mergetype">
+ <data type="string"/>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_multi">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:target"/>
+ <xs:element minOccurs="0" ref="mp:hideunavailable"/>
+ <xs:element minOccurs="0" ref="mp:mergetype"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="target">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="route" use="required" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="hideunavailable">
+ <xs:complexType/>
+ </xs:element>
+ <xs:element name="mergetype" type="xs:string"/>
+ <xs:attributeGroup name="filter_multi">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="multi"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_query_rewrite =
+ attribute type { "query_rewrite" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:xslt {
+ attribute stylesheet { xsd:string }
+ }
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_query_rewrite">
+ <attribute name="type">
+ <value>query_rewrite</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <element name="mp:xslt">
+ <attribute name="stylesheet">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:element name="xslt">
+ <xs:complexType>
+ <xs:attribute name="stylesheet" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_query_rewrite">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="query_rewrite"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_record_transform =
+ attribute type { "record_transform" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ retrievalinfo
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_record_transform">
+ <attribute name="type">
+ <value>record_transform</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <ref name="retrievalinfo"/>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:element name="filter_record_transform" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="y:retrieval"/>
+ </xs:sequence>
+ <xs:attribute name="version" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="1.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_record_transform">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="record_transform"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_session_shared =
+ attribute type { "session_shared" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:resultset {
+ attribute max { xsd:integer },
+ attribute ttl { xsd:integer },
+ attribute optimizesearch { xsd:boolean }
+ }?,
+ element mp:session {
+ attribute ttl { xsd:integer }
+ }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_session_shared">
+ <attribute name="type">
+ <value>session_shared</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:resultset">
+ <attribute name="max">
+ <data type="integer"/>
+ </attribute>
+ <attribute name="ttl">
+ <data type="integer"/>
+ </attribute>
+ <attribute name="optimizesearch">
+ <data type="boolean"/>
+ </attribute>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:session">
+ <attribute name="ttl">
+ <data type="integer"/>
+ </attribute>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_session_shared">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:resultset"/>
+ <xs:element minOccurs="0" ref="mp:session"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="resultset">
+ <xs:complexType>
+ <xs:attribute name="max" use="required" type="xs:integer"/>
+ <xs:attribute name="ttl" use="required" type="xs:integer"/>
+ <xs:attribute name="optimizesearch" use="required" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="session">
+ <xs:complexType>
+ <xs:attribute name="ttl" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_session_shared">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="session_shared"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_sru_z3950 =
+ attribute type { "sru_z3950" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:database {
+ attribute name { xsd:NCName },
+ any
+ }*
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_sru_z3950">
+ <attribute name="type">
+ <value>sru_z3950</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <element name="mp:database">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="any"/>
+ </element>
+ </zeroOrMore>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_sru_z3950">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:database"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="database">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="mp:any">
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_sru_z3950">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sru_z3950"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_virt_db =
+ attribute type { "virt_db" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:pass-vhosts { xsd:boolean }?,
+ element mp:torus {
+ attribute url { xsd:string }
+ }?,
+ element mp:virtual {
+ attribute route { xsd:NCName }?,
+ element mp:database { xsd:string },
+ element mp:target { xsd:string }+
+ }*
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_virt_db">
+ <attribute name="type">
+ <value>virt_db</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:pass-vhosts">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:torus">
+ <attribute name="url">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <element name="mp:virtual">
+ <optional>
+ <attribute name="route">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <element name="mp:database">
+ <data type="string"/>
+ </element>
+ <oneOrMore>
+ <element name="mp:target">
+ <data type="string"/>
+ </element>
+ </oneOrMore>
+ </element>
+ </zeroOrMore>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_virt_db">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:pass-vhosts"/>
+ <xs:element minOccurs="0" ref="mp:torus"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:virtual"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="pass-vhosts" type="xs:boolean"/>
+ <xs:element name="torus">
+ <xs:complexType>
+ <xs:attribute name="url" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="virtual">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="database" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" name="target" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="route" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_virt_db">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="virt_db"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+# Metaproxy XML config file schemas
+#
+# Copyright (C) 2005-2011 Index Data.
+#
+# See the LICENSE file for details
+#
+#
+# The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+#
+# The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+# trang metaproxy.rnc metaproxy.rng
+# trang metaproxy.rnc metaproxy.xsd
+#
+# Config file validation is done using 'xmllint':
+# xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+# xmllint -/-schema metaproxy.xsd config-bytarget.xml
+#
+# For information on RelaxNG see http://relaxng.org
+# see also http://books.xmlschemata.org/relaxng/
+
+namespace mp = "http://indexdata.com/metaproxy"
+
+filter_z3950_client =
+ attribute type { "z3950_client" },
+ attribute id { xsd:NCName }?,
+ attribute name { xsd:NCName }?,
+ element mp:timeout { xsd:integer }?,
+ element mp:default_target { xsd:string }?,
+ element mp:force_target { xsd:string }?,
+ element mp:force_close { xsd:boolean }?
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<grammar xmlns:mp="http://indexdata.com/metaproxy" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="filter_z3950_client">
+ <attribute name="type">
+ <value>z3950_client</value>
+ </attribute>
+ <optional>
+ <attribute name="id">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="mp:timeout">
+ <data type="integer"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:default_target">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:force_target">
+ <data type="string"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mp:force_close">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ </define>
+</grammar>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Metaproxy XML config file schemas
+
+ Copyright (C) 2005-2011 Index Data.
+
+ See the LICENSE file for details
+
+
+ The RelaxNG Compact Syntax file 'metaproxy.rnc' is the master copy.
+
+ The RelaxNG XML Syntax and XML Schema are generated using 'trang':
+ trang metaproxy.rnc metaproxy.rng
+ trang metaproxy.rnc metaproxy.xsd
+
+ Config file validation is done using 'xmllint':
+ xmllint -/-relaxng metaproxy.rng ../../../etc/config1.xml
+ xmllint -/-schema metaproxy.xsd config-bytarget.xml
+
+ For information on RelaxNG see http://relaxng.org
+ see also http://books.xmlschemata.org/relaxng/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:import schemaLocation="local.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+ <xs:group name="filter_z3950_client">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:timeout"/>
+ <xs:element minOccurs="0" ref="mp:default_target"/>
+ <xs:element minOccurs="0" ref="mp:force_target"/>
+ <xs:element minOccurs="0" ref="mp:force_close"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="default_target" type="xs:string"/>
+ <xs:element name="force_target" type="xs:string"/>
+ <xs:element name="force_close" type="xs:boolean"/>
+ <xs:attributeGroup name="filter_z3950_client">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="z3950_client"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:NCName"/>
+ <xs:attribute name="name" type="xs:NCName"/>
+ </xs:attributeGroup>
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:include schemaLocation="filter_backend_test.xsd"/>
+ <xs:include schemaLocation="filter_bounce.xsd"/>
+ <xs:include schemaLocation="filter_load_balance.xsd"/>
+ <xs:include schemaLocation="filter_record_transform.xsd"/>
+ <xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
+ <xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
+</xs:schema>
# Metaproxy XML config file schemas
#
-# Copyright (c) 2005-2008 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 mp = "http://indexdata.com/metaproxy"
start |= metaproxy
include "retrievalinfo.rnc"
+include "filter_auth_simple.rnc"
+include "filter_backend_test.rnc"
+include "filter_bounce.rnc"
+include "filter_cgi.rnc"
+include "filter_cql_rpn.rnc"
+include "filter_frontend_net.rnc"
+include "filter_http_file.rnc"
+include "filter_limit.rnc"
+include "filter_load_balance.rnc"
+include "filter_log.rnc"
+include "filter_multi.rnc"
+include "filter_query_rewrite.rnc"
+include "filter_record_transform.rnc"
+include "filter_session_shared.rnc"
+include "filter_sru_z3950.rnc"
+include "filter_virt_db.rnc"
+include "filter_z3950_client.rnc"
any = (text | element * { attribute * { text }*, any })*
| filter_sru_z3950
| filter_virt_db
| filter_z3950_client
-# | filter_zeerex_explain
}
filter_refid = attribute refid { xsd:NCName }
-filter_auth_simple =
- attribute type { "auth_simple" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:userRegister { xsd:string }?,
- element mp:targetRegister { xsd:string }?,
- element mp:discardUnauthorisedTargets { empty }?
-
-filter_backend_test =
- attribute type { "backend_test" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?
-
-filter_bounce =
- attribute type { "bounce" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?
-
-filter_cql_rpn =
- attribute type { "cql_rpn" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:conversion {
- attribute file { xsd:string }
- }
-
-filter_frontend_net =
- attribute type { "frontend_net" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:threads { xsd:integer }?,
- element mp:port { xsd:string }+,
- element mp:timeout { xsd:integer }?,
- element mp:connect-max { xsd:integer }?
-
-filter_http_file =
- attribute type { "http_file" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:mimetypes { xsd:string },
- element mp:area {
- element mp:documentroot { xsd:string },
- element mp:prefix { xsd:string }
- }
-
-filter_load_balance =
- attribute type { "load_balance" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?
-
-filter_log =
- attribute type { "log" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:message { xsd:string }?,
- element mp:time-format { xsd:string }?,
- element mp:filename { xsd:string }?,
- element mp:category {
- attribute user-access { xsd:boolean }?,
- attribute access { xsd:boolean }?,
- attribute init-options { xsd:boolean }?,
- attribute request-session { xsd:boolean }?,
- attribute response-session { xsd:boolean }?,
- attribute session { xsd:boolean }?,
- attribute apdu { xsd:boolean }?,
- attribute request-apdu { xsd:boolean }?,
- attribute response-apdu { xsd:boolean }?
- }?
-
-filter_multi =
- attribute type { "multi" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:target {
- attribute route { xsd:string },
- xsd:string
- }*,
- element mp:hideunavailable { empty }?,
- element mp:mergetype { xsd:string }?
-
-filter_query_rewrite =
- attribute type { "query_rewrite" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:xslt {
- attribute stylesheet { xsd:string }
- }
-
-filter_record_transform =
- attribute type { "record_transform" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- retrievalinfo
-
-filter_session_shared =
- attribute type { "session_shared" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:resultset {
- attribute max { xsd:integer },
- attribute ttl { xsd:integer },
- attribute optimizesearch { xsd:boolean }
- }?,
- element mp:session {
- attribute ttl { xsd:integer }
- }?
-
-filter_sru_z3950 =
- attribute type { "sru_z3950" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:database {
- attribute name { xsd:NCName },
- any
- }*
-
-filter_virt_db =
- attribute type { "virt_db" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:pass-vhosts { xsd:boolean }?,
- element mp:torus {
- attribute url { xsd:string }
- }?,
- element mp:virtual {
- attribute route { xsd:NCName }?,
- element mp:database { xsd:string },
- element mp:target { xsd:string }+
- }*
-
-filter_z3950_client =
- attribute type { "z3950_client" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:timeout { xsd:integer }?,
- element mp:default_target { xsd:string }?,
- element mp:force_target { xsd:string }?,
- element mp:force_close { xsd:boolean }?
-
-filter_limit =
- attribute type { "limit" },
- element mp:limit {
- attribute bandwidth { xsd:integer }?,
- attribute pdu { xsd:integer }?,
- attribute search { xsd:integer }?,
- attribute retrieve { xsd:integer }?
- }?
-
-filter_cgi =
- attribute type { "cgi" },
- element mp:map {
- attribute path { xsd:string },
- attribute exec { xsd:string }
- }*
-
-#filter_zeerex_explain =
-# attribute type { "zeerex_explain" },
-# attribute id { xsd:NCName }?,
-# attribute name { xsd:NCName }?,
-# element mp:database {
-# attribute name { xsd:NCName },
-# any
-# }+
-
-
<!--
Metaproxy XML config file schemas
- Copyright (c) 2005-2008 Index Data.
+ Copyright (C) 2005-2011 Index Data.
See the LICENSE file for details
<ref name="metaproxy"/>
</start>
<include href="retrievalinfo.rng"/>
+ <include href="filter_auth_simple.rng"/>
+ <include href="filter_backend_test.rng"/>
+ <include href="filter_bounce.rng"/>
+ <include href="filter_cgi.rng"/>
+ <include href="filter_cql_rpn.rng"/>
+ <include href="filter_frontend_net.rng"/>
+ <include href="filter_http_file.rng"/>
+ <include href="filter_limit.rng"/>
+ <include href="filter_load_balance.rng"/>
+ <include href="filter_log.rng"/>
+ <include href="filter_multi.rng"/>
+ <include href="filter_query_rewrite.rng"/>
+ <include href="filter_record_transform.rng"/>
+ <include href="filter_session_shared.rng"/>
+ <include href="filter_sru_z3950.rng"/>
+ <include href="filter_virt_db.rng"/>
+ <include href="filter_z3950_client.rng"/>
<define name="any">
<zeroOrMore>
<choice>
<ref name="filter_virt_db"/>
<ref name="filter_z3950_client"/>
</choice>
- <!-- | filter_zeerex_explain -->
</element>
</define>
<define name="filter_refid">
<data type="NCName"/>
</attribute>
</define>
- <define name="filter_auth_simple">
- <attribute name="type">
- <value>auth_simple</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:userRegister">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:targetRegister">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:discardUnauthorisedTargets">
- <empty/>
- </element>
- </optional>
- </define>
- <define name="filter_backend_test">
- <attribute name="type">
- <value>backend_test</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- </define>
- <define name="filter_bounce">
- <attribute name="type">
- <value>bounce</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- </define>
- <define name="filter_cql_rpn">
- <attribute name="type">
- <value>cql_rpn</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <element name="mp:conversion">
- <attribute name="file">
- <data type="string"/>
- </attribute>
- </element>
- </define>
- <define name="filter_frontend_net">
- <attribute name="type">
- <value>frontend_net</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:threads">
- <data type="integer"/>
- </element>
- </optional>
- <oneOrMore>
- <element name="mp:port">
- <data type="string"/>
- </element>
- </oneOrMore>
- <optional>
- <element name="mp:timeout">
- <data type="integer"/>
- </element>
- </optional>
- <optional>
- <element name="mp:connect-max">
- <data type="integer"/>
- </element>
- </optional>
- </define>
- <define name="filter_http_file">
- <attribute name="type">
- <value>http_file</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <element name="mp:mimetypes">
- <data type="string"/>
- </element>
- <element name="mp:area">
- <element name="mp:documentroot">
- <data type="string"/>
- </element>
- <element name="mp:prefix">
- <data type="string"/>
- </element>
- </element>
- </define>
- <define name="filter_load_balance">
- <attribute name="type">
- <value>load_balance</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- </define>
- <define name="filter_log">
- <attribute name="type">
- <value>log</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:message">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:time-format">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:filename">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:category">
- <optional>
- <attribute name="user-access">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="access">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="init-options">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="request-session">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="response-session">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="session">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="apdu">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="request-apdu">
- <data type="boolean"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="response-apdu">
- <data type="boolean"/>
- </attribute>
- </optional>
- </element>
- </optional>
- </define>
- <define name="filter_multi">
- <attribute name="type">
- <value>multi</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <zeroOrMore>
- <element name="mp:target">
- <attribute name="route">
- <data type="string"/>
- </attribute>
- <data type="string"/>
- </element>
- </zeroOrMore>
- <optional>
- <element name="mp:hideunavailable">
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="mp:mergetype">
- <data type="string"/>
- </element>
- </optional>
- </define>
- <define name="filter_query_rewrite">
- <attribute name="type">
- <value>query_rewrite</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <element name="mp:xslt">
- <attribute name="stylesheet">
- <data type="string"/>
- </attribute>
- </element>
- </define>
- <define name="filter_record_transform">
- <attribute name="type">
- <value>record_transform</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <ref name="retrievalinfo"/>
- </define>
- <define name="filter_session_shared">
- <attribute name="type">
- <value>session_shared</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:resultset">
- <attribute name="max">
- <data type="integer"/>
- </attribute>
- <attribute name="ttl">
- <data type="integer"/>
- </attribute>
- <attribute name="optimizesearch">
- <data type="boolean"/>
- </attribute>
- </element>
- </optional>
- <optional>
- <element name="mp:session">
- <attribute name="ttl">
- <data type="integer"/>
- </attribute>
- </element>
- </optional>
- </define>
- <define name="filter_sru_z3950">
- <attribute name="type">
- <value>sru_z3950</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <zeroOrMore>
- <element name="mp:database">
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- <ref name="any"/>
- </element>
- </zeroOrMore>
- </define>
- <define name="filter_virt_db">
- <attribute name="type">
- <value>virt_db</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:pass-vhosts">
- <data type="boolean"/>
- </element>
- </optional>
- <optional>
- <element name="mp:torus">
- <attribute name="url">
- <data type="string"/>
- </attribute>
- </element>
- </optional>
- <zeroOrMore>
- <element name="mp:virtual">
- <optional>
- <attribute name="route">
- <data type="NCName"/>
- </attribute>
- </optional>
- <element name="mp:database">
- <data type="string"/>
- </element>
- <oneOrMore>
- <element name="mp:target">
- <data type="string"/>
- </element>
- </oneOrMore>
- </element>
- </zeroOrMore>
- </define>
- <define name="filter_z3950_client">
- <attribute name="type">
- <value>z3950_client</value>
- </attribute>
- <optional>
- <attribute name="id">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="name">
- <data type="NCName"/>
- </attribute>
- </optional>
- <optional>
- <element name="mp:timeout">
- <data type="integer"/>
- </element>
- </optional>
- <optional>
- <element name="mp:default_target">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:force_target">
- <data type="string"/>
- </element>
- </optional>
- <optional>
- <element name="mp:force_close">
- <data type="boolean"/>
- </element>
- </optional>
- </define>
- <define name="filter_limit">
- <attribute name="type">
- <value>limit</value>
- </attribute>
- <optional>
- <element name="mp:limit">
- <optional>
- <attribute name="bandwidth">
- <data type="integer"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="pdu">
- <data type="integer"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="search">
- <data type="integer"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="retrieve">
- <data type="integer"/>
- </attribute>
- </optional>
- </element>
- </optional>
- </define>
- <define name="filter_cgi">
- <attribute name="type">
- <value>cgi</value>
- </attribute>
- <zeroOrMore>
- <element name="mp:map">
- <attribute name="path">
- <data type="string"/>
- </attribute>
- <attribute name="exec">
- <data type="string"/>
- </attribute>
- </element>
- </zeroOrMore>
- </define>
</grammar>
-<!--
- filter_zeerex_explain =
- attribute type { "zeerex_explain" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:database {
- attribute name { xsd:NCName },
- any
- }+
--->
<!--
Metaproxy XML config file schemas
- Copyright (c) 2005-2008 Index Data.
+ Copyright (C) 2005-2011 Index Data.
See the LICENSE file for details
see also http://books.xmlschemata.org/relaxng/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indexdata.com/metaproxy" xmlns:mp="http://indexdata.com/metaproxy" xmlns:y="http://indexdata.com/yaz">
+ <xs:include schemaLocation="filter_auth_simple.xsd"/>
+ <xs:include schemaLocation="filter_cgi.xsd"/>
+ <xs:include schemaLocation="filter_cql_rpn.xsd"/>
+ <xs:include schemaLocation="filter_frontend_net.xsd"/>
+ <xs:include schemaLocation="filter_http_file.xsd"/>
+ <xs:include schemaLocation="filter_limit.xsd"/>
+ <xs:include schemaLocation="filter_log.xsd"/>
+ <xs:include schemaLocation="filter_multi.xsd"/>
+ <xs:include schemaLocation="filter_query_rewrite.xsd"/>
+ <xs:include schemaLocation="filter_session_shared.xsd"/>
+ <xs:include schemaLocation="filter_sru_z3950.xsd"/>
+ <xs:include schemaLocation="filter_virt_db.xsd"/>
+ <xs:include schemaLocation="filter_z3950_client.xsd"/>
+ <xs:import schemaLocation="local.xsd"/>
<xs:import namespace="http://indexdata.com/yaz" schemaLocation="retrievalinfo.xsd"/>
<xs:complexType name="any" mixed="true">
<xs:sequence>
<xs:group ref="mp:filter_log"/>
<xs:group ref="mp:filter_multi"/>
<xs:element ref="mp:xslt"/>
- <xs:element ref="mp:filter_record_transform"/>
+ <xs:element ref="filter_record_transform"/>
<xs:group ref="mp:filter_session_shared"/>
<xs:group ref="mp:filter_sru_z3950"/>
<xs:group ref="mp:filter_virt_db"/>
<xs:attributeGroup name="filter_refid">
<xs:attribute name="refid" use="required" type="xs:NCName"/>
</xs:attributeGroup>
- <xs:group name="filter_auth_simple">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:userRegister"/>
- <xs:element minOccurs="0" ref="mp:targetRegister"/>
- <xs:element minOccurs="0" ref="mp:discardUnauthorisedTargets"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="userRegister" type="xs:string"/>
- <xs:element name="targetRegister" type="xs:string"/>
- <xs:element name="discardUnauthorisedTargets">
- <xs:complexType/>
- </xs:element>
- <xs:attributeGroup name="filter_auth_simple">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="auth_simple"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="filter_backend_test">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="backend_test"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="filter_bounce">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="bounce"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:element name="conversion">
- <xs:complexType>
- <xs:attribute name="file" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_cql_rpn">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="cql_rpn"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_frontend_net">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:threads"/>
- <xs:element maxOccurs="unbounded" ref="mp:port"/>
- <xs:element minOccurs="0" ref="mp:timeout"/>
- <xs:element minOccurs="0" ref="mp:connect-max"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="threads" type="xs:integer"/>
- <xs:element name="port" type="xs:string"/>
- <xs:element name="timeout" type="xs:integer"/>
- <xs:element name="connect-max" type="xs:integer"/>
- <xs:attributeGroup name="filter_frontend_net">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="frontend_net"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_http_file">
- <xs:sequence>
- <xs:element ref="mp:mimetypes"/>
- <xs:element ref="mp:area"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="mimetypes" type="xs:string"/>
- <xs:element name="area">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mp:documentroot"/>
- <xs:element ref="mp:prefix"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="documentroot" type="xs:string"/>
- <xs:element name="prefix" type="xs:string"/>
- <xs:attributeGroup name="filter_http_file">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="http_file"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="filter_load_balance">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="load_balance"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_log">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:message"/>
- <xs:element minOccurs="0" ref="mp:time-format"/>
- <xs:element minOccurs="0" ref="mp:filename"/>
- <xs:element minOccurs="0" ref="mp:category"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="message" type="xs:string"/>
- <xs:element name="time-format" type="xs:string"/>
- <xs:element name="filename" type="xs:string"/>
- <xs:element name="category">
- <xs:complexType>
- <xs:attribute name="user-access" type="xs:boolean"/>
- <xs:attribute name="access" type="xs:boolean"/>
- <xs:attribute name="init-options" type="xs:boolean"/>
- <xs:attribute name="request-session" type="xs:boolean"/>
- <xs:attribute name="response-session" type="xs:boolean"/>
- <xs:attribute name="session" type="xs:boolean"/>
- <xs:attribute name="apdu" type="xs:boolean"/>
- <xs:attribute name="request-apdu" type="xs:boolean"/>
- <xs:attribute name="response-apdu" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_log">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="log"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_multi">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:target"/>
- <xs:element minOccurs="0" ref="mp:hideunavailable"/>
- <xs:element minOccurs="0" ref="mp:mergetype"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="target">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="route" use="required" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="hideunavailable">
- <xs:complexType/>
- </xs:element>
- <xs:element name="mergetype" type="xs:string"/>
- <xs:attributeGroup name="filter_multi">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="multi"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:element name="xslt">
- <xs:complexType>
- <xs:attribute name="stylesheet" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_query_rewrite">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="query_rewrite"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:element name="filter_record_transform" abstract="true">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="y:retrieval"/>
- </xs:sequence>
- <xs:attribute name="version" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="1.0"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_record_transform">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="record_transform"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_session_shared">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:resultset"/>
- <xs:element minOccurs="0" ref="mp:session"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="resultset">
- <xs:complexType>
- <xs:attribute name="max" use="required" type="xs:integer"/>
- <xs:attribute name="ttl" use="required" type="xs:integer"/>
- <xs:attribute name="optimizesearch" use="required" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="session">
- <xs:complexType>
- <xs:attribute name="ttl" use="required" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_session_shared">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="session_shared"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_sru_z3950">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:database"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="database">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="mp:any">
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_sru_z3950">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="sru_z3950"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_virt_db">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:pass-vhosts"/>
- <xs:element minOccurs="0" ref="mp:torus"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:virtual"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="pass-vhosts" type="xs:boolean"/>
- <xs:element name="torus">
- <xs:complexType>
- <xs:attribute name="url" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="virtual">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="database" type="xs:string"/>
- <xs:element maxOccurs="unbounded" name="target" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="route" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_virt_db">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="virt_db"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_z3950_client">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:timeout"/>
- <xs:element minOccurs="0" ref="mp:default_target"/>
- <xs:element minOccurs="0" ref="mp:force_target"/>
- <xs:element minOccurs="0" ref="mp:force_close"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="default_target" type="xs:string"/>
- <xs:element name="force_target" type="xs:string"/>
- <xs:element name="force_close" type="xs:boolean"/>
- <xs:attributeGroup name="filter_z3950_client">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="z3950_client"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="id" type="xs:NCName"/>
- <xs:attribute name="name" type="xs:NCName"/>
- </xs:attributeGroup>
- <xs:group name="filter_limit">
- <xs:sequence>
- <xs:element minOccurs="0" ref="mp:limit"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="limit">
- <xs:complexType>
- <xs:attribute name="bandwidth" type="xs:integer"/>
- <xs:attribute name="pdu" type="xs:integer"/>
- <xs:attribute name="search" type="xs:integer"/>
- <xs:attribute name="retrieve" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_limit">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="limit"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
- <xs:group name="filter_cgi">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:map"/>
- </xs:sequence>
- </xs:group>
- <xs:element name="map">
- <xs:complexType>
- <xs:attribute name="path" use="required" type="xs:string"/>
- <xs:attribute name="exec" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="filter_cgi">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="cgi"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
</xs:schema>
-<!--
- filter_zeerex_explain =
- attribute type { "zeerex_explain" },
- attribute id { xsd:NCName }?,
- attribute name { xsd:NCName }?,
- element mp:database {
- attribute name { xsd:NCName },
- any
- }+
--->
# Metaproxy XML config file schemas
#
-# Copyright (c) 2005-2008 Index Data.
+# Copyright (C) 2005-2011 Index Data.
#
# See the LICENSE file for details
#
<!--
Metaproxy XML config file schemas
- Copyright (c) 2005-2008 Index Data.
+ Copyright (C) 2005-2011 Index Data.
See the LICENSE file for details
<!--
Metaproxy XML config file schemas
- Copyright (c) 2005-2008 Index Data.
+ Copyright (C) 2005-2011 Index Data.
See the LICENSE file for details
see also http://books.xmlschemata.org/relaxng/
-->
<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">
+ <xs:import schemaLocation="local.xsd"/>
<xs:import namespace="http://indexdata.com/metaproxy" schemaLocation="metaproxy.xsd"/>
<!--
need to be in different namespace then metaproxy, otherwise
<xs:attribute name="stylesheet" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
- <xs:element name="retrievalinfo" substitutionGroup="mp:filter_record_transform"/>
+ <xs:element name="retrievalinfo" substitutionGroup="filter_record_transform"/>
<xs:element name="retrieval">
<xs:complexType>
<xs:sequence>