TARGET_JVM: refer nunit from mono tree
[mono.git] / mcs / class / System.XML / System.Xml.XPath / ChangeLog
1 2006-03-15  Atsushi Enomoto <atsushi@ximian.com>
2
3         * Expression.cs : extracted XPathSortElement, XPathSorters
4           and XPathSorter from CompiledExpression, and split
5           XPathSorters.Sort() into some methods. Those changes are to make
6           them reusable in XslSortEvaluator.
7
8 2006-02-26  Atsushi Enomoto <atsushi@ximian.com>
9
10         * Iterator.cs : seems like MS XPathNodeIterator.MoveNext() itself does
11           not handle XsltContext.PreserveWhitespace() unlike ours. It results
12           in not a small performance improvement. (just removed it since it
13           didn't cause any errors in XSLT standalone tests.)
14
15 2006-02-21  Atsushi Enomoto <atsushi@ximian.com>
16
17         * Iterator.cs : removed extra field from AxisIterator.
18
19 2006-02-14  Atsushi Enomoto <atsushi@ximian.com>
20
21         * Iterator.cs : tiny message fix (thanks to alp).
22
23 2006-01-25  Atsushi Enomoto <atsushi@ximian.com>
24
25         * XPathNavigator.cs : fixed IsNode signature found by updated
26           corcompare.
27
28 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
29
30         * Iterator.cs : Nowadays removal of cloning of the argument list
31           in ListIterator is safe. Thanks to Joshua Tauberer for the hint.
32
33 2006-01-11  Atsushi Enomoto <atsushi@ximian.com>
34
35         * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the
36           error message is for blaming custom XPathNavigator
37           implementation, not us ;-) (see also #77194)
38
39 2006-01-06  Atsushi Enomoto <atsushi@ximian.com>
40
41         * XPathNavigator.cs : use WriteNode(XPathNavigator, bool)
42           rather than WriteNode(XmlWriter, bool) in WriteSubtree().
43
44 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
45
46         * XPathNavigator.cs : Added MonoTODO to CreateAttributes(). Removed
47           MonoTODO from ReadSubtree().
48
49 2005-12-14  Atsushi Enomoto <atsushi@ximian.com>
50
51         * XPathNavigator.cs : UnderlyingObject returns null by default.
52
53 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
54
55         * XPathNavigator.cs : Reimplemented MoveToFollowing() to avoid
56           inefficient MoveToDescendant() and to match .NET 2.0 behavior.
57
58 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
59
60         * XPathNavigator.cs : ReplaceSelf() should allow document fragment.
61           Moved implementation to XPathEditableDocument.
62
63 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
64
65         * XPathNavigator.cs : PrependChild() should use AppendChild() when
66           there is no child.
67
68 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
69
70         * XPathNavigator.cs : InsertAfter() should raise an error before
71           MoveToNext() when current node is either attribute or namespace.
72
73 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
74
75         * XPathNavigator.cs : InsertAfter() should append children after it
76           once moved to parent. This method shoulr raise an error when it is
77           placed on Root.
78
79 2005-12-13  Atsushi Enomoto <atsushi@ximian.com>
80
81         * XPathNavigator.cs : (CreateFragmentReader) return XmlReader that
82           considers current namespace contexts.
83
84 2005-12-12  Atsushi Enomoto <atsushi@ximian.com>
85
86         * XPathNavigator.cs : removed some MonoTODOs.
87
88 2005-12-08  Atsushi Enomoto <atsushi@ximian.com>
89
90         * XPathDocument.cs : garbage cleanup.
91
92 2005-11-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
93
94         * Iterator.cs: fixed UnionIterator.SetCurrent method, the
95         navigators may be from different xml files.
96
97 2005-11-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
98
99         * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
100         navigators may be from different xml files.
101
102 2005-11-10  Atsushi Enomoto <atsushi@ximian.com>
103
104         * XPathNavigator.cs, XPathNodeIterator.cs :
105           [DebuggerDisplay] are not worthy of existing.
106
107 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
108
109         * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
110           values are fixed. However, they totally do not make sense since
111           there is no DebuggerDisplayProxy type in our impl.
112
113 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
114
115         * XPathException.cs : Message property is back in 2.0 RTM.
116
117 2005-11-07  Atsushi Enomoto <atsushi@ximian.com>
118
119         * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
120         * XPathNavigator.cs : [DebuggerDisplay] as well.
121           SelectSingleNode() and AppendChildElement() are now virtual.
122
123 2005-10-23  Atsushi Enomoto <atsushi@ximian.com>
124
125         * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
126           MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
127           This fixes XPathEditableDocument.MoveToFirst().
128
129 2004-10-15  Atsushi Enomoto  <atsushi@ximian.com>
130
131         * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
132           likely to be implemented, thus MonoTODO.
133
134 2005-10-08  Gert Driesen  <drieseng@users.sourceforge.net>
135
136         * XPathNavigator.cs: Removed DebuggerDisplay attribute.
137         * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
138
139 2005-10-08  Gert Driesen  <drieseng@users.sourceforge.net>
140
141         * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
142         added ReplaceRange and DeleteRange methods.
143         * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
144
145 2004-09-22  Atsushi Enomoto  <atsushi@ximian.com>
146
147         * Expression.cs : Now that managed collation is default, we don't need
148           reversive case-order anymore.
149
150 2004-09-21  Atsushi Enomoto  <atsushi@ximian.com>
151
152         * XPathNavigator.cs : added NavigatorComparer.
153         * XPathComparer.cs : XPathNavigatorComparer implements
154           IEqualityComparer under NET_2_0 profile.
155
156 2005-08-31  Sebastien Pouliot  <sebastien@ximian.com>
157
158         * XPathException.cs: Added a Demand for SerializationFormatter on
159         GetObjectData method.
160
161 2005-08-03  Gert Driesen  <drieseng@users.sourceforge.net>
162
163         * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
164         in .NET 2.0 Beta 2.
165
166 2004-07-23  Atsushi Enomoto  <atsushi@ximian.com>
167
168         * Expression.cs : don't expect namespace resolver; namespace could be
169           supplied in QName without nsresolver need (i.e. SelectChildren()).
170           Fixed bug #75609.
171
172 2005-06-09  Andrew Skiba  <andrews@mainsoft.com>
173
174         * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
175
176 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
177
178         * Expression.cs : set TARGET_JVM where collation matters.
179
180 2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
181
182         * XPathAtomicValue.cs :
183           it is now XmlAtomicValue and in sys.xml.schema.
184         * XPathNavigator.cs, Expression.cs :
185           removed atomizedName related 2.0 members (deprecated).
186
187 2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
188
189         * XPathExpression.cs : added static Compile().
190         * XPathNavigator.cs :
191           Use XPathExpression.Compile() for now. 
192           Updated tree modification API to 2.0 beta2.
193         * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
194           updated to 2.0 beta2 API.
195         * XPathResultType.cs : removed [Serializable].
196         * XmlNodeChangeType.cs : removed obsolete file.
197
198 2004-03-25  Atsushi Enomoto  <atsushi@ximian.com>
199
200         * XPathNavigator.cs : 2.0 build fix
201
202 2004-03-25  Atsushi Enomoto  <atsushi@ximian.com>
203
204         * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
205           B is child axis test (thus peer&subtree optimization became possible)
206           Fixed warning (incorrect variable let).
207
208 2004-03-25  Atsushi Enomoto  <atsushi@ximian.com>
209
210         * XPathNavigator.cs : reduced some Clone().
211           Simplified ComparePosition().
212         * Iterator.cs : some iterators are not actually reverse axis.
213
214 2004-03-22  Atsushi Enomoto  <atsushi@ximian.com>
215
216         * Expression.cs : EvaluateBoolean() for RTF should check return true
217           for empty elements. Fixed static analysis for RTF.
218
219 2004-03-22  Atsushi Enomoto  <atsushi@ximian.com>
220
221         * Parser.jay, Tokenizer.cs : Now they are used as common code base for
222           XPath parser and XSLT pattern parser. Makefile now creates two
223           set of sources of them. (This change takes effect on the next change).
224
225 2004-03-16  Atsushi Enomoto  <atsushi@ximian.com>
226
227         * Parser.jay : rewrote step part to be reusable for upcoming XSLT
228           pattern parser.
229
230 2004-03-16  Atsushi Enomoto  <atsushi@ximian.com>
231
232         * Iterator.cs : reduced extra clone.
233
234 2004-03-15  Atsushi Enomoto  <atsushi@ximian.com>
235
236         * DefaultContext.cs,
237           Expression.cs,
238           Iterator.cs : Now RequireSorting is not required in BaseIterator
239           (it is now fully in Expression).
240           Removed the last ListIterator .ctor() argument.
241
242 2004-03-15  Atsushi Enomoto  <atsushi@ximian.com>
243
244         * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
245
246 2004-03-14  Atsushi Enomoto  <atsushi@ximian.com>
247
248         * Expression.cs,
249           DefaultContext.cs : Basic constant folding optimization (not so
250           effective right now). Unified number-to-string conversion code into
251           XPathFunctions.ToString(double) to avoid roundtrip format right now.
252         * Iterator.cs : removed unused code.
253
254 2004-03-11  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * Iterator.cs : more clone reduction.
257
258 2004-03-11  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * Expression.cs, DefaultContext.cs : more Peer overrides.
261
262 2004-03-11  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * Expression.cs,
265           DefaultContext.cs : Removed unused NeedAbsoluteMatching.
266           Added Peer and Subtree (for "peer & subtree optimization. See:
267           http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
268           Fixed some ToString() that caused NullReferenceException.
269
270         * Iterator.cs : Predicate does not affect on RequireSorting.
271           Added SimpleSlashIterator for peer & subtree optimization.
272
273           Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
274
275 2004-03-09  Atsushi Enomoto  <atsushi@ximian.com>
276
277         * Expression.cs,
278           Iterator.cs, :
279           SlashIterator is now constructed with requireSorting parameter 
280           that thus just use RequireSorting from both left/right Expressions, 
281           not iterators.
282           When attribute axis is on the left expression, the result needs to
283           be sorted.
284
285 2004-03-09  Atsushi Enomoto  <atsushi@ximian.com>
286
287         * Iterator.cs : Now for most of iterator types, Current property always
288           returns the same instance. It results in huge memory reduction.
289
290 2004-03-04  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
293           key should be iterator itself. Key by list count never makes sense.
294
295 2004-03-04  Atsushi Enomoto  <atsushi@ximian.com>
296
297         * Expression.cs : Significant whitespace nodes must be returned in
298           text() NodeTypeTest.
299
300 2004-02-23  Atsushi Enomoto  <atsushi@ximian.com>
301
302         * Expression.cs : xsl:sort case-order was not handled properly.
303
304 2004-02-23  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * Iterator.cs :
307           In FollowingIterator, attribute and namespace nodes should be 
308           considered to have following nodes. See XPath 1.0 section 5 (esp.
309           the description on "document order").
310           On fixing @*/following::*, attribute nodes are regarded as to be
311           RequireSorting = true (which might result in duplicate).
312
313 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
314
315         * Expression.cs : string() function expects "Infinity" and "-Infinity"
316           instead of "INF" for conversion from number. XmlConvert is for XSD,
317           not for XSLT.
318
319 2004-02-09  Atsushi Enomoto  <atsushi@ximian.com>
320
321         * Expression.cs : RelationalExpr was comparing number and node in
322           reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
323           RelationalExpr should also handle result tree fragment as node-set
324           as well as EqualityExpr. This fixes RTF case wrt #72343.
325
326 2004-02-08  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * Expression.cs : tiny code format fix by Andrew Skiba.
329
330 2004-12-26  Atsushi Enomoto  <atsushi@ximian.com>
331
332         * XPathNavigator.cs : Added CheckValidity() and ValueType.
333           For SetTypedValue(), throw NotSupportedException instead of
334           NotImplementedException.
335
336 2004-12-16  Atsushi Enomoto  <atsushi@ximian.com>
337
338         * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
339           all the missing attributes.
340
341 2004-12-04  Atsushi Enomoto  <atsushi@ximian.com>
342
343         * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
344           eliminated string fields from struct.
345           (When we switch from struct to class, revert this change to use
346           DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
347           wasting processing speed.)
348
349 2004-12-02  Atsushi Enomoto  <atsushi@ximian.com>
350
351         * Iterator.cs : when PredicateIterator has a numeric predicate, it
352           will never be true twice. So just break up the iteration on true.
353         * XPathNavigator.cs : implemented LookupPrefix().
354         * Expression.cs : ExprParens.Optimize() could just return the content
355           expression.
356
357 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
358
359         * IXPathChangeNavigable.cs,
360           XmlChangeFilters.cs,
361           XPathDocumentNodeChangedAction.cs : removed old files.
362
363 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * Iterator.cs : with related to the previous patch, many comments
366           got making no sense. Thanks to Harinath.
367
368 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
369
370         * Iterator.cs : actually I mean this patch.
371
372 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
373
374         * Iterator.cs : Create _current clone only when required. So just set
375           null when MoveNextCore() succeeded (except for some cases that
376           _current is _nav, such as SelfIterator).
377
378 2004-11-30  Atsushi Enomoto  <atsushi@ximian.com>
379
380         * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
381           it has to collect nodes in prior or not and whether it might return
382           nodes in inconsistent order is different matter.
383           (It still needs to store nodes when either of branches requires
384           sorting, because they might return the same node later.)
385
386 2004-11-30  Atsushi Enomoto  <atsushi@ximian.com>
387
388         * Iterator.cs : reduced some extraneous ComparePosition() that could
389           be written as IsSamePosition(). ParentIterator doesn't have to be
390           RequireSorting.
391
392 2004-11-30  Atsushi Enomoto  <atsushi@ximian.com>
393
394         * Iterator.cs : reimplemented AncestorIterator and 
395           AncestorOrSelfIterator just to collect parents and not to move to
396           siblings. In some cases like thousands of siblings, it used to be
397           so slow, while we usually don't have so deep ancestors.
398
399 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
400
401         * Expression.cs : warning removal. Added Optimize() which is not
402           implemented at all.
403         * Tokenizer.cs : warning elimination
404
405 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
406
407         * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
408           IXPathEditable.cs : more removal of oldies.
409
410 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
413
414 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
415
416         * Tokenizer.cs : just use raw string instead of char[].
417         * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
418
419 2004-11-07  Atsushi Enomoto  <atsushi@ximian.com>
420
421         * Iterator.cs :
422           - Made copy constructor certainly different from other constructors.
423           - Position is never computed in each derived type. All MoveNext() are
424             now MoveNextCore().
425           - Most of the protected members could just be private.
426
427 2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>
428
429         * Expression.cs, XPathNavigator.cs : hold raw expression field for
430           get_Expression. It is preparation for expression optimization.
431
432 2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>
433
434         * Iterator.cs : SimpleIterator._current could be cloned only when
435           it is required.
436
437 2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>
438
439         * Iterator.cs : Some removal of Clone() were harmless.
440
441 2004-10-22  Atsushi Enomoto  <atsushi@ximian.com>
442
443         * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
444           reverted.
445         * XPathEditableNavigator.cs : It will be removed. Right now modified
446           a bit to pass build.
447         * XPathNavigator.cs : Added members that are merged from
448           XPathEditableNavigator. Updated members name.
449
450 2004-10-14  Atsushi Enomoto  <atsushi@ximian.com>
451
452         * Iterator.cs :
453           - Added WrapperIterator to return BaseIterator in such case that 
454             variable reference is resolved to XPathNodeIterator. This fixes
455             bug #68267.
456           - Path ".." is reverse axis (actually no effect).
457           - Fixed DescendantIterator.Clone() that missed "_finished" field.
458         * Expression.cs :
459           In ExprVariable.Evaluate(), use WrapperIterator() for custom
460           XPathNodeIterator.
461
462 2004-10-09  Atsushi Enomoto  <atsushi@ximian.com>
463
464         * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
465
466 2004-10-05  Atsushi Enomoto  <atsushi@ximian.com>
467
468         * XPathAtomicValue.cs : missing Init() definition for float and string;
469           latter one resulted in infinite loop in Init(object,XmlSchemaType).
470
471 2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>
472
473         * XPathNavigator.cs : TypedValue could be implemented.
474         * XPathEditableNavigator.cs : removed some MonoTODO since now there 
475           are implementations.
476
477 2004-09-13  Atsushi Enomoto  <atsushi@ximian.com>
478
479         * XPathAtomicValue.cs : All .ctor() are separeted from Init().
480           In .ctor(object, XmlSchemaType):
481           - For lists that contains just one item, Init() recursively.
482           - For XPathAtomicValue, Init() recursively for its content fields.
483           For Value and TypedValue, consider typecode from XmlSchemaType.
484
485 2004-09-06  Atsushi Enomoto  <atsushi@ximian.com>
486
487         * XPathEditableNavigator.cs :
488           AppendChild(xmlReader) ignored nodes after than first one, and
489           resulted in infinite loop.
490           Added get_OuterXml overrides. set_OuterXml should not move to
491           parent before deleting current.
492
493 2004-08-25  Atsushi Enomoto  <atsushi@ximian.com>
494
495         * XPathAtomicValue.cs : Value was not returning expected value when
496           it is created as new XPathAtomicValue (object, XmlSchemaType).
497           Compute stringValue and reuse.
498         * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
499           (for checking XQuery implementation).
500
501 2004-08-25  Atsushi Enomoto  <atsushi@ximian.com>
502
503         * XPathAtomicValue.cs : Handle .ctor() with object parameter more
504           precisely (still not enough, for list argument).
505           Removed commended blocks.
506
507 2004-08-24  Atsushi Enomoto  <atsushi@ximian.com>
508
509         * XPathAtomicValue.cs : DateTime should be convertible to string.
510           Use schemaType's TypeCode for .ctor() that takes object.
511         * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
512         * XPathEditableNavigator.cs : set_InnerXml should be different (new)
513           property from get_InnerXml. Removed get_InnerXml and get_OuterXml 
514           overrides.
515
516 2004-08-23  Atsushi Enomoto  <atsushi@ximian.com>
517
518         * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
519
520 2004-08-03  Atsushi Enomoto  <atsushi@ximian.com>
521
522         * XPathEditableNavigator.cs : implemented some editor support methods.
523
524 2004-08-02  Atsushi Enomoto  <atsushi@ximian.com>
525
526         * XPathDocument.cs :
527           - For .NET 2.0, added a switch to support new XPathDocument2. 
528             If switch is off, then it uses DTM.
529           - Implemented remaining 2.0 bits (except for Obsolete ones).
530
531         To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
532         (It is still too unstable to pass all nunit tests and standalone XSLT
533         tests).
534
535 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
536
537         * XPathNavigator.cs : Implemented ReadSubtree().
538
539 2004-07-28  Atsushi Enomoto  <atsushi@ximian.com>
540
541         * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it 
542           creates Mono.Xml.XPath.XPathEditableDocument and thus supports
543           IXPathEditable.CreateEditor().
544
545 2004-07-28  Atsushi Enomoto  <atsushi@ximian.com>
546
547         * XPathEditableNavigator.cs : Implemented InsertAfter() and 
548           PrependChild(); they are virtual, not abstract.
549         * XPathNavigator.cs :
550           Implemented many 2.0 virtual properties and methods that were 
551           abstract in 1.x.
552           Implemented some Select() methods that uses IXmlNamespaceResolver.
553           Implemented most of ValueAsXxx() using XQueryConvert.
554           IsNode is always true. Implemented OuterXml and WriteSubtree() (but
555           actually they don't work because it depends on ReadSubtree()).
556
557 2004-07-26  Atsushi Enomoto  <atsushi@ximian.com>
558
559         * XPathDocument.cs : added missing && not-likely-to-be-removed members.
560         * XPathEditableNavigator.cs : added BuildSubTree().
561         * XPathException.cs : added missing methods. Hide Message in NET_2_0.
562
563 2004-07-23  Atsushi Enomoto  <atsushi@ximian.com>
564
565         * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
566
567 2004-07-21  Atsushi Enomoto  <atsushi@ximian.com>
568
569         * XPathExpression.cs, Expression.cs :
570           Added SetContext(IXmlNamespaceResolver).
571         * NodeChangedEventArgs.cs : Added missing [MonoTODO].
572         * XPathAtomicValue.cs : Halfly implemented.
573         * XPathDocument.cs : Added 2.0 members.
574         * XPathDocumentNodeChangedAction.cs : updated member names.
575         * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
576         * XPathNavigator.cs : Added missing 2.0 members.
577           Fixed some members as virtual->override.
578
579 2004-07-13  Atsushi Enomoto  <atsushi@ximian.com>
580
581         * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
582         * XPathResultType.cs : marked [MonoFIX] on .Navigator.
583
584 2004-07-11  Atsushi Enomoto  <atsushi@ximian.com>
585
586         * Expression.cs, Iterator.cs, XPathNavigator.cs :
587           Use IXmlNamespaceResolver for net 2.0. Removed unused code.
588         * XPathEditableNavigator.cs : fixed namespace.
589         * XPathNavigator.cs :
590           Fixed inheritance. Added missing MonoTODO.
591           Removed old .net 1.2 code. 
592
593 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
594
595         * DefaultContext.cs : Globalization.
596         * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
597           in case of empty list. Thus extraneous iteration might happened.
598           Removed unused (and clone unsafe) EnumeratorIterator.
599
600 2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>
601
602         * XPathDocument.s : The previous patch is still incomplete to close.
603
604 2004-06-05  Atsushi Enomoto  <atsushi@ximian.com>
605
606         * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
607
608 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
609
610         * Expression.cs : LookupNamespace() only allows already-atomized names.
611         * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and 
612           set_InnerXml().
613
614 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
615
616         * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
617           and ToNavigator().
618         * Expression.cs : In Equality comparison, evaluate XPathNavigator in
619           the same as well as NodeSet. This fixes bug #59134.
620
621 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
622
623         * XPathAtomicValue.cs : missed NET_2_0.
624
625 2004-05-22  Atsushi Enomoto  <atsushi@ximian.com>
626
627         * IXPathChangeNavigable.cs,
628           IXPathEditable.cs,
629           NodeChangedEventArgs.cs,
630           NodeChangedEventHandler.cs,
631           XPathAtomicValue.cs,
632           XPathChangeNavigator.cs,
633           XPathDocumentNodeChangedAction.cs,
634           XPathEditableNavigator.cs,
635           XPathItem.cs,
636           XmlChangeFilters.cs,
637           XmlNodeChangeType.cs : added NET_2_0 classes.
638         * XPathDocument.cs,
639           XPathNavigator.cs : updated NET_2_0 members.
640
641 2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>
642
643         * Expression.cs : We should not catch all kind of exception. Just
644           throwing any kind of exception would be preferable.
645           Added support for XPathNavigator values.
646
647 2004-05-13  Atsushi Enomoto  <atsushi@ximian.com>
648
649         * DefaultContext.cs : Removed MonoTODO. done.
650         * Expression.cs : handle XPathResultType.Navigator in some places and
651           removed MonoTODO. Mark MonoTODO with explicit comments (though they
652           are mostly pointing out possibilities of optimization).
653           Removed extra check that depended on the old bugs.
654         * XPathResultType.cs : Fixed .Navigator that had the same value as
655           .String.
656
657 2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>
658
659         * Parser.jay : made class internal.
660
661 2004-03-16  Atsushi Enomoto  <atsushi@ximian.com>
662
663         * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the 
664           result of MoveToParent() should be checked.
665
666 2004-02-17  Atsushi Enomoto  <atsushi@ximian.com>
667
668         * XPathNavigator.cs : Only child and attribute axes are allowed for
669           Matches().
670         * Expression.cs : Added IsPositional property.
671         * DefaultContext.cs : Added some overrides.
672
673 2004-02-16  Atsushi Enomoto  <atsushi@ximian.com>
674
675         * XPathNavigator.cs : no, its still not ok. comment out now.
676
677 2004-02-16  Atsushi Enomoto  <atsushi@ximian.com>
678
679         * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
680           to reduce extraneous Matches() trial.
681         * Iterator.cs : Removed unused MergedIterator.
682         * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
683           unnecessarily. (Test with NeedAbsoluteMatching).
684
685 2004-02-10  Atsushi Enomoto  <atsushi@ximian.com>
686
687         * Iterator.cs : Added overriden Count properties for some iterators
688           (this fixes the half of #50678).
689           Added ListIterator class (which can reduce GetEnumerator()). 
690           In some places we can omit clone for Current property, so added 
691           some check logic (It has no effect as yet).
692         * Expression.cs, DefaultContext.cs :
693           use ListIterator instead of EnumeratorIterator.
694
695 2004-02-08  Atsushi Enomoto  <atsushi@ximian.com>
696
697         * DefaultContext.cs, Expression.cs, Iterator.cs :
698           tiny foreach elimination.
699
700 2004-02-05  Atsushi Enomoto  <atsushi@ximian.com>
701
702         * DefaultContext.cs : trivial processing order fix.
703
704 2004-01-27  Atsushi Enomoto  <atsushi@ximian.com>
705
706         * DefaultContext.cs : Avoid exception if possible.
707         * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
708           nav was positioned at the first, it incorrectly points itself.
709           Don't add names to name table while it is useless and expensive.
710
711 2004-01-08  Nick Drochak <ndrochak@ieee.org>
712
713         * Iterator.cs: Removed unused variable.
714         
715 2003-12-18 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
716
717         * Parser.jay : now it supresses error output from jay.
718         * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
719         * Tokenizer.cs : better error message.
720         * XPathDocument.cs : Use XmlValidatingReader to support id() function.
721           (just found MS.NET actually supports it)
722
723 2003-12-16 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
724
725         * Iterator.cs : On its iteration, moving Current must not affect to
726           MoveNext(). To assure this, Current must be a clone of navigator.
727           Removed unused code.
728
729 2003-12-07 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
730
731         * Tokenizer.cs : Removed some TODOs. (trivial ;-)
732         * Iterator.cs : ParensIterator can inherit from BaseIterator.
733           SlashIterator copy .ctor() always failed to clone. This fixes Count.
734
735 2003-12-03 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
736
737         * Expression.cs : XPathSorters.Compare() should compare document
738           position. See last sentence of XSLT 1.0 secion 10.
739
740 2003-12-03 Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
741
742         * DefaultContext.cs : Overrode all functions' ToString().
743           XPathFunctions.ToNumber() trims whitespaces at both side.
744           Fixed NullReferenceException in normalize-space().
745         * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
746           attribute or namespace node correctly.
747           SlashIterator.Clone() didn't clone "next node iterator" correctly.
748           EnumeratorIterator.ctor() should raise an error (not at Clone())
749           when the target IEnumerator is not ICloneable.
750
751 2003-11-28  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
752
753         * Expression.cs : namespace axis now traversed in reverse order, so it
754           requires sorting.
755         * Iterator.cs : UnionIterator.Clone() was incomplete. 
756           NamespaceItarator() should be reverse order (special handling
757           because of XPathNavigator specification).
758
759 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
760
761         * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
762         * XPathNavigator.cs : ComparePosition() didn't handle attributes 
763           correctly.
764
765 2003-11-24  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
766
767         * Parser.jay, Expression.cs, Iterator.cs :
768           Added ExprParens and ParensIterator classes which is used to handle
769           precedence of parenthesized expressions.
770           (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
771
772         * Expression.cs, Iterator.cs :
773           Added RequireSorting property for each Expr and BaseIterator classes.
774           SlashIterator.MoveNext() now considers correct sorting. But
775           considering performance, it separates two logics, sorted and sortless
776           depending on RequireSorting of left iterator and right expression.
777
778         * Iterator.cs :
779           SimpleIterator.ctor() should consider when nav is null.
780           FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
781           not return any nodes.
782           AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
783           positions.
784           AncestorIterator.MoveNext() should skip Root if context node is
785           Root itself.
786           FollowingIterator.MoveNext() should not handle children of context
787           itself.
788           PrecedingIterator.MoveNext() should skip its ancestors.
789           AxisIterator.ReverseAxis should be dependent on its containing iter.
790           UnionIterator.MoveNext() should consider comparison of nodes in 
791           different document. The behavior is implementation dependent.
792           (see XSLT spec 12.1)
793
794 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
795
796         * Added XPathComparer.cs
797         * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base 
798           iterator correctly, and sort results.
799
800 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
801
802         * DefaultContext.cs : Imcomplete fix ;-)
803
804 2003-11-19  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
805
806         * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
807           XPathFunctionId.cs : Exposed Id expression.
808         * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
809           will be used to solve evaluation precedence problem).
810
811 2003-11-09  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
812
813         * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
814           inconsistent order, and 2)may return duplicate result nodes.
815
816 2003-11-06 Ben Maurer  <bmaurer@users.sourceforge.net>
817
818         * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
819         it inherit from the base class. This made b[2] evaluated on 
820         <a /><b /><c /><a /><b /><c /> return the first b node because
821         in the ChildIterator it was the second node and seemed to satsify
822         the predicate.
823
824 2003-11-04  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
825
826         * Iterator.cs : Added bool ReverseAxis property to identify whether
827           the iterator is in reverse order or not.  Added ComparablePosition
828           for correct position comparison for PredicateIterator and reverse-
829           order-axes.  Modified AncestorIterator, AncestorOrSelfIterator,
830           PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
831           return their nodes in document order. This fixes bugzilla #39079.
832
833 2003-10-15  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
834
835         * Iterator.cs : DescendantIterator and FollowingIterator also should
836           not MoveNext() after they reached to the end.
837
838 2003-10-13  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
839
840         * Iterator.cs : Fixed UnionIterator who ignores document order.
841           Fixed SlashIterator whose MoveNext() should finish at its end.
842
843 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
844
845         * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
846         use NameTable so we dont call strcmp.
847
848 2003-09-27 Ben Maurer  <bmaurer@users.sourceforge.net>
849
850         * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
851         not "abc".
852         * Iterator.cs, Expression.cs: All axes are
853         SimpleIterators. SimpleIterators are gaurenteed to give the same
854         XPathNavigator in Current. Make AxisIterator take a
855         SimpleIterator, not any old BaseIterator. Will allow us to make
856         NameTable optimizations and avoid quite a few strcmp's.
857
858 2003-09-24 Ben Maurer  <bmaurer@users.sourceforge.net>
859
860         * Expression.cs: make // work right, must use another slash itr.
861
862 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
863
864         * Expression.cs: cant use $$ before assigned.
865
866 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
867
868         * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
869
870 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
871
872         * Expression.cs: num != double.NaN does not work.
873
874 2003-09-19 Ben Maurer  <bmaurer@users.sourceforge.net>
875
876         * Expression.cs: in NodeTypeTest dont throw an exception if it is
877         an unknown node type (allows for better Pattern debugging).
878
879 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
880
881         * DefaultContext.cs: implement sum () and translate ().
882
883 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
884
885         * XPathNavigator.cs: Make methods where you pass in the context,
886         so that we dont have to clone expressions so much.
887
888 2003-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
889
890         * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
891         system functions are actually expressions. Will allow for some
892         nice optimizations.
893
894 2003-08-25 Ben Maurer  <bmaurer@users.sourceforge.net>
895
896         * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
897         improvement in the method (5ms/call -> .7 ms / call) measured by
898         monodoc's rendering of N:System.
899         * Expression.cs: Utility methods to support above.
900
901 2003-08-13 Piers Haken  <piersh@friskit.com>
902         
903         * Iterator.cs:
904                 fix MergedIterator.Clone(), now clones other's iterators
905                 fix DescendantIterator.Clone(), now copies depth
906                 make iterator cloning constructors more type-specific
907
908 2003-08-01 Piers Haken  <piersh@friskit.com>
909
910         * Expression.cs: added NodeNamespaceTest
911         * XPathNavigator.cs: implement Select* with namespaces
912
913 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
914
915         * Iterator.cs: Allow creation of an EnumeratorIterator with an
916         XmlNamespaceManager.
917         
918 2003-07-31 Piers Haken  <piersh@friskit.com>
919
920         * Parser.jay:
921                 Nested predicates (uses ExprFilter instead)
922                 more type safety
923                 make grammar look more like w3c spec
924         * Expression.cs:
925                 remove ExprStep, ExprPredicates
926                 NodeTest is now a NodeSet
927                 more type-safety
928         * Iterator.cs:
929                 PredicateIterator now only takes a single predicate expression
930                 more type-safety
931         * XPathNavigator.cs:
932                 simplified SelectTest
933         * XPathException.cs:
934                 fixed indenting
935
936 2003-07-30  Duncan Mak  <duncan@ximian.com>
937
938         * XPathException.cs
939         (GetObjectData): 
940         (Message): Added.
941
942 2003-07-29 Piers Haken  <piersh@friskit.com>
943
944         * DefaultContext.cs: 'local-name' returns String, not NodeSet!
945
946 2003-07-29 Piers Haken  <piersh@friskit.com>
947
948         * XPathNavigator.cs:
949         * Expression.cs:
950                 add typesafe Evaluate* methods
951
952 2003-07-29 Piers Haken  <piersh@friskit.com>
953
954         * DefaultContext.cs: fix 'substring-after'
955
956 2003-07-29 Piers Haken  <piersh@friskit.com>
957
958         * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
959
960 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
961
962         * Iterator.cs: dont throw exceptions on tostring ()
963         
964 2003-07-28  Piers Haken <piersh@friskit.com>
965
966         * DefaultContext.cs: better handling of null argument lists
967         * XPathNavigator.cs: implement ComparePosition
968
969 2003-07-28  Piers Haken <piersh@friskit.com>
970
971         * Expression.cs: boolean operators: handle comparing .Any better
972
973 2003-07-28  Piers Haken <piersh@friskit.com>
974
975         * DefaultContext.cs: count() should return a double
976         * Expression.cs: better support for handling non-double numbers
977
978 2003-07-28  Piers Haken <piersh@friskit.com>
979
980         * DefaultContext.cs: better function param matching
981
982 2003-07-27  Piers Haken <piersh@friskit.com>
983
984         * Expression.cs:
985         * DefaultContext.cs:
986                 catch FormatExceptions while parsing numbers
987
988 2003-07-27  Piers Haken <piersh@friskit.com>
989
990         * Expression.cs:
991                 fix case sorting order
992                 allow EvaluateNumber to take XPathResultType.Any
993
994 2003-07-27  Piers Haken <piersh@friskit.com>
995
996         * Expression.cs:
997         * Tokenizer.cs:
998                 don't pass null to XmlQualifiedName constructor
999
1000 2003-07-27  Piers Haken <piersh@friskit.com>
1001
1002         * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
1003
1004 2003-07-27  Piers Haken <piersh@friskit.com>
1005
1006         * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
1007
1008 2003-07-26  Piers Haken <piersh@friskit.com>
1009
1010         * Expression.cs: fix function evaluation with ambigous argument types
1011         * XPathNavigator.cs: fix silly null reference bug
1012
1013 2003-07-26  Piers Haken <piersh@friskit.com>
1014
1015         * Iterator.cs:
1016         * DefaultContext.cs:
1017                 ArrayListIterator->EnumeratorIterator
1018         * Expression.cs: add sorting support
1019
1020 2003-07-26  Piers Haken <piersh@friskit.com>
1021
1022         * Tokenizer.cs:
1023         * Parser.jay:
1024                 move QName parsing into tokenizer
1025         * Expression.cs:
1026                 fix evaluating XPathResultType.Any
1027                 fix ExprDiv.ToString()
1028                 fix NodeTypeTest.ToString() (for namespace axis)
1029
1030 2003-07-25  Piers Haken <piersh@friskit.com>
1031
1032         * Expression.cs: return clone of $var evaluation
1033
1034 2003-07-26  Piers Haken <piersh@friskit.com>
1035
1036         * Iterator.cs: add setter for NamespaceManager
1037         * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
1038         * Expression.cs: fix func/var exception strings
1039
1040 2003-07-25  Piers Haken <piersh@friskit.com>
1041
1042         * Expression.cs: implement ExprFilter.Evaluate
1043
1044 2003-07-25  Piers Haken <piersh@friskit.com>
1045
1046         * Expression.cs: implement ExprVariable.Evaluate
1047
1048 2003-07-24  Ben Maurer <bmaurer@users.sourceforge.net>
1049         
1050         * DefaultContext.cs: implement lang ()
1051
1052 2003-07-24  Piers Haken <piersh@friskit.com>
1053
1054         * Parser.jay:
1055         * Expression.cs:
1056                 allow ExprUNION to take non-nodeset (eg, $var) arguments
1057
1058 2003-07-24  Piers Haken <piersh@friskit.com>
1059
1060         * Tokenizer.cs: fix variable references
1061         * Parser.jay:
1062         * Expression.cs:
1063         * XPathNavigator.cs:
1064                 use XmlQualifiedName
1065
1066 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1067
1068         * XPathDocument.cs : removed Driver class and restored authors' name
1069           (though it is completely rewrote).
1070
1071 2003-06-30  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1072
1073         * XPathDocument.cs : Replaced existing stub class with real
1074           XPathDocument implementation.
1075
1076 2003-04-28  Piers Haken  <piersh@friskit.com>
1077
1078         * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
1079
1080 2003-03-07  Piers Haken  <piersh@friskit.com>
1081
1082         * Tokenizer.cs: allow '.'s in NCNames
1083
1084 2003-03-07  Piers Haken  <piersh@friskit.com>
1085
1086         * Exression.cs:
1087         * DefaultContext.cs:
1088                 fixed function argument resolution
1089
1090 2003-02-09  Piers Haken  <piersh@friskit.com>
1091
1092         * XPathNavigator.cs:
1093         * Iterator.cs:
1094         * Expression.cs: fix namespace handling
1095
1096 2003-01-04  Piers Haken  <piersh@friskit.com>
1097
1098         * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1099
1100 2003-02-02  Piers Haken <piersh@friskit.com>
1101
1102         * Parser.jay: add token names
1103         * Tokenizer.cs: fix NCName tokenization
1104
1105 2003-01-02  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
1106
1107         * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1108                 (It should be a temporary fix.)
1109
1110 2002-09-22  Nick Drochak  <ndrochak@gol.com>
1111
1112         * Parser.cs: Remove extraneous "using" that was stopping the build.
1113
1114 2002-09-21  Piers Haken <piersh@friskit.com>
1115
1116         * XPathException: implementation
1117         * Expression.cs:
1118         * Iterator.cs:
1119         * Parser.jay:
1120         * Tokenizer.jay:
1121         * XPathNavigator.jay:
1122                 use XPathException.
1123
1124 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1125
1126         * Parser.cs: commented out non-existent namespace (it compiles fine
1127         with mcs because of a bug that is already on bugzilla).
1128
1129 2002-09-12  Piers Haken <piersh@friskit.com>
1130
1131         * Tokenizer.cs: fix parsing numbers that start with '.'
1132         * DefaultContext.cs: use MS-compatible formatting of doubles
1133
1134 2002-09-12  Piers Haken <piersh@friskit.com>
1135
1136         * Iterator.cs: added NullIterator to handle unspecified contexts
1137         * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1138         * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1139
1140 2002-09-12  Piers Haken <piersh@friskit.com>
1141
1142         * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1143         * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1144         * DefaultContext.cs: fix id() return type.
1145
1146 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1147
1148         * DefaultContext.cs: fixed bug #28840.
1149         * Expression.cs: added FIXME.
1150
1151 2002-08-17  Jason Diamond <jason@injektilo.org>
1152
1153         * XPathNavigator.cs: Fixed matching on patterns that look like
1154         absolute XPath expressions.
1155
1156 2002-08-17  Jason Diamond <jason@injektilo.org>
1157
1158         * XPathNavigator.cs: Added naive (but working) implementation of
1159          Matches.
1160
1161 2002-07-31  Piers Haken <piersh@friskit.com>
1162
1163         * XPathDocument.cs: simple, XmlDocument-based implementation
1164
1165 2002-07-25  Piers Haken <piersh@friskit.com>
1166
1167         * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1168
1169 2002-07-17  Piers Haken <piersh@friskit.com>
1170         
1171         * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1172         * Parser.jay: remove redundant production
1173         * Expression.cs: add switches for debugging under VS.NET
1174
1175 2002-07-17  Piers Haken <piersh@friskit.com>
1176
1177         * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1178
1179 2002-07-15  Piers Haken <piersh@friskit.com>
1180
1181         * Iterator.cs:
1182                 - rename UnionIterator to MergedIterator, 
1183                 - create new UnionIterator to implment uniqueness for '|' operator
1184                 - fix position bug in ArrayListIterator.Clone()
1185         * Expression.cs: use new UnionIterator constructor syntax
1186
1187 2002-07-12  Piers Haken <piersh@friskit.com>
1188
1189         * Iterator.cs: PredicateIterator: handle numeric predicates
1190         * Parser.jay: add some debugging support: yyparseDebug
1191         * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1192
1193 2002-06-29  Piers Haken <piersh@friskit.com>
1194
1195         * Expression.cs:
1196                 - remove dead code
1197                 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1198                 - remove NodeTestTypes enum
1199                 - remove NodeTestTypeAny (functionality provided by base now)
1200                 - fix ExprStep to handle wildcard QNames
1201         * Parser.jay:
1202                 - moved to Mono.Xml.XPath namespace
1203                 - use XPathResultType
1204                 - handle wildcard QNames
1205                 
1206         * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1207         
1208         * XPathNavigator.cs: implement
1209                 - IsDescendant
1210                 - SelectAncestors
1211                 - SelectDescendants
1212                 - SelectChildren
1213                 
1214         * XPathResultType.cs: fix enum values
1215         
1216 2002-06-24  Jason Diamond  <jason@injektilo.org>
1217
1218         * XPathScanner.cs: Removed.
1219
1220 2002-06-24  Dick Porter <dick@ximian.com>
1221
1222         * XmlCaseOrder.cs: Fix namespace
1223
1224 2002-06-23  Piers Haken <piersh@friskit.com>
1225
1226         * DefaultContext.cs: implemented XPathFUnctionId
1227         * Iterator.cs: new ArrayListIterator for id() support
1228
1229 2002-06-23  Piers Haken <piersh@friskit.com>
1230
1231         * XPathNavigator.cs: implement:
1232                 - Compile
1233                 - Evaluate
1234                 - Clone
1235                 - Select
1236                 - ToString
1237                 - some forwarding methods
1238
1239         * XPathNodeIterator: implement caching Count
1240
1241         * Tokenizer.cs: new XPath tokenizer
1242         * Parser.jay: new XPath grammar
1243         * Parser.cs: new precompiled XPath grammar
1244         * Expression.cs: new XPath expression objects
1245         * Iterator.cs: new XPath result/context objects
1246         * DefaultContext.cs: new XPath function binding context
1247
1248 2002-05-08  Tim Coleman <tim@timcoleman.com>
1249         * XPathDocument.cs:
1250         * XPathException.cs: New stub files added.
1251
1252 2002-04-12  Duncan Mak  <duncan@ximian.com>
1253
1254         * XmlCaseOrder.cs: Moved to here from System.Xml.
1255
1256 2002-03-26  Jason Diamond  <jason@injektilo.org>
1257
1258         * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated 
1259         steps. Both absolution and relative abbreviated location paths.
1260
1261 2002-03-25  Jason Diamond  <jason@injektilo.org>
1262
1263         * XPathScanner.cs: Added new file. This class is supposed to be internal
1264         but that would make it impossible to test.
1265
1266 2002-03-08  Duncan Mak  <duncan@ximian.com>
1267
1268         * XPathNamespaceScope.cs:
1269         * XPathNodeType.cs:
1270         * XPathResultType.cs:
1271         * XmlDataType.cs:
1272         * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1273         implementation. XPathResultType is interesting as EnumCheck does
1274         not show the Navigator element, but shows the String element twice.
1275
1276 2002-03-08  Jason Diamond  <jason@injektilo.org>
1277
1278         * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1279
1280 2002-03-06  Jason Diamond  <jason@injektilo.org>
1281
1282         * ChangeLog: Added to this directory.
1283
1284         * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1285         XPathResultType.cs: New files.
1286
1287         * XPathNavigator.cs: Stubbed out all properties and methods.