1 2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
3 * Expression.cs : fix WeakReference usage for such case that it
4 might GC-ed between .IsAlive check and .Target retrieval.
6 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
8 * XPathExpression.cs, Expression.cs : Cache compiled xpath
9 expressions so that they don't have to be parsed repeatedly.
11 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
13 * Expression.cs : unindend cases that do not match our coding style.
15 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
17 * Expression.cs : fixed peer & subtree requirement and reduced extra
18 dependency on RequireSorting property.
20 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
22 * Expression.cs, Iterator.cs : simplify SlashIterator by introducing
25 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
27 * Expression.cs, Iterator.cs : ChildIterator is not a SimpleIterator
28 now. And reduced extra clone when the context node has no child.
30 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
32 * Iterator.cs : now we do not seem to need clone in
33 SimpleIterator.Current.
35 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
37 * XPathNavigator.cs : enable EnumerableIterator with some fixes.
38 * Iterator.cs : reduce extra steps for empty simple iterator.
40 2008-10-02 Atsushi Enomoto <atsushi@ximian.com>
42 * Iterator.cs, DefaultContext.cs, XPathNavigator.cs, Expression.cs:
43 couple of refactoring: reduced presumption on BaseIterator (it is
44 premised in not a few places, but it might change; see
45 EnumerableIterator in XPathNavigator.cs).
46 Now BaseIterator.Current is always null (to clean up ambiguous
47 implementation state). Current property is now always moved to
48 the current node in the iterator when returned.
50 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
52 * DefaultContext.cs, Expression.cs: do not premise BaseIterator.
54 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
56 * XPathComparer.cs : no need to limit to BaseIterator.
58 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
60 * XPathNavigator.cs : oops, wrong #if ranges.
62 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
64 * XPathNavigator.cs : made some 2.0-only methods available in 1.x
65 so that we don't have to hesitate to optimize xpath using them.
67 2008-06-03 Atsushi Enomoto <atsushi@ximian.com>
69 * Expression.cs : help diagnose variable resolution failure.
71 2008-04-02 Atsushi Enomoto <atsushi@ximian.com>
73 * XPathNavigator.cs : fixed InnerXml to not give up with root node.
74 Indent InnerXml. Fixed bug #376191.
76 2008-02-27 Atsushi Enomoto <atsushi@ximian.com>
78 * XPathNavigator.cs : in some MoveTo*() methods, it should allow any
79 destination node when "type" is XPathNodeType.All. Based on the
80 patch by Sanghyeon Seo, fixed bug #365112.
82 2008-02-12 Atsushi Enomoto <atsushi@ximian.com>
84 * DefaultContext.cs : now number formatting for "R" works fine, so
85 just use it (and remove conditional compilation for TARGET_JVM).
87 2008-01-10 Konstantin Triger <kostat@mainsoft.com>
89 * Iterator.cs: prevent endless recursion in AncestorIterator
90 while collecting results.
92 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
94 * DefaultContext.cs: Fix direct comparison with NaN. Found by
97 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
99 * Iterator.cs : oops, extra removal that causes perf. loss.
101 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
103 * Iterator.cs : be more strict to detect the end of
104 PredicateIterator. Fixed bug #349111.
106 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
108 * Expression.cs : In any comparison expr, treat RTF as equivalent to
109 string type (as specified in XSLT 1.0 section 11.1: "An operation
110 is permitted on a result tree fragment only if that operation would
111 be permitted on a string." ...). Fixed bug #349035.
113 2007-11-29 Atsushi Enomoto <atsushi@ximian.com>
115 * XPathNavigator.cs : implemented ValueAs().
117 2007-01-30 Atsushi Enomoto <atsushi@ximian.com>
119 * Expression.cs : typo. Close #80669
121 2007-01-05 Atsushi Enomoto <atsushi@ximian.com>
123 * Expression.cs : text() should match whitespace and significant
126 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
128 * XPathNavigator.cs :
129 - ReadSubtree() should reject everything but Element or Root.
130 - InnerXml and OuterXml should not use ReadSubtree() when it is
131 not positioned on an Element or the Root. Thus, implement them
132 in their own ways. Fixed bug #79875.
134 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
136 * XPathNavigator.cs : InnerXml should allow Text-only content. Fixed
137 bug #79874, when tied to XPathNavigatorReader fix.
139 2006-04-10 Atsushi Enomoto <atsushi@ximian.com>
141 * XPathNavigator.cs : get_OuterXml() returns indented output, without
144 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
146 * Expression.cs : extracted XPathSortElement, XPathSorters
147 and XPathSorter from CompiledExpression, and split
148 XPathSorters.Sort() into some methods. Those changes are to make
149 them reusable in XslSortEvaluator.
151 2006-02-26 Atsushi Enomoto <atsushi@ximian.com>
153 * Iterator.cs : seems like MS XPathNodeIterator.MoveNext() itself does
154 not handle XsltContext.PreserveWhitespace() unlike ours. It results
155 in not a small performance improvement. (just removed it since it
156 didn't cause any errors in XSLT standalone tests.)
158 2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
160 * Iterator.cs : removed extra field from AxisIterator.
162 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
164 * Iterator.cs : tiny message fix (thanks to alp).
166 2006-01-25 Atsushi Enomoto <atsushi@ximian.com>
168 * XPathNavigator.cs : fixed IsNode signature found by updated
171 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
173 * Iterator.cs : Nowadays removal of cloning of the argument list
174 in ListIterator is safe. Thanks to Joshua Tauberer for the hint.
176 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
178 * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the
179 error message is for blaming custom XPathNavigator
180 implementation, not us ;-) (see also #77194)
182 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
184 * XPathNavigator.cs : use WriteNode(XPathNavigator, bool)
185 rather than WriteNode(XmlWriter, bool) in WriteSubtree().
187 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
189 * XPathNavigator.cs : Added MonoTODO to CreateAttributes(). Removed
190 MonoTODO from ReadSubtree().
192 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
194 * XPathNavigator.cs : UnderlyingObject returns null by default.
196 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
198 * XPathNavigator.cs : Reimplemented MoveToFollowing() to avoid
199 inefficient MoveToDescendant() and to match .NET 2.0 behavior.
201 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
203 * XPathNavigator.cs : ReplaceSelf() should allow document fragment.
204 Moved implementation to XPathEditableDocument.
206 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
208 * XPathNavigator.cs : PrependChild() should use AppendChild() when
211 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
213 * XPathNavigator.cs : InsertAfter() should raise an error before
214 MoveToNext() when current node is either attribute or namespace.
216 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
218 * XPathNavigator.cs : InsertAfter() should append children after it
219 once moved to parent. This method shoulr raise an error when it is
222 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
224 * XPathNavigator.cs : (CreateFragmentReader) return XmlReader that
225 considers current namespace contexts.
227 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
229 * XPathNavigator.cs : removed some MonoTODOs.
231 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
233 * XPathDocument.cs : garbage cleanup.
235 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
237 * Iterator.cs: fixed UnionIterator.SetCurrent method, the
238 navigators may be from different xml files.
240 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
242 * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
243 navigators may be from different xml files.
245 2005-11-10 Atsushi Enomoto <atsushi@ximian.com>
247 * XPathNavigator.cs, XPathNodeIterator.cs :
248 [DebuggerDisplay] are not worthy of existing.
250 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
252 * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
253 values are fixed. However, they totally do not make sense since
254 there is no DebuggerDisplayProxy type in our impl.
256 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
258 * XPathException.cs : Message property is back in 2.0 RTM.
260 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
262 * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
263 * XPathNavigator.cs : [DebuggerDisplay] as well.
264 SelectSingleNode() and AppendChildElement() are now virtual.
266 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
268 * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
269 MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
270 This fixes XPathEditableDocument.MoveToFirst().
272 2004-10-15 Atsushi Enomoto <atsushi@ximian.com>
274 * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
275 likely to be implemented, thus MonoTODO.
277 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
279 * XPathNavigator.cs: Removed DebuggerDisplay attribute.
280 * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
282 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
284 * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
285 added ReplaceRange and DeleteRange methods.
286 * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
288 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
290 * Expression.cs : Now that managed collation is default, we don't need
291 reversive case-order anymore.
293 2004-09-21 Atsushi Enomoto <atsushi@ximian.com>
295 * XPathNavigator.cs : added NavigatorComparer.
296 * XPathComparer.cs : XPathNavigatorComparer implements
297 IEqualityComparer under NET_2_0 profile.
299 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
301 * XPathException.cs: Added a Demand for SerializationFormatter on
302 GetObjectData method.
304 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
306 * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
309 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
311 * Expression.cs : don't expect namespace resolver; namespace could be
312 supplied in QName without nsresolver need (i.e. SelectChildren()).
315 2005-06-09 Andrew Skiba <andrews@mainsoft.com>
317 * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
319 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
321 * Expression.cs : set TARGET_JVM where collation matters.
323 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
325 * XPathAtomicValue.cs :
326 it is now XmlAtomicValue and in sys.xml.schema.
327 * XPathNavigator.cs, Expression.cs :
328 removed atomizedName related 2.0 members (deprecated).
330 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
332 * XPathExpression.cs : added static Compile().
333 * XPathNavigator.cs :
334 Use XPathExpression.Compile() for now.
335 Updated tree modification API to 2.0 beta2.
336 * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
337 updated to 2.0 beta2 API.
338 * XPathResultType.cs : removed [Serializable].
339 * XmlNodeChangeType.cs : removed obsolete file.
341 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
343 * XPathNavigator.cs : 2.0 build fix
345 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
347 * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
348 B is child axis test (thus peer&subtree optimization became possible)
349 Fixed warning (incorrect variable let).
351 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
353 * XPathNavigator.cs : reduced some Clone().
354 Simplified ComparePosition().
355 * Iterator.cs : some iterators are not actually reverse axis.
357 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
359 * Expression.cs : EvaluateBoolean() for RTF should check return true
360 for empty elements. Fixed static analysis for RTF.
362 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
364 * Parser.jay, Tokenizer.cs : Now they are used as common code base for
365 XPath parser and XSLT pattern parser. Makefile now creates two
366 set of sources of them. (This change takes effect on the next change).
368 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
370 * Parser.jay : rewrote step part to be reusable for upcoming XSLT
373 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
375 * Iterator.cs : reduced extra clone.
377 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
381 Iterator.cs : Now RequireSorting is not required in BaseIterator
382 (it is now fully in Expression).
383 Removed the last ListIterator .ctor() argument.
385 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
387 * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
389 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
392 DefaultContext.cs : Basic constant folding optimization (not so
393 effective right now). Unified number-to-string conversion code into
394 XPathFunctions.ToString(double) to avoid roundtrip format right now.
395 * Iterator.cs : removed unused code.
397 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
399 * Iterator.cs : more clone reduction.
401 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
403 * Expression.cs, DefaultContext.cs : more Peer overrides.
405 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
408 DefaultContext.cs : Removed unused NeedAbsoluteMatching.
409 Added Peer and Subtree (for "peer & subtree optimization. See:
410 http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
411 Fixed some ToString() that caused NullReferenceException.
413 * Iterator.cs : Predicate does not affect on RequireSorting.
414 Added SimpleSlashIterator for peer & subtree optimization.
416 Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
418 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
422 SlashIterator is now constructed with requireSorting parameter
423 that thus just use RequireSorting from both left/right Expressions,
425 When attribute axis is on the left expression, the result needs to
428 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
430 * Iterator.cs : Now for most of iterator types, Current property always
431 returns the same instance. It results in huge memory reduction.
433 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
435 * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
436 key should be iterator itself. Key by list count never makes sense.
438 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
440 * Expression.cs : Significant whitespace nodes must be returned in
443 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
445 * Expression.cs : xsl:sort case-order was not handled properly.
447 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
450 In FollowingIterator, attribute and namespace nodes should be
451 considered to have following nodes. See XPath 1.0 section 5 (esp.
452 the description on "document order").
453 On fixing @*/following::*, attribute nodes are regarded as to be
454 RequireSorting = true (which might result in duplicate).
456 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
458 * Expression.cs : string() function expects "Infinity" and "-Infinity"
459 instead of "INF" for conversion from number. XmlConvert is for XSD,
462 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
464 * Expression.cs : RelationalExpr was comparing number and node in
465 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
466 RelationalExpr should also handle result tree fragment as node-set
467 as well as EqualityExpr. This fixes RTF case wrt #72343.
469 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
471 * Expression.cs : tiny code format fix by Andrew Skiba.
473 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
475 * XPathNavigator.cs : Added CheckValidity() and ValueType.
476 For SetTypedValue(), throw NotSupportedException instead of
477 NotImplementedException.
479 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
481 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
482 all the missing attributes.
484 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
486 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
487 eliminated string fields from struct.
488 (When we switch from struct to class, revert this change to use
489 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
490 wasting processing speed.)
492 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
494 * Iterator.cs : when PredicateIterator has a numeric predicate, it
495 will never be true twice. So just break up the iteration on true.
496 * XPathNavigator.cs : implemented LookupPrefix().
497 * Expression.cs : ExprParens.Optimize() could just return the content
500 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
502 * IXPathChangeNavigable.cs,
504 XPathDocumentNodeChangedAction.cs : removed old files.
506 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
508 * Iterator.cs : with related to the previous patch, many comments
509 got making no sense. Thanks to Harinath.
511 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
513 * Iterator.cs : actually I mean this patch.
515 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
517 * Iterator.cs : Create _current clone only when required. So just set
518 null when MoveNextCore() succeeded (except for some cases that
519 _current is _nav, such as SelfIterator).
521 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
523 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
524 it has to collect nodes in prior or not and whether it might return
525 nodes in inconsistent order is different matter.
526 (It still needs to store nodes when either of branches requires
527 sorting, because they might return the same node later.)
529 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
531 * Iterator.cs : reduced some extraneous ComparePosition() that could
532 be written as IsSamePosition(). ParentIterator doesn't have to be
535 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
537 * Iterator.cs : reimplemented AncestorIterator and
538 AncestorOrSelfIterator just to collect parents and not to move to
539 siblings. In some cases like thousands of siblings, it used to be
540 so slow, while we usually don't have so deep ancestors.
542 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
544 * Expression.cs : warning removal. Added Optimize() which is not
546 * Tokenizer.cs : warning elimination
548 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
550 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
551 IXPathEditable.cs : more removal of oldies.
553 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
555 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
557 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
559 * Tokenizer.cs : just use raw string instead of char[].
560 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
562 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
565 - Made copy constructor certainly different from other constructors.
566 - Position is never computed in each derived type. All MoveNext() are
568 - Most of the protected members could just be private.
570 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
572 * Expression.cs, XPathNavigator.cs : hold raw expression field for
573 get_Expression. It is preparation for expression optimization.
575 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
577 * Iterator.cs : SimpleIterator._current could be cloned only when
580 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
582 * Iterator.cs : Some removal of Clone() were harmless.
584 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
586 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
588 * XPathEditableNavigator.cs : It will be removed. Right now modified
590 * XPathNavigator.cs : Added members that are merged from
591 XPathEditableNavigator. Updated members name.
593 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
596 - Added WrapperIterator to return BaseIterator in such case that
597 variable reference is resolved to XPathNodeIterator. This fixes
599 - Path ".." is reverse axis (actually no effect).
600 - Fixed DescendantIterator.Clone() that missed "_finished" field.
602 In ExprVariable.Evaluate(), use WrapperIterator() for custom
605 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
607 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
609 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
611 * XPathAtomicValue.cs : missing Init() definition for float and string;
612 latter one resulted in infinite loop in Init(object,XmlSchemaType).
614 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
616 * XPathNavigator.cs : TypedValue could be implemented.
617 * XPathEditableNavigator.cs : removed some MonoTODO since now there
620 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
622 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
623 In .ctor(object, XmlSchemaType):
624 - For lists that contains just one item, Init() recursively.
625 - For XPathAtomicValue, Init() recursively for its content fields.
626 For Value and TypedValue, consider typecode from XmlSchemaType.
628 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
630 * XPathEditableNavigator.cs :
631 AppendChild(xmlReader) ignored nodes after than first one, and
632 resulted in infinite loop.
633 Added get_OuterXml overrides. set_OuterXml should not move to
634 parent before deleting current.
636 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
638 * XPathAtomicValue.cs : Value was not returning expected value when
639 it is created as new XPathAtomicValue (object, XmlSchemaType).
640 Compute stringValue and reuse.
641 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
642 (for checking XQuery implementation).
644 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
646 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
647 precisely (still not enough, for list argument).
648 Removed commended blocks.
650 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
652 * XPathAtomicValue.cs : DateTime should be convertible to string.
653 Use schemaType's TypeCode for .ctor() that takes object.
654 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
655 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
656 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
659 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
661 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
663 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
665 * XPathEditableNavigator.cs : implemented some editor support methods.
667 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
670 - For .NET 2.0, added a switch to support new XPathDocument2.
671 If switch is off, then it uses DTM.
672 - Implemented remaining 2.0 bits (except for Obsolete ones).
674 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
675 (It is still too unstable to pass all nunit tests and standalone XSLT
678 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
680 * XPathNavigator.cs : Implemented ReadSubtree().
682 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
684 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
685 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
686 IXPathEditable.CreateEditor().
688 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
690 * XPathEditableNavigator.cs : Implemented InsertAfter() and
691 PrependChild(); they are virtual, not abstract.
692 * XPathNavigator.cs :
693 Implemented many 2.0 virtual properties and methods that were
695 Implemented some Select() methods that uses IXmlNamespaceResolver.
696 Implemented most of ValueAsXxx() using XQueryConvert.
697 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
698 actually they don't work because it depends on ReadSubtree()).
700 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
702 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
703 * XPathEditableNavigator.cs : added BuildSubTree().
704 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
706 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
708 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
710 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
712 * XPathExpression.cs, Expression.cs :
713 Added SetContext(IXmlNamespaceResolver).
714 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
715 * XPathAtomicValue.cs : Halfly implemented.
716 * XPathDocument.cs : Added 2.0 members.
717 * XPathDocumentNodeChangedAction.cs : updated member names.
718 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
719 * XPathNavigator.cs : Added missing 2.0 members.
720 Fixed some members as virtual->override.
722 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
724 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
725 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
727 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
729 * Expression.cs, Iterator.cs, XPathNavigator.cs :
730 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
731 * XPathEditableNavigator.cs : fixed namespace.
732 * XPathNavigator.cs :
733 Fixed inheritance. Added missing MonoTODO.
734 Removed old .net 1.2 code.
736 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
738 * DefaultContext.cs : Globalization.
739 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
740 in case of empty list. Thus extraneous iteration might happened.
741 Removed unused (and clone unsafe) EnumeratorIterator.
743 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
745 * XPathDocument.s : The previous patch is still incomplete to close.
747 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
749 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
751 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
753 * Expression.cs : LookupNamespace() only allows already-atomized names.
754 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
757 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
759 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
761 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
762 the same as well as NodeSet. This fixes bug #59134.
764 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
766 * XPathAtomicValue.cs : missed NET_2_0.
768 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
770 * IXPathChangeNavigable.cs,
772 NodeChangedEventArgs.cs,
773 NodeChangedEventHandler.cs,
775 XPathChangeNavigator.cs,
776 XPathDocumentNodeChangedAction.cs,
777 XPathEditableNavigator.cs,
780 XmlNodeChangeType.cs : added NET_2_0 classes.
782 XPathNavigator.cs : updated NET_2_0 members.
784 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
786 * Expression.cs : We should not catch all kind of exception. Just
787 throwing any kind of exception would be preferable.
788 Added support for XPathNavigator values.
790 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
792 * DefaultContext.cs : Removed MonoTODO. done.
793 * Expression.cs : handle XPathResultType.Navigator in some places and
794 removed MonoTODO. Mark MonoTODO with explicit comments (though they
795 are mostly pointing out possibilities of optimization).
796 Removed extra check that depended on the old bugs.
797 * XPathResultType.cs : Fixed .Navigator that had the same value as
800 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
802 * Parser.jay : made class internal.
804 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
806 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
807 result of MoveToParent() should be checked.
809 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
811 * XPathNavigator.cs : Only child and attribute axes are allowed for
813 * Expression.cs : Added IsPositional property.
814 * DefaultContext.cs : Added some overrides.
816 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
818 * XPathNavigator.cs : no, its still not ok. comment out now.
820 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
822 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
823 to reduce extraneous Matches() trial.
824 * Iterator.cs : Removed unused MergedIterator.
825 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
826 unnecessarily. (Test with NeedAbsoluteMatching).
828 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
830 * Iterator.cs : Added overriden Count properties for some iterators
831 (this fixes the half of #50678).
832 Added ListIterator class (which can reduce GetEnumerator()).
833 In some places we can omit clone for Current property, so added
834 some check logic (It has no effect as yet).
835 * Expression.cs, DefaultContext.cs :
836 use ListIterator instead of EnumeratorIterator.
838 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
840 * DefaultContext.cs, Expression.cs, Iterator.cs :
841 tiny foreach elimination.
843 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
845 * DefaultContext.cs : trivial processing order fix.
847 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
849 * DefaultContext.cs : Avoid exception if possible.
850 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
851 nav was positioned at the first, it incorrectly points itself.
852 Don't add names to name table while it is useless and expensive.
854 2004-01-08 Nick Drochak <ndrochak@ieee.org>
856 * Iterator.cs: Removed unused variable.
858 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
860 * Parser.jay : now it supresses error output from jay.
861 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
862 * Tokenizer.cs : better error message.
863 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
864 (just found MS.NET actually supports it)
866 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
868 * Iterator.cs : On its iteration, moving Current must not affect to
869 MoveNext(). To assure this, Current must be a clone of navigator.
872 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
874 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
875 * Iterator.cs : ParensIterator can inherit from BaseIterator.
876 SlashIterator copy .ctor() always failed to clone. This fixes Count.
878 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
880 * Expression.cs : XPathSorters.Compare() should compare document
881 position. See last sentence of XSLT 1.0 secion 10.
883 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
885 * DefaultContext.cs : Overrode all functions' ToString().
886 XPathFunctions.ToNumber() trims whitespaces at both side.
887 Fixed NullReferenceException in normalize-space().
888 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
889 attribute or namespace node correctly.
890 SlashIterator.Clone() didn't clone "next node iterator" correctly.
891 EnumeratorIterator.ctor() should raise an error (not at Clone())
892 when the target IEnumerator is not ICloneable.
894 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
896 * Expression.cs : namespace axis now traversed in reverse order, so it
898 * Iterator.cs : UnionIterator.Clone() was incomplete.
899 NamespaceItarator() should be reverse order (special handling
900 because of XPathNavigator specification).
902 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
904 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
905 * XPathNavigator.cs : ComparePosition() didn't handle attributes
908 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
910 * Parser.jay, Expression.cs, Iterator.cs :
911 Added ExprParens and ParensIterator classes which is used to handle
912 precedence of parenthesized expressions.
913 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
915 * Expression.cs, Iterator.cs :
916 Added RequireSorting property for each Expr and BaseIterator classes.
917 SlashIterator.MoveNext() now considers correct sorting. But
918 considering performance, it separates two logics, sorted and sortless
919 depending on RequireSorting of left iterator and right expression.
922 SimpleIterator.ctor() should consider when nav is null.
923 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
924 not return any nodes.
925 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
927 AncestorIterator.MoveNext() should skip Root if context node is
929 FollowingIterator.MoveNext() should not handle children of context
931 PrecedingIterator.MoveNext() should skip its ancestors.
932 AxisIterator.ReverseAxis should be dependent on its containing iter.
933 UnionIterator.MoveNext() should consider comparison of nodes in
934 different document. The behavior is implementation dependent.
937 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
939 * Added XPathComparer.cs
940 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
941 iterator correctly, and sort results.
943 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
945 * DefaultContext.cs : Imcomplete fix ;-)
947 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
949 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
950 XPathFunctionId.cs : Exposed Id expression.
951 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
952 will be used to solve evaluation precedence problem).
954 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
956 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
957 inconsistent order, and 2)may return duplicate result nodes.
959 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
961 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
962 it inherit from the base class. This made b[2] evaluated on
963 <a /><b /><c /><a /><b /><c /> return the first b node because
964 in the ChildIterator it was the second node and seemed to satsify
967 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
969 * Iterator.cs : Added bool ReverseAxis property to identify whether
970 the iterator is in reverse order or not. Added ComparablePosition
971 for correct position comparison for PredicateIterator and reverse-
972 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
973 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
974 return their nodes in document order. This fixes bugzilla #39079.
976 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
978 * Iterator.cs : DescendantIterator and FollowingIterator also should
979 not MoveNext() after they reached to the end.
981 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
983 * Iterator.cs : Fixed UnionIterator who ignores document order.
984 Fixed SlashIterator whose MoveNext() should finish at its end.
986 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
988 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
989 use NameTable so we dont call strcmp.
991 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
993 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
995 * Iterator.cs, Expression.cs: All axes are
996 SimpleIterators. SimpleIterators are gaurenteed to give the same
997 XPathNavigator in Current. Make AxisIterator take a
998 SimpleIterator, not any old BaseIterator. Will allow us to make
999 NameTable optimizations and avoid quite a few strcmp's.
1001 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
1003 * Expression.cs: make // work right, must use another slash itr.
1005 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1007 * Expression.cs: cant use $$ before assigned.
1009 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1011 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
1013 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
1015 * Expression.cs: num != double.NaN does not work.
1017 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
1019 * Expression.cs: in NodeTypeTest dont throw an exception if it is
1020 an unknown node type (allows for better Pattern debugging).
1022 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
1024 * DefaultContext.cs: implement sum () and translate ().
1026 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
1028 * XPathNavigator.cs: Make methods where you pass in the context,
1029 so that we dont have to clone expressions so much.
1031 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1033 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
1034 system functions are actually expressions. Will allow for some
1037 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
1039 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
1040 improvement in the method (5ms/call -> .7 ms / call) measured by
1041 monodoc's rendering of N:System.
1042 * Expression.cs: Utility methods to support above.
1044 2003-08-13 Piers Haken <piersh@friskit.com>
1047 fix MergedIterator.Clone(), now clones other's iterators
1048 fix DescendantIterator.Clone(), now copies depth
1049 make iterator cloning constructors more type-specific
1051 2003-08-01 Piers Haken <piersh@friskit.com>
1053 * Expression.cs: added NodeNamespaceTest
1054 * XPathNavigator.cs: implement Select* with namespaces
1056 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1058 * Iterator.cs: Allow creation of an EnumeratorIterator with an
1059 XmlNamespaceManager.
1061 2003-07-31 Piers Haken <piersh@friskit.com>
1064 Nested predicates (uses ExprFilter instead)
1066 make grammar look more like w3c spec
1068 remove ExprStep, ExprPredicates
1069 NodeTest is now a NodeSet
1072 PredicateIterator now only takes a single predicate expression
1074 * XPathNavigator.cs:
1075 simplified SelectTest
1076 * XPathException.cs:
1079 2003-07-30 Duncan Mak <duncan@ximian.com>
1085 2003-07-29 Piers Haken <piersh@friskit.com>
1087 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
1089 2003-07-29 Piers Haken <piersh@friskit.com>
1091 * XPathNavigator.cs:
1093 add typesafe Evaluate* methods
1095 2003-07-29 Piers Haken <piersh@friskit.com>
1097 * DefaultContext.cs: fix 'substring-after'
1099 2003-07-29 Piers Haken <piersh@friskit.com>
1101 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
1103 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
1105 * Iterator.cs: dont throw exceptions on tostring ()
1107 2003-07-28 Piers Haken <piersh@friskit.com>
1109 * DefaultContext.cs: better handling of null argument lists
1110 * XPathNavigator.cs: implement ComparePosition
1112 2003-07-28 Piers Haken <piersh@friskit.com>
1114 * Expression.cs: boolean operators: handle comparing .Any better
1116 2003-07-28 Piers Haken <piersh@friskit.com>
1118 * DefaultContext.cs: count() should return a double
1119 * Expression.cs: better support for handling non-double numbers
1121 2003-07-28 Piers Haken <piersh@friskit.com>
1123 * DefaultContext.cs: better function param matching
1125 2003-07-27 Piers Haken <piersh@friskit.com>
1128 * DefaultContext.cs:
1129 catch FormatExceptions while parsing numbers
1131 2003-07-27 Piers Haken <piersh@friskit.com>
1134 fix case sorting order
1135 allow EvaluateNumber to take XPathResultType.Any
1137 2003-07-27 Piers Haken <piersh@friskit.com>
1141 don't pass null to XmlQualifiedName constructor
1143 2003-07-27 Piers Haken <piersh@friskit.com>
1145 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
1147 2003-07-27 Piers Haken <piersh@friskit.com>
1149 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
1151 2003-07-26 Piers Haken <piersh@friskit.com>
1153 * Expression.cs: fix function evaluation with ambigous argument types
1154 * XPathNavigator.cs: fix silly null reference bug
1156 2003-07-26 Piers Haken <piersh@friskit.com>
1159 * DefaultContext.cs:
1160 ArrayListIterator->EnumeratorIterator
1161 * Expression.cs: add sorting support
1163 2003-07-26 Piers Haken <piersh@friskit.com>
1167 move QName parsing into tokenizer
1169 fix evaluating XPathResultType.Any
1170 fix ExprDiv.ToString()
1171 fix NodeTypeTest.ToString() (for namespace axis)
1173 2003-07-25 Piers Haken <piersh@friskit.com>
1175 * Expression.cs: return clone of $var evaluation
1177 2003-07-26 Piers Haken <piersh@friskit.com>
1179 * Iterator.cs: add setter for NamespaceManager
1180 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
1181 * Expression.cs: fix func/var exception strings
1183 2003-07-25 Piers Haken <piersh@friskit.com>
1185 * Expression.cs: implement ExprFilter.Evaluate
1187 2003-07-25 Piers Haken <piersh@friskit.com>
1189 * Expression.cs: implement ExprVariable.Evaluate
1191 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
1193 * DefaultContext.cs: implement lang ()
1195 2003-07-24 Piers Haken <piersh@friskit.com>
1199 allow ExprUNION to take non-nodeset (eg, $var) arguments
1201 2003-07-24 Piers Haken <piersh@friskit.com>
1203 * Tokenizer.cs: fix variable references
1206 * XPathNavigator.cs:
1207 use XmlQualifiedName
1209 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1211 * XPathDocument.cs : removed Driver class and restored authors' name
1212 (though it is completely rewrote).
1214 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1216 * XPathDocument.cs : Replaced existing stub class with real
1217 XPathDocument implementation.
1219 2003-04-28 Piers Haken <piersh@friskit.com>
1221 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
1223 2003-03-07 Piers Haken <piersh@friskit.com>
1225 * Tokenizer.cs: allow '.'s in NCNames
1227 2003-03-07 Piers Haken <piersh@friskit.com>
1230 * DefaultContext.cs:
1231 fixed function argument resolution
1233 2003-02-09 Piers Haken <piersh@friskit.com>
1235 * XPathNavigator.cs:
1237 * Expression.cs: fix namespace handling
1239 2003-01-04 Piers Haken <piersh@friskit.com>
1241 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1243 2003-02-02 Piers Haken <piersh@friskit.com>
1245 * Parser.jay: add token names
1246 * Tokenizer.cs: fix NCName tokenization
1248 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1250 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1251 (It should be a temporary fix.)
1253 2002-09-22 Nick Drochak <ndrochak@gol.com>
1255 * Parser.cs: Remove extraneous "using" that was stopping the build.
1257 2002-09-21 Piers Haken <piersh@friskit.com>
1259 * XPathException: implementation
1264 * XPathNavigator.jay:
1267 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1269 * Parser.cs: commented out non-existent namespace (it compiles fine
1270 with mcs because of a bug that is already on bugzilla).
1272 2002-09-12 Piers Haken <piersh@friskit.com>
1274 * Tokenizer.cs: fix parsing numbers that start with '.'
1275 * DefaultContext.cs: use MS-compatible formatting of doubles
1277 2002-09-12 Piers Haken <piersh@friskit.com>
1279 * Iterator.cs: added NullIterator to handle unspecified contexts
1280 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1281 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1283 2002-09-12 Piers Haken <piersh@friskit.com>
1285 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1286 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1287 * DefaultContext.cs: fix id() return type.
1289 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1291 * DefaultContext.cs: fixed bug #28840.
1292 * Expression.cs: added FIXME.
1294 2002-08-17 Jason Diamond <jason@injektilo.org>
1296 * XPathNavigator.cs: Fixed matching on patterns that look like
1297 absolute XPath expressions.
1299 2002-08-17 Jason Diamond <jason@injektilo.org>
1301 * XPathNavigator.cs: Added naive (but working) implementation of
1304 2002-07-31 Piers Haken <piersh@friskit.com>
1306 * XPathDocument.cs: simple, XmlDocument-based implementation
1308 2002-07-25 Piers Haken <piersh@friskit.com>
1310 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1312 2002-07-17 Piers Haken <piersh@friskit.com>
1314 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1315 * Parser.jay: remove redundant production
1316 * Expression.cs: add switches for debugging under VS.NET
1318 2002-07-17 Piers Haken <piersh@friskit.com>
1320 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1322 2002-07-15 Piers Haken <piersh@friskit.com>
1325 - rename UnionIterator to MergedIterator,
1326 - create new UnionIterator to implment uniqueness for '|' operator
1327 - fix position bug in ArrayListIterator.Clone()
1328 * Expression.cs: use new UnionIterator constructor syntax
1330 2002-07-12 Piers Haken <piersh@friskit.com>
1332 * Iterator.cs: PredicateIterator: handle numeric predicates
1333 * Parser.jay: add some debugging support: yyparseDebug
1334 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1336 2002-06-29 Piers Haken <piersh@friskit.com>
1340 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1341 - remove NodeTestTypes enum
1342 - remove NodeTestTypeAny (functionality provided by base now)
1343 - fix ExprStep to handle wildcard QNames
1345 - moved to Mono.Xml.XPath namespace
1346 - use XPathResultType
1347 - handle wildcard QNames
1349 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1351 * XPathNavigator.cs: implement
1357 * XPathResultType.cs: fix enum values
1359 2002-06-24 Jason Diamond <jason@injektilo.org>
1361 * XPathScanner.cs: Removed.
1363 2002-06-24 Dick Porter <dick@ximian.com>
1365 * XmlCaseOrder.cs: Fix namespace
1367 2002-06-23 Piers Haken <piersh@friskit.com>
1369 * DefaultContext.cs: implemented XPathFUnctionId
1370 * Iterator.cs: new ArrayListIterator for id() support
1372 2002-06-23 Piers Haken <piersh@friskit.com>
1374 * XPathNavigator.cs: implement:
1380 - some forwarding methods
1382 * XPathNodeIterator: implement caching Count
1384 * Tokenizer.cs: new XPath tokenizer
1385 * Parser.jay: new XPath grammar
1386 * Parser.cs: new precompiled XPath grammar
1387 * Expression.cs: new XPath expression objects
1388 * Iterator.cs: new XPath result/context objects
1389 * DefaultContext.cs: new XPath function binding context
1391 2002-05-08 Tim Coleman <tim@timcoleman.com>
1393 * XPathException.cs: New stub files added.
1395 2002-04-12 Duncan Mak <duncan@ximian.com>
1397 * XmlCaseOrder.cs: Moved to here from System.Xml.
1399 2002-03-26 Jason Diamond <jason@injektilo.org>
1401 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
1402 steps. Both absolution and relative abbreviated location paths.
1404 2002-03-25 Jason Diamond <jason@injektilo.org>
1406 * XPathScanner.cs: Added new file. This class is supposed to be internal
1407 but that would make it impossible to test.
1409 2002-03-08 Duncan Mak <duncan@ximian.com>
1411 * XPathNamespaceScope.cs:
1413 * XPathResultType.cs:
1415 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1416 implementation. XPathResultType is interesting as EnumCheck does
1417 not show the Navigator element, but shows the String element twice.
1419 2002-03-08 Jason Diamond <jason@injektilo.org>
1421 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1423 2002-03-06 Jason Diamond <jason@injektilo.org>
1425 * ChangeLog: Added to this directory.
1427 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1428 XPathResultType.cs: New files.
1430 * XPathNavigator.cs: Stubbed out all properties and methods.