cql_rpn
Prev | Reference | Next

## Name

cql_rpn — Metaproxy CQL to RPN Query Language Transforming Module

## DESCRIPTION

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

## SCHEMA

# 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 }?
}

## EXAMPLES

A typical configuration looks like this:

        <filter id="cql" type="cql_rpn">
          <conversion file="etc/cql2pqf.txt"/>
        </filter>

## SEE ALSO

metaproxy(1)

## COPYRIGHT

Copyright (C) 2005-2020 Index Data

Prev | Up | Next
cgi | Home | frontend_net