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