be89aecdfb1940643502194d2dc238eacecce7a6
[mono.git] / mcs / class / System.XML / System.Xml.XPath / ChangeLog
1 2004-07-11  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * Expression.cs, Iterator.cs, XPathNavigator.cs :
4           Use IXmlNamespaceResolver for net 2.0. Removed unused code.
5         * XPathEditableNavigator.cs : fixed namespace.
6         * XPathNavigator.cs :
7           Fixed inheritance. Added missing MonoTODO.
8           Removed old .net 1.2 code. 
9
10 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
11
12         * DefaultContext.cs : Globalization.
13         * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
14           in case of empty list. Thus extraneous iteration might happened.
15           Removed unused (and clone unsafe) EnumeratorIterator.
16
17 2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>
18
19         * XPathDocument.s : The previous patch is still incomplete to close.
20
21 2004-06-05  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
24
25 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * Expression.cs : LookupNamespace() only allows already-atomized names.
28         * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and 
29           set_InnerXml().
30
31 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
32
33         * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
34           and ToNavigator().
35         * Expression.cs : In Equality comparison, evaluate XPathNavigator in
36           the same as well as NodeSet. This fixes bug #59134.
37
38 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
39
40         * XPathAtomicValue.cs : missed NET_2_0.
41
42 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
43
44         * IXPathChangeNavigable.cs,
45           IXPathEditable.cs,
46           NodeChangedEventArgs.cs,
47           NodeChangedEventHandler.cs,
48           XPathAtomicValue.cs,
49           XPathChangeNavigator.cs,
50           XPathDocumentNodeChangedAction.cs,
51           XPathEditableNavigator.cs,
52           XPathItem.cs,
53           XmlChangeFilters.cs,
54           XmlNodeChangeType.cs : added NET_2_0 classes.
55         * XPathDocument.cs,
56           XPathNavigator.cs : updated NET_2_0 members.
57
58 2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>
59
60         * Expression.cs : We should not catch all kind of exception. Just
61           throwing any kind of exception would be preferable.
62           Added support for XPathNavigator values.
63
64 2004-05-13  Atsushi Enomoto  <atsushi@ximian.com>
65
66         * DefaultContext.cs : Removed MonoTODO. done.
67         * Expression.cs : handle XPathResultType.Navigator in some places and
68           removed MonoTODO. Mark MonoTODO with explicit comments (though they
69           are mostly pointing out possibilities of optimization).
70           Removed extra check that depended on the old bugs.
71         * XPathResultType.cs : Fixed .Navigator that had the same value as
72           .String.
73
74 2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * Parser.jay : made class internal.
77
78 2004-03-16  Atsushi Enomoto  <atsushi@ximian.com>
79
80         * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the 
81           result of MoveToParent() should be checked.
82
83 2004-02-17  Atsushi Enomoto  <atsushi@ximian.com>
84
85         * XPathNavigator.cs : Only child and attribute axes are allowed for
86           Matches().
87         * Expression.cs : Added IsPositional property.
88         * DefaultContext.cs : Added some overrides.
89
90 2004-02-16  Atsushi Enomoto  <atsushi@ximian.com>
91
92         * XPathNavigator.cs : no, its still not ok. comment out now.
93
94 2004-02-16  Atsushi Enomoto  <atsushi@ximian.com>
95
96         * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
97           to reduce extraneous Matches() trial.
98         * Iterator.cs : Removed unused MergedIterator.
99         * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
100           unnecessarily. (Test with NeedAbsoluteMatching).
101
102 2004-02-10  Atsushi Enomoto  <atsushi@ximian.com>
103
104         * Iterator.cs : Added overriden Count properties for some iterators
105           (this fixes the half of #50678).
106           Added ListIterator class (which can reduce GetEnumerator()). 
107           In some places we can omit clone for Current property, so added 
108           some check logic (It has no effect as yet).
109         * Expression.cs, DefaultContext.cs :
110           use ListIterator instead of EnumeratorIterator.
111
112 2004-02-08  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * DefaultContext.cs, Expression.cs, Iterator.cs :
115           tiny foreach elimination.
116
117 2004-02-05  Atsushi Enomoto  <atsushi@ximian.com>
118
119         * DefaultContext.cs : trivial processing order fix.
120
121 2004-01-27  Atsushi Enomoto  <atsushi@ximian.com>
122
123         * DefaultContext.cs : Avoid exception if possible.
124         * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
125           nav was positioned at the first, it incorrectly points itself.
126           Don't add names to name table while it is useless and expensive.
127
128 2004-01-08  Nick Drochak <ndrochak@ieee.org>
129
130         * Iterator.cs: Removed unused variable.
131         
132 2003-12-18 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
133
134         * Parser.jay : now it supresses error output from jay.
135         * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
136         * Tokenizer.cs : better error message.
137         * XPathDocument.cs : Use XmlValidatingReader to support id() function.
138           (just found MS.NET actually supports it)
139
140 2003-12-16 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
141
142         * Iterator.cs : On its iteration, moving Current must not affect to
143           MoveNext(). To assure this, Current must be a clone of navigator.
144           Removed unused code.
145
146 2003-12-07 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
147
148         * Tokenizer.cs : Removed some TODOs. (trivial ;-)
149         * Iterator.cs : ParensIterator can inherit from BaseIterator.
150           SlashIterator copy .ctor() always failed to clone. This fixes Count.
151
152 2003-12-03 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
153
154         * Expression.cs : XPathSorters.Compare() should compare document
155           position. See last sentence of XSLT 1.0 secion 10.
156
157 2003-12-03 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
158
159         * DefaultContext.cs : Overrode all functions' ToString().
160           XPathFunctions.ToNumber() trims whitespaces at both side.
161           Fixed NullReferenceException in normalize-space().
162         * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
163           attribute or namespace node correctly.
164           SlashIterator.Clone() didn't clone "next node iterator" correctly.
165           EnumeratorIterator.ctor() should raise an error (not at Clone())
166           when the target IEnumerator is not ICloneable.
167
168 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
169
170         * Expression.cs : namespace axis now traversed in reverse order, so it
171           requires sorting.
172         * Iterator.cs : UnionIterator.Clone() was incomplete. 
173           NamespaceItarator() should be reverse order (special handling
174           because of XPathNavigator specification).
175
176 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
177
178         * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
179         * XPathNavigator.cs : ComparePosition() didn't handle attributes 
180           correctly.
181
182 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
183
184         * Parser.jay, Expression.cs, Iterator.cs :
185           Added ExprParens and ParensIterator classes which is used to handle
186           precedence of parenthesized expressions.
187           (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
188
189         * Expression.cs, Iterator.cs :
190           Added RequireSorting property for each Expr and BaseIterator classes.
191           SlashIterator.MoveNext() now considers correct sorting. But
192           considering performance, it separates two logics, sorted and sortless
193           depending on RequireSorting of left iterator and right expression.
194
195         * Iterator.cs :
196           SimpleIterator.ctor() should consider when nav is null.
197           FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
198           not return any nodes.
199           AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
200           positions.
201           AncestorIterator.MoveNext() should skip Root if context node is
202           Root itself.
203           FollowingIterator.MoveNext() should not handle children of context
204           itself.
205           PrecedingIterator.MoveNext() should skip its ancestors.
206           AxisIterator.ReverseAxis should be dependent on its containing iter.
207           UnionIterator.MoveNext() should consider comparison of nodes in 
208           different document. The behavior is implementation dependent.
209           (see XSLT spec 12.1)
210
211 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
212
213         * Added XPathComparer.cs
214         * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base 
215           iterator correctly, and sort results.
216
217 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
218
219         * DefaultContext.cs : Imcomplete fix ;-)
220
221 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
222
223         * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
224           XPathFunctionId.cs : Exposed Id expression.
225         * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
226           will be used to solve evaluation precedence problem).
227
228 2003-11-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
229
230         * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
231           inconsistent order, and 2)may return duplicate result nodes.
232
233 2003-11-06 Ben Maurer  <bmaurer@users.sourceforge.net>
234
235         * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
236         it inherit from the base class. This made b[2] evaluated on 
237         <a /><b /><c /><a /><b /><c /> return the first b node because
238         in the ChildIterator it was the second node and seemed to satsify
239         the predicate.
240
241 2003-11-04  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
242
243         * Iterator.cs : Added bool ReverseAxis property to identify whether
244           the iterator is in reverse order or not.  Added ComparablePosition
245           for correct position comparison for PredicateIterator and reverse-
246           order-axes.  Modified AncestorIterator, AncestorOrSelfIterator,
247           PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
248           return their nodes in document order. This fixes bugzilla #39079.
249
250 2003-10-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
251
252         * Iterator.cs : DescendantIterator and FollowingIterator also should
253           not MoveNext() after they reached to the end.
254
255 2003-10-13  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
256
257         * Iterator.cs : Fixed UnionIterator who ignores document order.
258           Fixed SlashIterator whose MoveNext() should finish at its end.
259
260 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
261
262         * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
263         use NameTable so we dont call strcmp.
264
265 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
266
267         * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
268         not "abc".
269         * Iterator.cs, Expression.cs: All axes are
270         SimpleIterators. SimpleIterators are gaurenteed to give the same
271         XPathNavigator in Current. Make AxisIterator take a
272         SimpleIterator, not any old BaseIterator. Will allow us to make
273         NameTable optimizations and avoid quite a few strcmp's.
274
275 2003-09-24 Ben Maurer  <bmaurer@users.sourceforge.net>
276
277         * Expression.cs: make // work right, must use another slash itr.
278
279 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
280
281         * Expression.cs: cant use $$ before assigned.
282
283 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
284
285         * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
286
287 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
288
289         * Expression.cs: num != double.NaN does not work.
290
291 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
292
293         * Expression.cs: in NodeTypeTest dont throw an exception if it is
294         an unknown node type (allows for better Pattern debugging).
295
296 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
297
298         * DefaultContext.cs: implement sum () and translate ().
299
300 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
301
302         * XPathNavigator.cs: Make methods where you pass in the context,
303         so that we dont have to clone expressions so much.
304
305 2003-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
306
307         * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
308         system functions are actually expressions. Will allow for some
309         nice optimizations.
310
311 2003-08-25 Ben Maurer  <bmaurer@users.sourceforge.net>
312
313         * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
314         improvement in the method (5ms/call -> .7 ms / call) measured by
315         monodoc's rendering of N:System.
316         * Expression.cs: Utility methods to support above.
317
318 2003-08-13 Piers Haken  <piersh@friskit.com>
319         
320         * Iterator.cs:
321                 fix MergedIterator.Clone(), now clones other's iterators
322                 fix DescendantIterator.Clone(), now copies depth
323                 make iterator cloning constructors more type-specific
324
325 2003-08-01 Piers Haken  <piersh@friskit.com>
326
327         * Expression.cs: added NodeNamespaceTest
328         * XPathNavigator.cs: implement Select* with namespaces
329
330 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
331
332         * Iterator.cs: Allow creation of an EnumeratorIterator with an
333         XmlNamespaceManager.
334         
335 2003-07-31 Piers Haken  <piersh@friskit.com>
336
337         * Parser.jay:
338                 Nested predicates (uses ExprFilter instead)
339                 more type safety
340                 make grammar look more like w3c spec
341         * Expression.cs:
342                 remove ExprStep, ExprPredicates
343                 NodeTest is now a NodeSet
344                 more type-safety
345         * Iterator.cs:
346                 PredicateIterator now only takes a single predicate expression
347                 more type-safety
348         * XPathNavigator.cs:
349                 simplified SelectTest
350         * XPathException.cs:
351                 fixed indenting
352
353 2003-07-30  Duncan Mak  <duncan@ximian.com>
354
355         * XPathException.cs
356         (GetObjectData): 
357         (Message): Added.
358
359 2003-07-29 Piers Haken  <piersh@friskit.com>
360
361         * DefaultContext.cs: 'local-name' returns String, not NodeSet!
362
363 2003-07-29 Piers Haken  <piersh@friskit.com>
364
365         * XPathNavigator.cs:
366         * Expression.cs:
367                 add typesafe Evaluate* methods
368
369 2003-07-29 Piers Haken  <piersh@friskit.com>
370
371         * DefaultContext.cs: fix 'substring-after'
372
373 2003-07-29 Piers Haken  <piersh@friskit.com>
374
375         * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
376
377 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
378
379         * Iterator.cs: dont throw exceptions on tostring ()
380         
381 2003-07-28  Piers Haken <piersh@friskit.com>
382
383         * DefaultContext.cs: better handling of null argument lists
384         * XPathNavigator.cs: implement ComparePosition
385
386 2003-07-28  Piers Haken <piersh@friskit.com>
387
388         * Expression.cs: boolean operators: handle comparing .Any better
389
390 2003-07-28  Piers Haken <piersh@friskit.com>
391
392         * DefaultContext.cs: count() should return a double
393         * Expression.cs: better support for handling non-double numbers
394
395 2003-07-28  Piers Haken <piersh@friskit.com>
396
397         * DefaultContext.cs: better function param matching
398
399 2003-07-27  Piers Haken <piersh@friskit.com>
400
401         * Expression.cs:
402         * DefaultContext.cs:
403                 catch FormatExceptions while parsing numbers
404
405 2003-07-27  Piers Haken <piersh@friskit.com>
406
407         * Expression.cs:
408                 fix case sorting order
409                 allow EvaluateNumber to take XPathResultType.Any
410
411 2003-07-27  Piers Haken <piersh@friskit.com>
412
413         * Expression.cs:
414         * Tokenizer.cs:
415                 don't pass null to XmlQualifiedName constructor
416
417 2003-07-27  Piers Haken <piersh@friskit.com>
418
419         * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
420
421 2003-07-27  Piers Haken <piersh@friskit.com>
422
423         * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
424
425 2003-07-26  Piers Haken <piersh@friskit.com>
426
427         * Expression.cs: fix function evaluation with ambigous argument types
428         * XPathNavigator.cs: fix silly null reference bug
429
430 2003-07-26  Piers Haken <piersh@friskit.com>
431
432         * Iterator.cs:
433         * DefaultContext.cs:
434                 ArrayListIterator->EnumeratorIterator
435         * Expression.cs: add sorting support
436
437 2003-07-26  Piers Haken <piersh@friskit.com>
438
439         * Tokenizer.cs:
440         * Parser.jay:
441                 move QName parsing into tokenizer
442         * Expression.cs:
443                 fix evaluating XPathResultType.Any
444                 fix ExprDiv.ToString()
445                 fix NodeTypeTest.ToString() (for namespace axis)
446
447 2003-07-25  Piers Haken <piersh@friskit.com>
448
449         * Expression.cs: return clone of $var evaluation
450
451 2003-07-26  Piers Haken <piersh@friskit.com>
452
453         * Iterator.cs: add setter for NamespaceManager
454         * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
455         * Expression.cs: fix func/var exception strings
456
457 2003-07-25  Piers Haken <piersh@friskit.com>
458
459         * Expression.cs: implement ExprFilter.Evaluate
460
461 2003-07-25  Piers Haken <piersh@friskit.com>
462
463         * Expression.cs: implement ExprVariable.Evaluate
464
465 2003-07-24  Ben Maurer <bmaurer@users.sourceforge.net>
466         
467         * DefaultContext.cs: implement lang ()
468
469 2003-07-24  Piers Haken <piersh@friskit.com>
470
471         * Parser.jay:
472         * Expression.cs:
473                 allow ExprUNION to take non-nodeset (eg, $var) arguments
474
475 2003-07-24  Piers Haken <piersh@friskit.com>
476
477         * Tokenizer.cs: fix variable references
478         * Parser.jay:
479         * Expression.cs:
480         * XPathNavigator.cs:
481                 use XmlQualifiedName
482
483 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
484
485         * XPathDocument.cs : removed Driver class and restored authors' name
486           (though it is completely rewrote).
487
488 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
489
490         * XPathDocument.cs : Replaced existing stub class with real
491           XPathDocument implementation.
492
493 2003-04-28  Piers Haken  <piersh@friskit.com>
494
495         * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
496
497 2003-03-07  Piers Haken  <piersh@friskit.com>
498
499         * Tokenizer.cs: allow '.'s in NCNames
500
501 2003-03-07  Piers Haken  <piersh@friskit.com>
502
503         * Exression.cs:
504         * DefaultContext.cs:
505                 fixed function argument resolution
506
507 2003-02-09  Piers Haken  <piersh@friskit.com>
508
509         * XPathNavigator.cs:
510         * Iterator.cs:
511         * Expression.cs: fix namespace handling
512
513 2003-01-04  Piers Haken  <piersh@friskit.com>
514
515         * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
516
517 2003-02-02  Piers Haken <piersh@friskit.com>
518
519         * Parser.jay: add token names
520         * Tokenizer.cs: fix NCName tokenization
521
522 2003-01-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
523
524         * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
525                 (It should be a temporary fix.)
526
527 2002-09-22  Nick Drochak  <ndrochak@gol.com>
528
529         * Parser.cs: Remove extraneous "using" that was stopping the build.
530
531 2002-09-21  Piers Haken <piersh@friskit.com>
532
533         * XPathException: implementation
534         * Expression.cs:
535         * Iterator.cs:
536         * Parser.jay:
537         * Tokenizer.jay:
538         * XPathNavigator.jay:
539                 use XPathException.
540
541 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
542
543         * Parser.cs: commented out non-existent namespace (it compiles fine
544         with mcs because of a bug that is already on bugzilla).
545
546 2002-09-12  Piers Haken <piersh@friskit.com>
547
548         * Tokenizer.cs: fix parsing numbers that start with '.'
549         * DefaultContext.cs: use MS-compatible formatting of doubles
550
551 2002-09-12  Piers Haken <piersh@friskit.com>
552
553         * Iterator.cs: added NullIterator to handle unspecified contexts
554         * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
555         * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
556
557 2002-09-12  Piers Haken <piersh@friskit.com>
558
559         * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
560         * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
561         * DefaultContext.cs: fix id() return type.
562
563 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
564
565         * DefaultContext.cs: fixed bug #28840.
566         * Expression.cs: added FIXME.
567
568 2002-08-17  Jason Diamond <jason@injektilo.org>
569
570         * XPathNavigator.cs: Fixed matching on patterns that look like
571         absolute XPath expressions.
572
573 2002-08-17  Jason Diamond <jason@injektilo.org>
574
575         * XPathNavigator.cs: Added naive (but working) implementation of
576          Matches.
577
578 2002-07-31  Piers Haken <piersh@friskit.com>
579
580         * XPathDocument.cs: simple, XmlDocument-based implementation
581
582 2002-07-25  Piers Haken <piersh@friskit.com>
583
584         * DefaultContext.cs: implement XPathFunctionName 'name()' function.
585
586 2002-07-17  Piers Haken <piersh@friskit.com>
587         
588         * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
589         * Parser.jay: remove redundant production
590         * Expression.cs: add switches for debugging under VS.NET
591
592 2002-07-17  Piers Haken <piersh@friskit.com>
593
594         * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
595
596 2002-07-15  Piers Haken <piersh@friskit.com>
597
598         * Iterator.cs:
599                 - rename UnionIterator to MergedIterator, 
600                 - create new UnionIterator to implment uniqueness for '|' operator
601                 - fix position bug in ArrayListIterator.Clone()
602         * Expression.cs: use new UnionIterator constructor syntax
603
604 2002-07-12  Piers Haken <piersh@friskit.com>
605
606         * Iterator.cs: PredicateIterator: handle numeric predicates
607         * Parser.jay: add some debugging support: yyparseDebug
608         * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
609
610 2002-06-29  Piers Haken <piersh@friskit.com>
611
612         * Expression.cs:
613                 - remove dead code
614                 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
615                 - remove NodeTestTypes enum
616                 - remove NodeTestTypeAny (functionality provided by base now)
617                 - fix ExprStep to handle wildcard QNames
618         * Parser.jay:
619                 - moved to Mono.Xml.XPath namespace
620                 - use XPathResultType
621                 - handle wildcard QNames
622                 
623         * Tokenizer.cs: moved to Mono.Xml.XPath namespace
624         
625         * XPathNavigator.cs: implement
626                 - IsDescendant
627                 - SelectAncestors
628                 - SelectDescendants
629                 - SelectChildren
630                 
631         * XPathResultType.cs: fix enum values
632         
633 2002-06-24  Jason Diamond  <jason@injektilo.org>
634
635         * XPathScanner.cs: Removed.
636
637 2002-06-24  Dick Porter <dick@ximian.com>
638
639         * XmlCaseOrder.cs: Fix namespace
640
641 2002-06-23  Piers Haken <piersh@friskit.com>
642
643         * DefaultContext.cs: implemented XPathFUnctionId
644         * Iterator.cs: new ArrayListIterator for id() support
645
646 2002-06-23  Piers Haken <piersh@friskit.com>
647
648         * XPathNavigator.cs: implement:
649                 - Compile
650                 - Evaluate
651                 - Clone
652                 - Select
653                 - ToString
654                 - some forwarding methods
655
656         * XPathNodeIterator: implement caching Count
657
658         * Tokenizer.cs: new XPath tokenizer
659         * Parser.jay: new XPath grammar
660         * Parser.cs: new precompiled XPath grammar
661         * Expression.cs: new XPath expression objects
662         * Iterator.cs: new XPath result/context objects
663         * DefaultContext.cs: new XPath function binding context
664
665 2002-05-08  Tim Coleman <tim@timcoleman.com>
666         * XPathDocument.cs:
667         * XPathException.cs: New stub files added.
668
669 2002-04-12  Duncan Mak  <duncan@ximian.com>
670
671         * XmlCaseOrder.cs: Moved to here from System.Xml.
672
673 2002-03-26  Jason Diamond  <jason@injektilo.org>
674
675         * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated 
676         steps. Both absolution and relative abbreviated location paths.
677
678 2002-03-25  Jason Diamond  <jason@injektilo.org>
679
680         * XPathScanner.cs: Added new file. This class is supposed to be internal
681         but that would make it impossible to test.
682
683 2002-03-08  Duncan Mak  <duncan@ximian.com>
684
685         * XPathNamespaceScope.cs:
686         * XPathNodeType.cs:
687         * XPathResultType.cs:
688         * XmlDataType.cs:
689         * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
690         implementation. XPathResultType is interesting as EnumCheck does
691         not show the Navigator element, but shows the String element twice.
692
693 2002-03-08  Jason Diamond  <jason@injektilo.org>
694
695         * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
696
697 2002-03-06  Jason Diamond  <jason@injektilo.org>
698
699         * ChangeLog: Added to this directory.
700
701         * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
702         XPathResultType.cs: New files.
703
704         * XPathNavigator.cs: Stubbed out all properties and methods.