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-2023 Index Data