- Allow keywords to be used unquoted as search terms.
[cql-java-moved-to-github.git] / Changes
1 $Id: Changes,v 1.8 2002-11-14 22:04:16 mike Exp $
2
3 Revision history for "cql-java"
4 See the bottom of this file for a list of things still to do.
5
6 0.3  (IN PROGRESS)
7         - Allow keywords to be used unquoted as search terms.
8         - Add support for serverChoiceRelation (scr).
9         - Add support for prefix-mapping, as in
10                 >dc="http://dublincore.org/ dc.title=fish
11           and
12                 >"http://dublincore.org/ title=fish
13           ### But the XCQL output may need to be changed depending on
14               the result of the ZNG list's deliberations.
15         - Fix the parser to normalise relation modifiers to lower case.
16         - Fix the CQLParser test harness not to emit an extraneous
17           blank line at end of XCQL output.
18         - Fix CQLNode documentation to contain a link to YAZ's
19           documentation of Prefix Query Format (PQF) rather than
20           containing a rather unhelpful chunk of BNF.
21         - Change the test/regression Makefile so that "make clean" now
22           does what "make distclean" used to do - the distinction
23           between them is pointless.
24         - Fix a few typos in the documentation.
25         - Move the README file's old "THINGS TO DO" section to the end
26           of this file, the new "Still to do" section.
27
28 0.2  Wed Nov  6 23:05:54 2002
29         - Fix the order of proximity parameters in accordance with the
30           updated official grammar, which now specifies proximity
31           operators of the form
32                 prox/<relation>/<distance>/<unit>/<ordering>
33           as in ``foo prox/<=/3/sentence bar''.
34         - Make the necessary parts of the CQLNode class and its
35           subclasses public.  This means that client code can now walk
36           through parse-trees and so implement its own back-end
37           (e.g. to build BER-friendly data structures using whatever
38           Z39.50 toolkit is preferred.)
39         - Add the toPQF(Properties p) method to CQLNode and its
40           subclasses.  This produces a query in YAZ-style Prefix Query
41           Format, which can be trivially translated into a Z39.50
42           Type-1 query (see, for example, JZKit's code to do so).
43         - Add etc/pqf.properties to configure the toPQF() method.
44         - Add "-p <props-file>" option to the CQLParser test-harness,
45           indicating that the parsed tree is to be rendered to PQF.
46         - Add PQFTranslationException and its subclasses
47           UnknownQualifierException, UnknownRelationException,
48           UnknownRelationModifierException and
49           UnknownPositionException.
50         - Rename ParameterMissingException to MissingParameterException.
51         - Add javadoc comments for CQLNode and its subclasses.
52
53 0.1  Sun Nov  3 20:58:27 2002
54         - First public release.
55
56 --
57
58 ### Still to do
59         - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER
60           followed by a TT_WORD.  The problem here is that I don't
61           think it's actually possible to fix this without throwing
62           out StreakTokenizer and rolling our own, which we absolutely
63           _don't_ want to do.
64         - Write javadoc comments for CQLRelation and ModifierSet.
65         - Write "overview" file for the javadoc documentation.
66         - Some niceties for the cql-decompiling back-end:
67           * Don't emit redundant parentheses.
68           * Don't put spaces around relations that don't need them.
69         - Consider the utility of yet another back-end that translates
70           a CQLNode tree into JZKit's representation of a Type-1 query
71           tree.  That would be nice so that CQL could become a JZKit
72           query-type; but you could achieve the same effect by
73           generating PQF, and running that through JZKit's existing
74           PQN-to-Type-1 compiler.
75         - Many refinements to the random query generator:
76           * Generate relation modifiers
77           * Proximity support
78           * Don't always generate qualifier/relation for terms
79           * Better selection of qualifier (configurable?)
80           * Better selection of terms (from a dictionary file?)
81           * Introduce wildcard characters into generated terms
82           * Generate multi-word terms
83