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