1 $Id: Changes,v 1.14 2002-11-18 14:41:02 mike Exp $
3 Revision history for "cql-java"
4 See the bottom of this file for a list of things still to do.
7 - Add support for the new "phonetic" relation modifier,
8 including its mapping in "etc/pqf.properties".
9 - Make prefix-maps bind loosely, so that ``>dc=x a and b''
10 applies the dc=x binding to both the ``a'' and ``b''
12 - Change build process so that javadoc documentation is built
13 by "make" in the "docs" directory.
14 - Write javadoc comments for CQLRelation and ModifierSet.
15 - Other improvements to javadoc comments (e.g. describe the
16 `config' parameter to the toPQF() method.)
17 - Sort out the licence: I've settled on the LGPL.
19 0.3 Fri Nov 15 12:04:04 2002
20 - Allow keywords to be used unquoted as search terms.
21 - Add support for serverChoiceRelation (scr).
22 - Add support for prefix-mapping, as in
23 >dc="http://dublincore.org/ dc.title=fish
25 >"http://dublincore.org/ title=fish
26 The XCQL generated corresponds to Adam's suggested format
27 rather than Rob's, not so much because I prefer it (although
28 I do) as because it's what fell out when I just Coded What
29 Comes Natur'ly. That may need to change, depending on the
30 result of the ZNG list's deliberations.
31 - Fix the parser to normalise relation modifiers to lower case.
32 - Fix the CQLParser test harness not to emit an extraneous
33 blank line at end of XCQL output.
34 - Fix CQLNode documentation to contain a link to YAZ's
35 documentation of Prefix Query Format (PQF) rather than
36 containing a rather unhelpful chunk of BNF.
37 - Change the test/regression Makefile so that "make clean" now
38 does what "make distclean" used to do - the distinction
39 between them is pointless.
40 - Fix a few typos in the documentation.
41 - Move the README file's old "THINGS TO DO" section to the end
42 of this file, the new "Still to do" section.
44 0.2 Wed Nov 6 23:05:54 2002
45 - Fix the order of proximity parameters in accordance with the
46 updated official grammar, which now specifies proximity
48 prox/<relation>/<distance>/<unit>/<ordering>
49 as in ``foo prox/<=/3/sentence bar''.
50 - Make the necessary parts of the CQLNode class and its
51 subclasses public. This means that client code can now walk
52 through parse-trees and so implement its own back-end
53 (e.g. to build BER-friendly data structures using whatever
54 Z39.50 toolkit is preferred.)
55 - Add the toPQF(Properties p) method to CQLNode and its
56 subclasses. This produces a query in YAZ-style Prefix Query
57 Format, which can be trivially translated into a Z39.50
58 Type-1 query (see, for example, JZKit's code to do so).
59 - Add etc/pqf.properties to configure the toPQF() method.
60 - Add "-p <props-file>" option to the CQLParser test-harness,
61 indicating that the parsed tree is to be rendered to PQF.
62 - Add PQFTranslationException and its subclasses
63 UnknownQualifierException, UnknownRelationException,
64 UnknownRelationModifierException and
65 UnknownPositionException.
66 - Rename ParameterMissingException to MissingParameterException.
67 - Add javadoc comments for CQLNode and its subclasses.
69 0.1 Sun Nov 3 20:58:27 2002
70 - First public release.
75 - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER
76 followed by a TT_WORD. The problem here is that I don't
77 think it's actually possible to fix this without throwing
78 out StreamTokenizer and rolling our own, which we absolutely
80 - Find out what the ZNG group finally settled on as the
81 correct XCQL representation of prefix-mapping, and tweak my
82 toXCQL() output to match that.
83 - Add srw.resultSet support to the toPFQ() method.
84 - Write "overview" file for the javadoc documentation.
85 - Some niceties for the cql-decompiling back-end:
86 * Don't emit redundant parentheses.
87 * Don't put spaces around relations that don't need them.
88 - Consider the utility of yet another back-end that translates
89 a CQLNode tree into JZKit's representation of a Type-1 query
90 tree. That would be nice so that CQL could become a JZKit
91 query-type; but you could achieve the same effect by
92 generating PQF, and running that through JZKit's existing
93 PQN-to-Type-1 compiler.
94 - Many refinements to the random query generator:
95 * Generate relation modifiers
97 * Don't always generate qualifier/relation for terms
98 * Better selection of qualifier (configurable?)
99 * Better selection of terms (from a dictionary file?)
100 * Introduce wildcard characters into generated terms
101 * Generate multi-word terms