cql_rpn — Metaproxy CQL to RPN Query Language Transforming Module
A query language transforming filter which catches Z39.50
searchRequest
packages containing CQL
queries, transforms
those to RPN
queries,
and sends the searchRequests
on to the next
filters.
The filter takes only one configuration parameter, namely the path
of the standard YAZ
CQL
-to-PQF
configuration
file. See the YAZ manual for
configuration file syntax and details.
A common and well-known challenge is that the ZeeRex SRU
Explain config file used in the sru_z3950
filter and the CQL
translation configuration
file used in this filter must be kept in synchronization.
Synchronization can be eased by using the provided XSLT stylesheet,
xml/xslt/explain2cqlpqftxt.xsl
, which transforms
from ZeeReX Explain to the latter. The example configurations have
been created by running:
xsltproc xml/xslt/explain2cqlpqftxt.xsl etc/explain.xml > etc/cql2pqf.txt
# Metaproxy XML config file schemas
#
# Copyright (C) Index Data
# See the LICENSE file for details.
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 },
attribute reverse { xsd:boolean }?
}