1 $Id: Changes,v 1.17 2002-11-20 09:49:28 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 the XCQL output to include the nasty (but official)
13 <leftOperand> and <rightOperand> wrapper elements.
14 - Change the XCQL output to use the nasty (but official)
15 rendition of prefix-mapping: a <prefixes> element,
16 containing one of more <prefix>es may appear at the top
17 of either a <searchClause> or a <triple>.
18 - Change build process so that javadoc documentation is built
19 by "make" in the "docs" directory.
20 - Write javadoc comments for CQLRelation and ModifierSet.
21 - Other improvements to javadoc comments (e.g. describe the
22 `config' parameter to the toPQF() method.)
23 - Include test/regression/xmlpp.pl in the distribution: this
24 is now used for testing whether a CQL compiler produces
25 _equivalent_ XCQL to the what's in the regression test,
26 rather than requiring byte-identical output.
27 - Sort out the licence: I've settled on the LGPL.
28 - Remove the redundant and misleading etc/Grammar file.
29 - Fix up various Maintenance Agency web addresses that have
30 moved in the great ZING-release shake-up.
32 0.3 Fri Nov 15 12:04:04 2002
33 - Allow keywords to be used unquoted as search terms.
34 - Add support for serverChoiceRelation (scr).
35 - Add support for prefix-mapping, as in
36 >dc="http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish
38 >"http://www.loc.gov/zing/cql/dc-indexes/" dc.title=fish
39 The XCQL generated corresponds to Adam's suggested format
40 rather than Rob's, not so much because I prefer it (although
41 I do) as because it's what fell out when I just Coded What
42 Comes Natur'ly. That may need to change, depending on the
43 result of the ZNG list's deliberations.
44 - Fix the parser to normalise relation modifiers to lower case.
45 - Fix the CQLParser test harness not to emit an extraneous
46 blank line at end of XCQL output.
47 - Fix CQLNode documentation to contain a link to YAZ's
48 documentation of Prefix Query Format (PQF) rather than
49 containing a rather unhelpful chunk of BNF.
50 - Change the test/regression Makefile so that "make clean" now
51 does what "make distclean" used to do - the distinction
52 between them is pointless.
53 - Fix a few typos in the documentation.
54 - Move the README file's old "THINGS TO DO" section to the end
55 of this file, the new "Still to do" section.
57 0.2 Wed Nov 6 23:05:54 2002
58 - Fix the order of proximity parameters in accordance with the
59 updated official grammar, which now specifies proximity
61 prox/<relation>/<distance>/<unit>/<ordering>
62 as in ``foo prox/<=/3/sentence bar''.
63 - Make the necessary parts of the CQLNode class and its
64 subclasses public. This means that client code can now walk
65 through parse-trees and so implement its own back-end
66 (e.g. to build BER-friendly data structures using whatever
67 Z39.50 toolkit is preferred.)
68 - Add the toPQF(Properties p) method to CQLNode and its
69 subclasses. This produces a query in YAZ-style Prefix Query
70 Format, which can be trivially translated into a Z39.50
71 Type-1 query (see, for example, JZKit's code to do so).
72 - Add etc/pqf.properties to configure the toPQF() method.
73 - Add "-p <props-file>" option to the CQLParser test-harness,
74 indicating that the parsed tree is to be rendered to PQF.
75 - Add PQFTranslationException and its subclasses
76 UnknownQualifierException, UnknownRelationException,
77 UnknownRelationModifierException and
78 UnknownPositionException.
79 - Rename ParameterMissingException to MissingParameterException.
80 - Add javadoc comments for CQLNode and its subclasses.
82 0.1 Sun Nov 3 20:58:27 2002
83 - First public release.
88 - Fix the bug where "9x" is parsed as two tokens, a TT_NUMBER
89 followed by a TT_WORD. The problem here is that I don't
90 think it's actually possible to fix this without throwing
91 out StreamTokenizer and rolling our own, which we absolutely
93 - Find out what the ZNG group finally settled on as the
94 correct XCQL representation of prefix-mapping, and tweak my
95 toXCQL() output to match that.
96 - Add srw.resultSet support to the toPFQ() method.
97 - Write "overview" file for the javadoc documentation.
98 - Some niceties for the cql-decompiling back-end:
99 * Don't emit redundant parentheses.
100 * Don't put spaces around relations that don't need them.
101 - Consider the utility of yet another back-end that translates
102 a CQLNode tree into JZKit's representation of a Type-1 query
103 tree. That would be nice so that CQL could become a JZKit
104 query-type; but you could achieve the same effect by
105 generating PQF, and running that through JZKit's existing
106 PQN-to-Type-1 compiler.
107 - Many refinements to the random query generator:
108 * Generate relation modifiers
110 * Don't always generate qualifier/relation for terms
111 * Better selection of qualifier (configurable?)
112 * Better selection of terms (from a dictionary file?)
113 * Introduce wildcard characters into generated terms
114 * Generate multi-word terms
115 * Generate prefix-mappings