2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
[mono.git] / mcs / class / System.XML / System.Xml.XPath / ChangeLog
1 2003-11-04  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
2
3         * Iterator.cs : Added bool ReverseAxis property to identify whether
4           the iterator is in reverse order or not.  Added ComparablePosition
5           for correct position comparison for PredicateIterator and reverse-
6           order-axes.  Modified AncestorIterator, AncestorOrSelfIterator,
7           PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
8           return their nodes in document order. This fixes bugzilla #39079.
9
10 2003-10-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
11
12         * Iterator.cs : DescendantIterator and FollowingIterator also should
13           not MoveNext() after they reached to the end.
14
15 2003-10-13  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
16
17         * Iterator.cs : Fixed UnionIterator who ignores document order.
18           Fixed SlashIterator whose MoveNext() should finish at its end.
19
20 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
21
22         * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
23         use NameTable so we dont call strcmp.
24
25 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
26
27         * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
28         not "abc".
29         * Iterator.cs, Expression.cs: All axes are
30         SimpleIterators. SimpleIterators are gaurenteed to give the same
31         XPathNavigator in Current. Make AxisIterator take a
32         SimpleIterator, not any old BaseIterator. Will allow us to make
33         NameTable optimizations and avoid quite a few strcmp's.
34
35 2003-09-24 Ben Maurer  <bmaurer@users.sourceforge.net>
36
37         * Expression.cs: make // work right, must use another slash itr.
38
39 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
40
41         * Expression.cs: cant use $$ before assigned.
42
43 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
44
45         * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
46
47 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
48
49         * Expression.cs: num != double.NaN does not work.
50
51 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
52
53         * Expression.cs: in NodeTypeTest dont throw an exception if it is
54         an unknown node type (allows for better Pattern debugging).
55
56 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
57
58         * DefaultContext.cs: implement sum () and translate ().
59
60 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
61
62         * XPathNavigator.cs: Make methods where you pass in the context,
63         so that we dont have to clone expressions so much.
64
65 2003-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
66
67         * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
68         system functions are actually expressions. Will allow for some
69         nice optimizations.
70
71 2003-08-25 Ben Maurer  <bmaurer@users.sourceforge.net>
72
73         * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
74         improvement in the method (5ms/call -> .7 ms / call) measured by
75         monodoc's rendering of N:System.
76         * Expression.cs: Utility methods to support above.
77
78 2003-08-13 Piers Haken  <piersh@friskit.com>
79         
80         * Iterator.cs:
81                 fix MergedIterator.Clone(), now clones other's iterators
82                 fix DescendantIterator.Clone(), now copies depth
83                 make iterator cloning constructors more type-specific
84
85 2003-08-01 Piers Haken  <piersh@friskit.com>
86
87         * Expression.cs: added NodeNamespaceTest
88         * XPathNavigator.cs: implement Select* with namespaces
89
90 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
91
92         * Iterator.cs: Allow creation of an EnumeratorIterator with an
93         XmlNamespaceManager.
94         
95 2003-07-31 Piers Haken  <piersh@friskit.com>
96
97         * Parser.jay:
98                 Nested predicates (uses ExprFilter instead)
99                 more type safety
100                 make grammar look more like w3c spec
101         * Expression.cs:
102                 remove ExprStep, ExprPredicates
103                 NodeTest is now a NodeSet
104                 more type-safety
105         * Iterator.cs:
106                 PredicateIterator now only takes a single predicate expression
107                 more type-safety
108         * XPathNavigator.cs:
109                 simplified SelectTest
110         * XPathException.cs:
111                 fixed indenting
112
113 2003-07-30  Duncan Mak  <duncan@ximian.com>
114
115         * XPathException.cs
116         (GetObjectData): 
117         (Message): Added.
118
119 2003-07-29 Piers Haken  <piersh@friskit.com>
120
121         * DefaultContext.cs: 'local-name' returns String, not NodeSet!
122
123 2003-07-29 Piers Haken  <piersh@friskit.com>
124
125         * XPathNavigator.cs:
126         * Expression.cs:
127                 add typesafe Evaluate* methods
128
129 2003-07-29 Piers Haken  <piersh@friskit.com>
130
131         * DefaultContext.cs: fix 'substring-after'
132
133 2003-07-29 Piers Haken  <piersh@friskit.com>
134
135         * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
136
137 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
138
139         * Iterator.cs: dont throw exceptions on tostring ()
140         
141 2003-07-28  Piers Haken <piersh@friskit.com>
142
143         * DefaultContext.cs: better handling of null argument lists
144         * XPathNavigator.cs: implement ComparePosition
145
146 2003-07-28  Piers Haken <piersh@friskit.com>
147
148         * Expression.cs: boolean operators: handle comparing .Any better
149
150 2003-07-28  Piers Haken <piersh@friskit.com>
151
152         * DefaultContext.cs: count() should return a double
153         * Expression.cs: better support for handling non-double numbers
154
155 2003-07-28  Piers Haken <piersh@friskit.com>
156
157         * DefaultContext.cs: better function param matching
158
159 2003-07-27  Piers Haken <piersh@friskit.com>
160
161         * Expression.cs:
162         * DefaultContext.cs:
163                 catch FormatExceptions while parsing numbers
164
165 2003-07-27  Piers Haken <piersh@friskit.com>
166
167         * Expression.cs:
168                 fix case sorting order
169                 allow EvaluateNumber to take XPathResultType.Any
170
171 2003-07-27  Piers Haken <piersh@friskit.com>
172
173         * Expression.cs:
174         * Tokenizer.cs:
175                 don't pass null to XmlQualifiedName constructor
176
177 2003-07-27  Piers Haken <piersh@friskit.com>
178
179         * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
180
181 2003-07-27  Piers Haken <piersh@friskit.com>
182
183         * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
184
185 2003-07-26  Piers Haken <piersh@friskit.com>
186
187         * Expression.cs: fix function evaluation with ambigous argument types
188         * XPathNavigator.cs: fix silly null reference bug
189
190 2003-07-26  Piers Haken <piersh@friskit.com>
191
192         * Iterator.cs:
193         * DefaultContext.cs:
194                 ArrayListIterator->EnumeratorIterator
195         * Expression.cs: add sorting support
196
197 2003-07-26  Piers Haken <piersh@friskit.com>
198
199         * Tokenizer.cs:
200         * Parser.jay:
201                 move QName parsing into tokenizer
202         * Expression.cs:
203                 fix evaluating XPathResultType.Any
204                 fix ExprDiv.ToString()
205                 fix NodeTypeTest.ToString() (for namespace axis)
206
207 2003-07-25  Piers Haken <piersh@friskit.com>
208
209         * Expression.cs: return clone of $var evaluation
210
211 2003-07-26  Piers Haken <piersh@friskit.com>
212
213         * Iterator.cs: add setter for NamespaceManager
214         * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
215         * Expression.cs: fix func/var exception strings
216
217 2003-07-25  Piers Haken <piersh@friskit.com>
218
219         * Expression.cs: implement ExprFilter.Evaluate
220
221 2003-07-25  Piers Haken <piersh@friskit.com>
222
223         * Expression.cs: implement ExprVariable.Evaluate
224
225 2003-07-24  Ben Maurer <bmaurer@users.sourceforge.net>
226         
227         * DefaultContext.cs: implement lang ()
228
229 2003-07-24  Piers Haken <piersh@friskit.com>
230
231         * Parser.jay:
232         * Expression.cs:
233                 allow ExprUNION to take non-nodeset (eg, $var) arguments
234
235 2003-07-24  Piers Haken <piersh@friskit.com>
236
237         * Tokenizer.cs: fix variable references
238         * Parser.jay:
239         * Expression.cs:
240         * XPathNavigator.cs:
241                 use XmlQualifiedName
242
243 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
244
245         * XPathDocument.cs : removed Driver class and restored authors' name
246           (though it is completely rewrote).
247
248 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
249
250         * XPathDocument.cs : Replaced existing stub class with real
251           XPathDocument implementation.
252
253 2003-04-28  Piers Haken  <piersh@friskit.com>
254
255         * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
256
257 2003-03-07  Piers Haken  <piersh@friskit.com>
258
259         * Tokenizer.cs: allow '.'s in NCNames
260
261 2003-03-07  Piers Haken  <piersh@friskit.com>
262
263         * Exression.cs:
264         * DefaultContext.cs:
265                 fixed function argument resolution
266
267 2003-02-09  Piers Haken  <piersh@friskit.com>
268
269         * XPathNavigator.cs:
270         * Iterator.cs:
271         * Expression.cs: fix namespace handling
272
273 2003-01-04  Piers Haken  <piersh@friskit.com>
274
275         * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
276
277 2003-02-02  Piers Haken <piersh@friskit.com>
278
279         * Parser.jay: add token names
280         * Tokenizer.cs: fix NCName tokenization
281
282 2003-01-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
283
284         * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
285                 (It should be a temporary fix.)
286
287 2002-09-22  Nick Drochak  <ndrochak@gol.com>
288
289         * Parser.cs: Remove extraneous "using" that was stopping the build.
290
291 2002-09-21  Piers Haken <piersh@friskit.com>
292
293         * XPathException: implementation
294         * Expression.cs:
295         * Iterator.cs:
296         * Parser.jay:
297         * Tokenizer.jay:
298         * XPathNavigator.jay:
299                 use XPathException.
300
301 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
302
303         * Parser.cs: commented out non-existent namespace (it compiles fine
304         with mcs because of a bug that is already on bugzilla).
305
306 2002-09-12  Piers Haken <piersh@friskit.com>
307
308         * Tokenizer.cs: fix parsing numbers that start with '.'
309         * DefaultContext.cs: use MS-compatible formatting of doubles
310
311 2002-09-12  Piers Haken <piersh@friskit.com>
312
313         * Iterator.cs: added NullIterator to handle unspecified contexts
314         * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
315         * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
316
317 2002-09-12  Piers Haken <piersh@friskit.com>
318
319         * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
320         * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
321         * DefaultContext.cs: fix id() return type.
322
323 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
324
325         * DefaultContext.cs: fixed bug #28840.
326         * Expression.cs: added FIXME.
327
328 2002-08-17  Jason Diamond <jason@injektilo.org>
329
330         * XPathNavigator.cs: Fixed matching on patterns that look like
331         absolute XPath expressions.
332
333 2002-08-17  Jason Diamond <jason@injektilo.org>
334
335         * XPathNavigator.cs: Added naive (but working) implementation of
336          Matches.
337
338 2002-07-31  Piers Haken <piersh@friskit.com>
339
340         * XPathDocument.cs: simple, XmlDocument-based implementation
341
342 2002-07-25  Piers Haken <piersh@friskit.com>
343
344         * DefaultContext.cs: implement XPathFunctionName 'name()' function.
345
346 2002-07-17  Piers Haken <piersh@friskit.com>
347         
348         * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
349         * Parser.jay: remove redundant production
350         * Expression.cs: add switches for debugging under VS.NET
351
352 2002-07-17  Piers Haken <piersh@friskit.com>
353
354         * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
355
356 2002-07-15  Piers Haken <piersh@friskit.com>
357
358         * Iterator.cs:
359                 - rename UnionIterator to MergedIterator, 
360                 - create new UnionIterator to implment uniqueness for '|' operator
361                 - fix position bug in ArrayListIterator.Clone()
362         * Expression.cs: use new UnionIterator constructor syntax
363
364 2002-07-12  Piers Haken <piersh@friskit.com>
365
366         * Iterator.cs: PredicateIterator: handle numeric predicates
367         * Parser.jay: add some debugging support: yyparseDebug
368         * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
369
370 2002-06-29  Piers Haken <piersh@friskit.com>
371
372         * Expression.cs:
373                 - remove dead code
374                 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
375                 - remove NodeTestTypes enum
376                 - remove NodeTestTypeAny (functionality provided by base now)
377                 - fix ExprStep to handle wildcard QNames
378         * Parser.jay:
379                 - moved to Mono.Xml.XPath namespace
380                 - use XPathResultType
381                 - handle wildcard QNames
382                 
383         * Tokenizer.cs: moved to Mono.Xml.XPath namespace
384         
385         * XPathNavigator.cs: implement
386                 - IsDescendant
387                 - SelectAncestors
388                 - SelectDescendants
389                 - SelectChildren
390                 
391         * XPathResultType.cs: fix enum values
392         
393 2002-06-24  Jason Diamond  <jason@injektilo.org>
394
395         * XPathScanner.cs: Removed.
396
397 2002-06-24  Dick Porter <dick@ximian.com>
398
399         * XmlCaseOrder.cs: Fix namespace
400
401 2002-06-23  Piers Haken <piersh@friskit.com>
402
403         * DefaultContext.cs: implemented XPathFUnctionId
404         * Iterator.cs: new ArrayListIterator for id() support
405
406 2002-06-23  Piers Haken <piersh@friskit.com>
407
408         * XPathNavigator.cs: implement:
409                 - Compile
410                 - Evaluate
411                 - Clone
412                 - Select
413                 - ToString
414                 - some forwarding methods
415
416         * XPathNodeIterator: implement caching Count
417
418         * Tokenizer.cs: new XPath tokenizer
419         * Parser.jay: new XPath grammar
420         * Parser.cs: new precompiled XPath grammar
421         * Expression.cs: new XPath expression objects
422         * Iterator.cs: new XPath result/context objects
423         * DefaultContext.cs: new XPath function binding context
424
425 2002-05-08  Tim Coleman <tim@timcoleman.com>
426         * XPathDocument.cs:
427         * XPathException.cs: New stub files added.
428
429 2002-04-12  Duncan Mak  <duncan@ximian.com>
430
431         * XmlCaseOrder.cs: Moved to here from System.Xml.
432
433 2002-03-26  Jason Diamond  <jason@injektilo.org>
434
435         * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated 
436         steps. Both absolution and relative abbreviated location paths.
437
438 2002-03-25  Jason Diamond  <jason@injektilo.org>
439
440         * XPathScanner.cs: Added new file. This class is supposed to be internal
441         but that would make it impossible to test.
442
443 2002-03-08  Duncan Mak  <duncan@ximian.com>
444
445         * XPathNamespaceScope.cs:
446         * XPathNodeType.cs:
447         * XPathResultType.cs:
448         * XmlDataType.cs:
449         * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
450         implementation. XPathResultType is interesting as EnumCheck does
451         not show the Navigator element, but shows the String element twice.
452
453 2002-03-08  Jason Diamond  <jason@injektilo.org>
454
455         * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
456
457 2002-03-06  Jason Diamond  <jason@injektilo.org>
458
459         * ChangeLog: Added to this directory.
460
461         * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
462         XPathResultType.cs: New files.
463
464         * XPathNavigator.cs: Stubbed out all properties and methods.