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