1 2008-12-09 Atsushi Enomoto <atsushi@ximian.com>
3 * Iterator.cs : DescendantIterator.Clone() was not cloning current
4 node in new code. Fixed bug #456103.
6 2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
8 * Expression.cs : fix WeakReference usage for such case that it
9 might GC-ed between .IsAlive check and .Target retrieval.
11 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
13 * XPathExpression.cs, Expression.cs : Cache compiled xpath
14 expressions so that they don't have to be parsed repeatedly.
16 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
18 * Expression.cs : unindend cases that do not match our coding style.
20 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
22 * Expression.cs : fixed peer & subtree requirement and reduced extra
23 dependency on RequireSorting property.
25 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
27 * Expression.cs, Iterator.cs : simplify SlashIterator by introducing
30 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
32 * Expression.cs, Iterator.cs : ChildIterator is not a SimpleIterator
33 now. And reduced extra clone when the context node has no child.
35 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
37 * Iterator.cs : now we do not seem to need clone in
38 SimpleIterator.Current.
40 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
42 * XPathNavigator.cs : enable EnumerableIterator with some fixes.
43 * Iterator.cs : reduce extra steps for empty simple iterator.
45 2008-10-02 Atsushi Enomoto <atsushi@ximian.com>
47 * Iterator.cs, DefaultContext.cs, XPathNavigator.cs, Expression.cs:
48 couple of refactoring: reduced presumption on BaseIterator (it is
49 premised in not a few places, but it might change; see
50 EnumerableIterator in XPathNavigator.cs).
51 Now BaseIterator.Current is always null (to clean up ambiguous
52 implementation state). Current property is now always moved to
53 the current node in the iterator when returned.
55 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
57 * DefaultContext.cs, Expression.cs: do not premise BaseIterator.
59 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
61 * XPathComparer.cs : no need to limit to BaseIterator.
63 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
65 * XPathNavigator.cs : oops, wrong #if ranges.
67 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
69 * XPathNavigator.cs : made some 2.0-only methods available in 1.x
70 so that we don't have to hesitate to optimize xpath using them.
72 2008-06-03 Atsushi Enomoto <atsushi@ximian.com>
74 * Expression.cs : help diagnose variable resolution failure.
76 2008-04-02 Atsushi Enomoto <atsushi@ximian.com>
78 * XPathNavigator.cs : fixed InnerXml to not give up with root node.
79 Indent InnerXml. Fixed bug #376191.
81 2008-02-27 Atsushi Enomoto <atsushi@ximian.com>
83 * XPathNavigator.cs : in some MoveTo*() methods, it should allow any
84 destination node when "type" is XPathNodeType.All. Based on the
85 patch by Sanghyeon Seo, fixed bug #365112.
87 2008-02-12 Atsushi Enomoto <atsushi@ximian.com>
89 * DefaultContext.cs : now number formatting for "R" works fine, so
90 just use it (and remove conditional compilation for TARGET_JVM).
92 2008-01-10 Konstantin Triger <kostat@mainsoft.com>
94 * Iterator.cs: prevent endless recursion in AncestorIterator
95 while collecting results.
97 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
99 * DefaultContext.cs: Fix direct comparison with NaN. Found by
102 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
104 * Iterator.cs : oops, extra removal that causes perf. loss.
106 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
108 * Iterator.cs : be more strict to detect the end of
109 PredicateIterator. Fixed bug #349111.
111 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
113 * Expression.cs : In any comparison expr, treat RTF as equivalent to
114 string type (as specified in XSLT 1.0 section 11.1: "An operation
115 is permitted on a result tree fragment only if that operation would
116 be permitted on a string." ...). Fixed bug #349035.
118 2007-11-29 Atsushi Enomoto <atsushi@ximian.com>
120 * XPathNavigator.cs : implemented ValueAs().
122 2007-01-30 Atsushi Enomoto <atsushi@ximian.com>
124 * Expression.cs : typo. Close #80669
126 2007-01-05 Atsushi Enomoto <atsushi@ximian.com>
128 * Expression.cs : text() should match whitespace and significant
131 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
133 * XPathNavigator.cs :
134 - ReadSubtree() should reject everything but Element or Root.
135 - InnerXml and OuterXml should not use ReadSubtree() when it is
136 not positioned on an Element or the Root. Thus, implement them
137 in their own ways. Fixed bug #79875.
139 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
141 * XPathNavigator.cs : InnerXml should allow Text-only content. Fixed
142 bug #79874, when tied to XPathNavigatorReader fix.
144 2006-04-10 Atsushi Enomoto <atsushi@ximian.com>
146 * XPathNavigator.cs : get_OuterXml() returns indented output, without
149 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
151 * Expression.cs : extracted XPathSortElement, XPathSorters
152 and XPathSorter from CompiledExpression, and split
153 XPathSorters.Sort() into some methods. Those changes are to make
154 them reusable in XslSortEvaluator.
156 2006-02-26 Atsushi Enomoto <atsushi@ximian.com>
158 * Iterator.cs : seems like MS XPathNodeIterator.MoveNext() itself does
159 not handle XsltContext.PreserveWhitespace() unlike ours. It results
160 in not a small performance improvement. (just removed it since it
161 didn't cause any errors in XSLT standalone tests.)
163 2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
165 * Iterator.cs : removed extra field from AxisIterator.
167 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
169 * Iterator.cs : tiny message fix (thanks to alp).
171 2006-01-25 Atsushi Enomoto <atsushi@ximian.com>
173 * XPathNavigator.cs : fixed IsNode signature found by updated
176 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
178 * Iterator.cs : Nowadays removal of cloning of the argument list
179 in ListIterator is safe. Thanks to Joshua Tauberer for the hint.
181 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
183 * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the
184 error message is for blaming custom XPathNavigator
185 implementation, not us ;-) (see also #77194)
187 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
189 * XPathNavigator.cs : use WriteNode(XPathNavigator, bool)
190 rather than WriteNode(XmlWriter, bool) in WriteSubtree().
192 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
194 * XPathNavigator.cs : Added MonoTODO to CreateAttributes(). Removed
195 MonoTODO from ReadSubtree().
197 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
199 * XPathNavigator.cs : UnderlyingObject returns null by default.
201 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
203 * XPathNavigator.cs : Reimplemented MoveToFollowing() to avoid
204 inefficient MoveToDescendant() and to match .NET 2.0 behavior.
206 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
208 * XPathNavigator.cs : ReplaceSelf() should allow document fragment.
209 Moved implementation to XPathEditableDocument.
211 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
213 * XPathNavigator.cs : PrependChild() should use AppendChild() when
216 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
218 * XPathNavigator.cs : InsertAfter() should raise an error before
219 MoveToNext() when current node is either attribute or namespace.
221 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
223 * XPathNavigator.cs : InsertAfter() should append children after it
224 once moved to parent. This method shoulr raise an error when it is
227 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
229 * XPathNavigator.cs : (CreateFragmentReader) return XmlReader that
230 considers current namespace contexts.
232 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
234 * XPathNavigator.cs : removed some MonoTODOs.
236 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
238 * XPathDocument.cs : garbage cleanup.
240 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
242 * Iterator.cs: fixed UnionIterator.SetCurrent method, the
243 navigators may be from different xml files.
245 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
247 * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
248 navigators may be from different xml files.
250 2005-11-10 Atsushi Enomoto <atsushi@ximian.com>
252 * XPathNavigator.cs, XPathNodeIterator.cs :
253 [DebuggerDisplay] are not worthy of existing.
255 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
257 * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
258 values are fixed. However, they totally do not make sense since
259 there is no DebuggerDisplayProxy type in our impl.
261 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
263 * XPathException.cs : Message property is back in 2.0 RTM.
265 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
267 * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
268 * XPathNavigator.cs : [DebuggerDisplay] as well.
269 SelectSingleNode() and AppendChildElement() are now virtual.
271 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
273 * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
274 MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
275 This fixes XPathEditableDocument.MoveToFirst().
277 2004-10-15 Atsushi Enomoto <atsushi@ximian.com>
279 * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
280 likely to be implemented, thus MonoTODO.
282 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
284 * XPathNavigator.cs: Removed DebuggerDisplay attribute.
285 * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
287 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
289 * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
290 added ReplaceRange and DeleteRange methods.
291 * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
293 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
295 * Expression.cs : Now that managed collation is default, we don't need
296 reversive case-order anymore.
298 2004-09-21 Atsushi Enomoto <atsushi@ximian.com>
300 * XPathNavigator.cs : added NavigatorComparer.
301 * XPathComparer.cs : XPathNavigatorComparer implements
302 IEqualityComparer under NET_2_0 profile.
304 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
306 * XPathException.cs: Added a Demand for SerializationFormatter on
307 GetObjectData method.
309 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
311 * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
314 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
316 * Expression.cs : don't expect namespace resolver; namespace could be
317 supplied in QName without nsresolver need (i.e. SelectChildren()).
320 2005-06-09 Andrew Skiba <andrews@mainsoft.com>
322 * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
324 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
326 * Expression.cs : set TARGET_JVM where collation matters.
328 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
330 * XPathAtomicValue.cs :
331 it is now XmlAtomicValue and in sys.xml.schema.
332 * XPathNavigator.cs, Expression.cs :
333 removed atomizedName related 2.0 members (deprecated).
335 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
337 * XPathExpression.cs : added static Compile().
338 * XPathNavigator.cs :
339 Use XPathExpression.Compile() for now.
340 Updated tree modification API to 2.0 beta2.
341 * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
342 updated to 2.0 beta2 API.
343 * XPathResultType.cs : removed [Serializable].
344 * XmlNodeChangeType.cs : removed obsolete file.
346 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
348 * XPathNavigator.cs : 2.0 build fix
350 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
352 * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
353 B is child axis test (thus peer&subtree optimization became possible)
354 Fixed warning (incorrect variable let).
356 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
358 * XPathNavigator.cs : reduced some Clone().
359 Simplified ComparePosition().
360 * Iterator.cs : some iterators are not actually reverse axis.
362 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
364 * Expression.cs : EvaluateBoolean() for RTF should check return true
365 for empty elements. Fixed static analysis for RTF.
367 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
369 * Parser.jay, Tokenizer.cs : Now they are used as common code base for
370 XPath parser and XSLT pattern parser. Makefile now creates two
371 set of sources of them. (This change takes effect on the next change).
373 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
375 * Parser.jay : rewrote step part to be reusable for upcoming XSLT
378 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
380 * Iterator.cs : reduced extra clone.
382 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
386 Iterator.cs : Now RequireSorting is not required in BaseIterator
387 (it is now fully in Expression).
388 Removed the last ListIterator .ctor() argument.
390 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
392 * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
394 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
397 DefaultContext.cs : Basic constant folding optimization (not so
398 effective right now). Unified number-to-string conversion code into
399 XPathFunctions.ToString(double) to avoid roundtrip format right now.
400 * Iterator.cs : removed unused code.
402 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
404 * Iterator.cs : more clone reduction.
406 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
408 * Expression.cs, DefaultContext.cs : more Peer overrides.
410 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
413 DefaultContext.cs : Removed unused NeedAbsoluteMatching.
414 Added Peer and Subtree (for "peer & subtree optimization. See:
415 http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
416 Fixed some ToString() that caused NullReferenceException.
418 * Iterator.cs : Predicate does not affect on RequireSorting.
419 Added SimpleSlashIterator for peer & subtree optimization.
421 Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
423 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
427 SlashIterator is now constructed with requireSorting parameter
428 that thus just use RequireSorting from both left/right Expressions,
430 When attribute axis is on the left expression, the result needs to
433 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
435 * Iterator.cs : Now for most of iterator types, Current property always
436 returns the same instance. It results in huge memory reduction.
438 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
440 * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
441 key should be iterator itself. Key by list count never makes sense.
443 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
445 * Expression.cs : Significant whitespace nodes must be returned in
448 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
450 * Expression.cs : xsl:sort case-order was not handled properly.
452 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
455 In FollowingIterator, attribute and namespace nodes should be
456 considered to have following nodes. See XPath 1.0 section 5 (esp.
457 the description on "document order").
458 On fixing @*/following::*, attribute nodes are regarded as to be
459 RequireSorting = true (which might result in duplicate).
461 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
463 * Expression.cs : string() function expects "Infinity" and "-Infinity"
464 instead of "INF" for conversion from number. XmlConvert is for XSD,
467 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
469 * Expression.cs : RelationalExpr was comparing number and node in
470 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
471 RelationalExpr should also handle result tree fragment as node-set
472 as well as EqualityExpr. This fixes RTF case wrt #72343.
474 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
476 * Expression.cs : tiny code format fix by Andrew Skiba.
478 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
480 * XPathNavigator.cs : Added CheckValidity() and ValueType.
481 For SetTypedValue(), throw NotSupportedException instead of
482 NotImplementedException.
484 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
486 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
487 all the missing attributes.
489 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
491 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
492 eliminated string fields from struct.
493 (When we switch from struct to class, revert this change to use
494 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
495 wasting processing speed.)
497 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
499 * Iterator.cs : when PredicateIterator has a numeric predicate, it
500 will never be true twice. So just break up the iteration on true.
501 * XPathNavigator.cs : implemented LookupPrefix().
502 * Expression.cs : ExprParens.Optimize() could just return the content
505 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
507 * IXPathChangeNavigable.cs,
509 XPathDocumentNodeChangedAction.cs : removed old files.
511 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
513 * Iterator.cs : with related to the previous patch, many comments
514 got making no sense. Thanks to Harinath.
516 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
518 * Iterator.cs : actually I mean this patch.
520 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
522 * Iterator.cs : Create _current clone only when required. So just set
523 null when MoveNextCore() succeeded (except for some cases that
524 _current is _nav, such as SelfIterator).
526 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
528 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
529 it has to collect nodes in prior or not and whether it might return
530 nodes in inconsistent order is different matter.
531 (It still needs to store nodes when either of branches requires
532 sorting, because they might return the same node later.)
534 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
536 * Iterator.cs : reduced some extraneous ComparePosition() that could
537 be written as IsSamePosition(). ParentIterator doesn't have to be
540 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
542 * Iterator.cs : reimplemented AncestorIterator and
543 AncestorOrSelfIterator just to collect parents and not to move to
544 siblings. In some cases like thousands of siblings, it used to be
545 so slow, while we usually don't have so deep ancestors.
547 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
549 * Expression.cs : warning removal. Added Optimize() which is not
551 * Tokenizer.cs : warning elimination
553 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
555 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
556 IXPathEditable.cs : more removal of oldies.
558 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
560 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
562 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
564 * Tokenizer.cs : just use raw string instead of char[].
565 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
567 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
570 - Made copy constructor certainly different from other constructors.
571 - Position is never computed in each derived type. All MoveNext() are
573 - Most of the protected members could just be private.
575 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
577 * Expression.cs, XPathNavigator.cs : hold raw expression field for
578 get_Expression. It is preparation for expression optimization.
580 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
582 * Iterator.cs : SimpleIterator._current could be cloned only when
585 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
587 * Iterator.cs : Some removal of Clone() were harmless.
589 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
591 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
593 * XPathEditableNavigator.cs : It will be removed. Right now modified
595 * XPathNavigator.cs : Added members that are merged from
596 XPathEditableNavigator. Updated members name.
598 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
601 - Added WrapperIterator to return BaseIterator in such case that
602 variable reference is resolved to XPathNodeIterator. This fixes
604 - Path ".." is reverse axis (actually no effect).
605 - Fixed DescendantIterator.Clone() that missed "_finished" field.
607 In ExprVariable.Evaluate(), use WrapperIterator() for custom
610 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
612 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
614 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
616 * XPathAtomicValue.cs : missing Init() definition for float and string;
617 latter one resulted in infinite loop in Init(object,XmlSchemaType).
619 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
621 * XPathNavigator.cs : TypedValue could be implemented.
622 * XPathEditableNavigator.cs : removed some MonoTODO since now there
625 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
627 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
628 In .ctor(object, XmlSchemaType):
629 - For lists that contains just one item, Init() recursively.
630 - For XPathAtomicValue, Init() recursively for its content fields.
631 For Value and TypedValue, consider typecode from XmlSchemaType.
633 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
635 * XPathEditableNavigator.cs :
636 AppendChild(xmlReader) ignored nodes after than first one, and
637 resulted in infinite loop.
638 Added get_OuterXml overrides. set_OuterXml should not move to
639 parent before deleting current.
641 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
643 * XPathAtomicValue.cs : Value was not returning expected value when
644 it is created as new XPathAtomicValue (object, XmlSchemaType).
645 Compute stringValue and reuse.
646 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
647 (for checking XQuery implementation).
649 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
651 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
652 precisely (still not enough, for list argument).
653 Removed commended blocks.
655 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
657 * XPathAtomicValue.cs : DateTime should be convertible to string.
658 Use schemaType's TypeCode for .ctor() that takes object.
659 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
660 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
661 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
664 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
666 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
668 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
670 * XPathEditableNavigator.cs : implemented some editor support methods.
672 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
675 - For .NET 2.0, added a switch to support new XPathDocument2.
676 If switch is off, then it uses DTM.
677 - Implemented remaining 2.0 bits (except for Obsolete ones).
679 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
680 (It is still too unstable to pass all nunit tests and standalone XSLT
683 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
685 * XPathNavigator.cs : Implemented ReadSubtree().
687 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
689 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
690 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
691 IXPathEditable.CreateEditor().
693 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
695 * XPathEditableNavigator.cs : Implemented InsertAfter() and
696 PrependChild(); they are virtual, not abstract.
697 * XPathNavigator.cs :
698 Implemented many 2.0 virtual properties and methods that were
700 Implemented some Select() methods that uses IXmlNamespaceResolver.
701 Implemented most of ValueAsXxx() using XQueryConvert.
702 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
703 actually they don't work because it depends on ReadSubtree()).
705 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
707 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
708 * XPathEditableNavigator.cs : added BuildSubTree().
709 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
711 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
713 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
715 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
717 * XPathExpression.cs, Expression.cs :
718 Added SetContext(IXmlNamespaceResolver).
719 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
720 * XPathAtomicValue.cs : Halfly implemented.
721 * XPathDocument.cs : Added 2.0 members.
722 * XPathDocumentNodeChangedAction.cs : updated member names.
723 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
724 * XPathNavigator.cs : Added missing 2.0 members.
725 Fixed some members as virtual->override.
727 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
729 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
730 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
732 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
734 * Expression.cs, Iterator.cs, XPathNavigator.cs :
735 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
736 * XPathEditableNavigator.cs : fixed namespace.
737 * XPathNavigator.cs :
738 Fixed inheritance. Added missing MonoTODO.
739 Removed old .net 1.2 code.
741 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
743 * DefaultContext.cs : Globalization.
744 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
745 in case of empty list. Thus extraneous iteration might happened.
746 Removed unused (and clone unsafe) EnumeratorIterator.
748 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
750 * XPathDocument.s : The previous patch is still incomplete to close.
752 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
754 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
756 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
758 * Expression.cs : LookupNamespace() only allows already-atomized names.
759 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
762 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
764 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
766 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
767 the same as well as NodeSet. This fixes bug #59134.
769 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
771 * XPathAtomicValue.cs : missed NET_2_0.
773 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
775 * IXPathChangeNavigable.cs,
777 NodeChangedEventArgs.cs,
778 NodeChangedEventHandler.cs,
780 XPathChangeNavigator.cs,
781 XPathDocumentNodeChangedAction.cs,
782 XPathEditableNavigator.cs,
785 XmlNodeChangeType.cs : added NET_2_0 classes.
787 XPathNavigator.cs : updated NET_2_0 members.
789 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
791 * Expression.cs : We should not catch all kind of exception. Just
792 throwing any kind of exception would be preferable.
793 Added support for XPathNavigator values.
795 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
797 * DefaultContext.cs : Removed MonoTODO. done.
798 * Expression.cs : handle XPathResultType.Navigator in some places and
799 removed MonoTODO. Mark MonoTODO with explicit comments (though they
800 are mostly pointing out possibilities of optimization).
801 Removed extra check that depended on the old bugs.
802 * XPathResultType.cs : Fixed .Navigator that had the same value as
805 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
807 * Parser.jay : made class internal.
809 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
811 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
812 result of MoveToParent() should be checked.
814 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
816 * XPathNavigator.cs : Only child and attribute axes are allowed for
818 * Expression.cs : Added IsPositional property.
819 * DefaultContext.cs : Added some overrides.
821 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
823 * XPathNavigator.cs : no, its still not ok. comment out now.
825 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
827 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
828 to reduce extraneous Matches() trial.
829 * Iterator.cs : Removed unused MergedIterator.
830 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
831 unnecessarily. (Test with NeedAbsoluteMatching).
833 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
835 * Iterator.cs : Added overriden Count properties for some iterators
836 (this fixes the half of #50678).
837 Added ListIterator class (which can reduce GetEnumerator()).
838 In some places we can omit clone for Current property, so added
839 some check logic (It has no effect as yet).
840 * Expression.cs, DefaultContext.cs :
841 use ListIterator instead of EnumeratorIterator.
843 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
845 * DefaultContext.cs, Expression.cs, Iterator.cs :
846 tiny foreach elimination.
848 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
850 * DefaultContext.cs : trivial processing order fix.
852 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
854 * DefaultContext.cs : Avoid exception if possible.
855 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
856 nav was positioned at the first, it incorrectly points itself.
857 Don't add names to name table while it is useless and expensive.
859 2004-01-08 Nick Drochak <ndrochak@ieee.org>
861 * Iterator.cs: Removed unused variable.
863 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
865 * Parser.jay : now it supresses error output from jay.
866 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
867 * Tokenizer.cs : better error message.
868 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
869 (just found MS.NET actually supports it)
871 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
873 * Iterator.cs : On its iteration, moving Current must not affect to
874 MoveNext(). To assure this, Current must be a clone of navigator.
877 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
879 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
880 * Iterator.cs : ParensIterator can inherit from BaseIterator.
881 SlashIterator copy .ctor() always failed to clone. This fixes Count.
883 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
885 * Expression.cs : XPathSorters.Compare() should compare document
886 position. See last sentence of XSLT 1.0 secion 10.
888 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
890 * DefaultContext.cs : Overrode all functions' ToString().
891 XPathFunctions.ToNumber() trims whitespaces at both side.
892 Fixed NullReferenceException in normalize-space().
893 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
894 attribute or namespace node correctly.
895 SlashIterator.Clone() didn't clone "next node iterator" correctly.
896 EnumeratorIterator.ctor() should raise an error (not at Clone())
897 when the target IEnumerator is not ICloneable.
899 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
901 * Expression.cs : namespace axis now traversed in reverse order, so it
903 * Iterator.cs : UnionIterator.Clone() was incomplete.
904 NamespaceItarator() should be reverse order (special handling
905 because of XPathNavigator specification).
907 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
909 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
910 * XPathNavigator.cs : ComparePosition() didn't handle attributes
913 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
915 * Parser.jay, Expression.cs, Iterator.cs :
916 Added ExprParens and ParensIterator classes which is used to handle
917 precedence of parenthesized expressions.
918 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
920 * Expression.cs, Iterator.cs :
921 Added RequireSorting property for each Expr and BaseIterator classes.
922 SlashIterator.MoveNext() now considers correct sorting. But
923 considering performance, it separates two logics, sorted and sortless
924 depending on RequireSorting of left iterator and right expression.
927 SimpleIterator.ctor() should consider when nav is null.
928 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
929 not return any nodes.
930 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
932 AncestorIterator.MoveNext() should skip Root if context node is
934 FollowingIterator.MoveNext() should not handle children of context
936 PrecedingIterator.MoveNext() should skip its ancestors.
937 AxisIterator.ReverseAxis should be dependent on its containing iter.
938 UnionIterator.MoveNext() should consider comparison of nodes in
939 different document. The behavior is implementation dependent.
942 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
944 * Added XPathComparer.cs
945 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
946 iterator correctly, and sort results.
948 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
950 * DefaultContext.cs : Imcomplete fix ;-)
952 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
954 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
955 XPathFunctionId.cs : Exposed Id expression.
956 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
957 will be used to solve evaluation precedence problem).
959 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
961 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
962 inconsistent order, and 2)may return duplicate result nodes.
964 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
966 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
967 it inherit from the base class. This made b[2] evaluated on
968 <a /><b /><c /><a /><b /><c /> return the first b node because
969 in the ChildIterator it was the second node and seemed to satsify
972 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
974 * Iterator.cs : Added bool ReverseAxis property to identify whether
975 the iterator is in reverse order or not. Added ComparablePosition
976 for correct position comparison for PredicateIterator and reverse-
977 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
978 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
979 return their nodes in document order. This fixes bugzilla #39079.
981 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
983 * Iterator.cs : DescendantIterator and FollowingIterator also should
984 not MoveNext() after they reached to the end.
986 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
988 * Iterator.cs : Fixed UnionIterator who ignores document order.
989 Fixed SlashIterator whose MoveNext() should finish at its end.
991 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
993 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
994 use NameTable so we dont call strcmp.
996 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
998 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
1000 * Iterator.cs, Expression.cs: All axes are
1001 SimpleIterators. SimpleIterators are gaurenteed to give the same
1002 XPathNavigator in Current. Make AxisIterator take a
1003 SimpleIterator, not any old BaseIterator. Will allow us to make
1004 NameTable optimizations and avoid quite a few strcmp's.
1006 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
1008 * Expression.cs: make // work right, must use another slash itr.
1010 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1012 * Expression.cs: cant use $$ before assigned.
1014 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1016 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
1018 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
1020 * Expression.cs: num != double.NaN does not work.
1022 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
1024 * Expression.cs: in NodeTypeTest dont throw an exception if it is
1025 an unknown node type (allows for better Pattern debugging).
1027 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
1029 * DefaultContext.cs: implement sum () and translate ().
1031 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
1033 * XPathNavigator.cs: Make methods where you pass in the context,
1034 so that we dont have to clone expressions so much.
1036 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1038 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
1039 system functions are actually expressions. Will allow for some
1042 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
1044 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
1045 improvement in the method (5ms/call -> .7 ms / call) measured by
1046 monodoc's rendering of N:System.
1047 * Expression.cs: Utility methods to support above.
1049 2003-08-13 Piers Haken <piersh@friskit.com>
1052 fix MergedIterator.Clone(), now clones other's iterators
1053 fix DescendantIterator.Clone(), now copies depth
1054 make iterator cloning constructors more type-specific
1056 2003-08-01 Piers Haken <piersh@friskit.com>
1058 * Expression.cs: added NodeNamespaceTest
1059 * XPathNavigator.cs: implement Select* with namespaces
1061 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1063 * Iterator.cs: Allow creation of an EnumeratorIterator with an
1064 XmlNamespaceManager.
1066 2003-07-31 Piers Haken <piersh@friskit.com>
1069 Nested predicates (uses ExprFilter instead)
1071 make grammar look more like w3c spec
1073 remove ExprStep, ExprPredicates
1074 NodeTest is now a NodeSet
1077 PredicateIterator now only takes a single predicate expression
1079 * XPathNavigator.cs:
1080 simplified SelectTest
1081 * XPathException.cs:
1084 2003-07-30 Duncan Mak <duncan@ximian.com>
1090 2003-07-29 Piers Haken <piersh@friskit.com>
1092 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
1094 2003-07-29 Piers Haken <piersh@friskit.com>
1096 * XPathNavigator.cs:
1098 add typesafe Evaluate* methods
1100 2003-07-29 Piers Haken <piersh@friskit.com>
1102 * DefaultContext.cs: fix 'substring-after'
1104 2003-07-29 Piers Haken <piersh@friskit.com>
1106 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
1108 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
1110 * Iterator.cs: dont throw exceptions on tostring ()
1112 2003-07-28 Piers Haken <piersh@friskit.com>
1114 * DefaultContext.cs: better handling of null argument lists
1115 * XPathNavigator.cs: implement ComparePosition
1117 2003-07-28 Piers Haken <piersh@friskit.com>
1119 * Expression.cs: boolean operators: handle comparing .Any better
1121 2003-07-28 Piers Haken <piersh@friskit.com>
1123 * DefaultContext.cs: count() should return a double
1124 * Expression.cs: better support for handling non-double numbers
1126 2003-07-28 Piers Haken <piersh@friskit.com>
1128 * DefaultContext.cs: better function param matching
1130 2003-07-27 Piers Haken <piersh@friskit.com>
1133 * DefaultContext.cs:
1134 catch FormatExceptions while parsing numbers
1136 2003-07-27 Piers Haken <piersh@friskit.com>
1139 fix case sorting order
1140 allow EvaluateNumber to take XPathResultType.Any
1142 2003-07-27 Piers Haken <piersh@friskit.com>
1146 don't pass null to XmlQualifiedName constructor
1148 2003-07-27 Piers Haken <piersh@friskit.com>
1150 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
1152 2003-07-27 Piers Haken <piersh@friskit.com>
1154 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
1156 2003-07-26 Piers Haken <piersh@friskit.com>
1158 * Expression.cs: fix function evaluation with ambigous argument types
1159 * XPathNavigator.cs: fix silly null reference bug
1161 2003-07-26 Piers Haken <piersh@friskit.com>
1164 * DefaultContext.cs:
1165 ArrayListIterator->EnumeratorIterator
1166 * Expression.cs: add sorting support
1168 2003-07-26 Piers Haken <piersh@friskit.com>
1172 move QName parsing into tokenizer
1174 fix evaluating XPathResultType.Any
1175 fix ExprDiv.ToString()
1176 fix NodeTypeTest.ToString() (for namespace axis)
1178 2003-07-25 Piers Haken <piersh@friskit.com>
1180 * Expression.cs: return clone of $var evaluation
1182 2003-07-26 Piers Haken <piersh@friskit.com>
1184 * Iterator.cs: add setter for NamespaceManager
1185 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
1186 * Expression.cs: fix func/var exception strings
1188 2003-07-25 Piers Haken <piersh@friskit.com>
1190 * Expression.cs: implement ExprFilter.Evaluate
1192 2003-07-25 Piers Haken <piersh@friskit.com>
1194 * Expression.cs: implement ExprVariable.Evaluate
1196 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
1198 * DefaultContext.cs: implement lang ()
1200 2003-07-24 Piers Haken <piersh@friskit.com>
1204 allow ExprUNION to take non-nodeset (eg, $var) arguments
1206 2003-07-24 Piers Haken <piersh@friskit.com>
1208 * Tokenizer.cs: fix variable references
1211 * XPathNavigator.cs:
1212 use XmlQualifiedName
1214 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1216 * XPathDocument.cs : removed Driver class and restored authors' name
1217 (though it is completely rewrote).
1219 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1221 * XPathDocument.cs : Replaced existing stub class with real
1222 XPathDocument implementation.
1224 2003-04-28 Piers Haken <piersh@friskit.com>
1226 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
1228 2003-03-07 Piers Haken <piersh@friskit.com>
1230 * Tokenizer.cs: allow '.'s in NCNames
1232 2003-03-07 Piers Haken <piersh@friskit.com>
1235 * DefaultContext.cs:
1236 fixed function argument resolution
1238 2003-02-09 Piers Haken <piersh@friskit.com>
1240 * XPathNavigator.cs:
1242 * Expression.cs: fix namespace handling
1244 2003-01-04 Piers Haken <piersh@friskit.com>
1246 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1248 2003-02-02 Piers Haken <piersh@friskit.com>
1250 * Parser.jay: add token names
1251 * Tokenizer.cs: fix NCName tokenization
1253 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1255 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1256 (It should be a temporary fix.)
1258 2002-09-22 Nick Drochak <ndrochak@gol.com>
1260 * Parser.cs: Remove extraneous "using" that was stopping the build.
1262 2002-09-21 Piers Haken <piersh@friskit.com>
1264 * XPathException: implementation
1269 * XPathNavigator.jay:
1272 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1274 * Parser.cs: commented out non-existent namespace (it compiles fine
1275 with mcs because of a bug that is already on bugzilla).
1277 2002-09-12 Piers Haken <piersh@friskit.com>
1279 * Tokenizer.cs: fix parsing numbers that start with '.'
1280 * DefaultContext.cs: use MS-compatible formatting of doubles
1282 2002-09-12 Piers Haken <piersh@friskit.com>
1284 * Iterator.cs: added NullIterator to handle unspecified contexts
1285 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1286 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1288 2002-09-12 Piers Haken <piersh@friskit.com>
1290 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1291 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1292 * DefaultContext.cs: fix id() return type.
1294 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1296 * DefaultContext.cs: fixed bug #28840.
1297 * Expression.cs: added FIXME.
1299 2002-08-17 Jason Diamond <jason@injektilo.org>
1301 * XPathNavigator.cs: Fixed matching on patterns that look like
1302 absolute XPath expressions.
1304 2002-08-17 Jason Diamond <jason@injektilo.org>
1306 * XPathNavigator.cs: Added naive (but working) implementation of
1309 2002-07-31 Piers Haken <piersh@friskit.com>
1311 * XPathDocument.cs: simple, XmlDocument-based implementation
1313 2002-07-25 Piers Haken <piersh@friskit.com>
1315 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1317 2002-07-17 Piers Haken <piersh@friskit.com>
1319 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1320 * Parser.jay: remove redundant production
1321 * Expression.cs: add switches for debugging under VS.NET
1323 2002-07-17 Piers Haken <piersh@friskit.com>
1325 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1327 2002-07-15 Piers Haken <piersh@friskit.com>
1330 - rename UnionIterator to MergedIterator,
1331 - create new UnionIterator to implment uniqueness for '|' operator
1332 - fix position bug in ArrayListIterator.Clone()
1333 * Expression.cs: use new UnionIterator constructor syntax
1335 2002-07-12 Piers Haken <piersh@friskit.com>
1337 * Iterator.cs: PredicateIterator: handle numeric predicates
1338 * Parser.jay: add some debugging support: yyparseDebug
1339 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1341 2002-06-29 Piers Haken <piersh@friskit.com>
1345 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1346 - remove NodeTestTypes enum
1347 - remove NodeTestTypeAny (functionality provided by base now)
1348 - fix ExprStep to handle wildcard QNames
1350 - moved to Mono.Xml.XPath namespace
1351 - use XPathResultType
1352 - handle wildcard QNames
1354 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1356 * XPathNavigator.cs: implement
1362 * XPathResultType.cs: fix enum values
1364 2002-06-24 Jason Diamond <jason@injektilo.org>
1366 * XPathScanner.cs: Removed.
1368 2002-06-24 Dick Porter <dick@ximian.com>
1370 * XmlCaseOrder.cs: Fix namespace
1372 2002-06-23 Piers Haken <piersh@friskit.com>
1374 * DefaultContext.cs: implemented XPathFUnctionId
1375 * Iterator.cs: new ArrayListIterator for id() support
1377 2002-06-23 Piers Haken <piersh@friskit.com>
1379 * XPathNavigator.cs: implement:
1385 - some forwarding methods
1387 * XPathNodeIterator: implement caching Count
1389 * Tokenizer.cs: new XPath tokenizer
1390 * Parser.jay: new XPath grammar
1391 * Parser.cs: new precompiled XPath grammar
1392 * Expression.cs: new XPath expression objects
1393 * Iterator.cs: new XPath result/context objects
1394 * DefaultContext.cs: new XPath function binding context
1396 2002-05-08 Tim Coleman <tim@timcoleman.com>
1398 * XPathException.cs: New stub files added.
1400 2002-04-12 Duncan Mak <duncan@ximian.com>
1402 * XmlCaseOrder.cs: Moved to here from System.Xml.
1404 2002-03-26 Jason Diamond <jason@injektilo.org>
1406 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
1407 steps. Both absolution and relative abbreviated location paths.
1409 2002-03-25 Jason Diamond <jason@injektilo.org>
1411 * XPathScanner.cs: Added new file. This class is supposed to be internal
1412 but that would make it impossible to test.
1414 2002-03-08 Duncan Mak <duncan@ximian.com>
1416 * XPathNamespaceScope.cs:
1418 * XPathResultType.cs:
1420 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1421 implementation. XPathResultType is interesting as EnumCheck does
1422 not show the Navigator element, but shows the String element twice.
1424 2002-03-08 Jason Diamond <jason@injektilo.org>
1426 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1428 2002-03-06 Jason Diamond <jason@injektilo.org>
1430 * ChangeLog: Added to this directory.
1432 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1433 XPathResultType.cs: New files.
1435 * XPathNavigator.cs: Stubbed out all properties and methods.