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