-<!-- $Id: tools.xml,v 1.7 2001-10-24 12:50:44 adam Exp $ -->
+<!-- $Id: tools.xml,v 1.11 2002-05-30 20:57:31 adam Exp $ -->
<chapter id="tools"><title>Supporting Tools</title>
<para>
The grammar of the PQF is as follows:
</para>
- <screen>
- Query ::= [ '@attrset' AttSet ] QueryStruct.
-
- AttSet ::= string.
+ <literallayout>
+ query ::= top-set query-struct.
- QueryStruct ::= [ Attribute ] Simple | Complex.
+ top-set ::= [ '@attrset' string ]
- Attribute ::= '@attr' [ AttSet ] AttributeType '=' AttributeValue.
+ query-struct ::= attr-spec | simple | complex
- AttributeType ::= integer.
+ attr-spec ::= '@attr' [ string ] string query-struct
- AttributeValue ::= integer.
+ complex ::= operator query-struct query-struct.
- Complex ::= Operator QueryStruct QueryStruct.
+ operator ::= '@and' | '@or' | '@not' | '@prox' proximity.
- Operator ::= '@and' | '@or' | '@not' | '@prox' Proximity.
+ simple ::= result-set | term.
- Simple ::= ResultSet | Term.
+ result-set ::= '@set' string.
- ResultSet ::= '@set' string.
+ term ::= string
- Term ::= string | '"' string '"'.
+ proximity ::= exclusion distance ordered relation which-code unit-code.
- Proximity ::= Exclusion Distance Ordered Relation WhichCode UnitCode.
+ exclusion ::= '1' | '0' | 'void'.
- Exclusion ::= '1' | '0' | 'void'.
+ distance ::= integer.
- Distance ::= integer.
+ ordered ::= '1' | '0'.
- Ordered ::= '1' | '0'.
+ relation ::= integer.
- Relation ::= integer.
+ which-code ::= 'known' | 'private' | integer.
- WhichCode ::= 'known' | 'private' | integer.
-
- UnitCode ::= integer.
- </screen>
+ unit-code ::= integer.
+ </literallayout>
<para>
You will note that the syntax above is a fairly faithful
- representation of RPN, except for the Attibute, which has been
+ representation of RPN, except for the Attribute, which has been
moved a step away from the term, allowing you to associate one or more
attributes with an entire query structure. The parser will
automatically apply the given attributes to each term as required.
</para>
<para>
- The EUROPAGATE research project working under the Libraries programme
+ The <ulink url="http://europagate.dtv.dk/">EUROPAGATE</ulink>
+ research project working under the Libraries programme
of the European Commission's DG XIII has, amongst other useful tools,
implemented a general-purpose CCL parser which produces an output
structure that can be trivially converted to the internal RPN
- representation of YAZ (The <literal>Z_RPNQuery</literal> structure).
+ representation of &yaz; (The <literal>Z_RPNQuery</literal> structure).
Since the CCL utility - along with the rest of the software
- produced by EUROPAGATE - is made freely available on a liberal license, it
- is included as a supplement to YAZ.
+ produced by EUROPAGATE - is made freely available on a liberal
+ license, it is included as a supplement to &yaz;.
</para>
<sect3><title>CCL Syntax</title>
| string
-- Qualifiers is a list of strings separated by comma
- Relation ::= '=' | '>=' | '<=' | '<>' | '>' | '<'
+ Relation ::= '=' | '>=' | '<=' | '<>' | '>' | '<'
-- Relational operators. This really doesn't follow the ISO8777
-- standard.
<para>
The OID module provides a higher-level representation of the
- family of object identifers which describe the Z39.50 protocol and its
+ family of object identifiers which describe the Z39.50 protocol and its
related objects. The definition of the module interface is given in
the <filename>oid.h</filename> file.
</para>
The <function>oid_ent_to_oid()</function> function can be used whenever
you need to prepare a PDU containing one or more OIDs. The separation of
- the <literal>protocol</literal> element from the remainer of the
+ the <literal>protocol</literal> element from the remainder of the
OID-description makes it simple to write applications that can
communicate with either Z39.50 or OSI SR-based applications.
</para>
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document: "yaz.xml"
- sgml-local-catalogs: "../../docbook/docbook.cat"
+ sgml-local-catalogs: nil
sgml-namecase-general:t
End:
-->