1 2009-04-15 Atsushi Enomoto <atsushi@ximian.com>
3 * Expression.cs : extensions could return null and it should be
4 regarded as empty node-set, not an error.
6 2009-03-17 Atsushi Enomoto <atsushi@ximian.com>
8 * Expression.cs : gave up another optimization for bug #443090.
10 2009-03-17 Atsushi Enomoto <atsushi@ximian.com>
12 * XPathExpression.cs : eliminate use of ExpressionCache and lose
13 significant performance in some use for the sake of multithreaded
14 use. Fixed bug #477049.
16 2009-01-20 Atsushi Enomoto <atsushi@ximian.com>
18 * Expression.cs : give up sortless iterator optimization.
21 2008-12-09 Atsushi Enomoto <atsushi@ximian.com>
23 * Iterator.cs : DescendantIterator.Clone() was not cloning current
24 node in new code. Fixed bug #456103.
26 2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
28 * Expression.cs : fix WeakReference usage for such case that it
29 might GC-ed between .IsAlive check and .Target retrieval.
31 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
33 * XPathExpression.cs, Expression.cs : Cache compiled xpath
34 expressions so that they don't have to be parsed repeatedly.
36 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
38 * Expression.cs : unindend cases that do not match our coding style.
40 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
42 * Expression.cs : fixed peer & subtree requirement and reduced extra
43 dependency on RequireSorting property.
45 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
47 * Expression.cs, Iterator.cs : simplify SlashIterator by introducing
50 2008-10-06 Atsushi Enomoto <atsushi@ximian.com>
52 * Expression.cs, Iterator.cs : ChildIterator is not a SimpleIterator
53 now. And reduced extra clone when the context node has no child.
55 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
57 * Iterator.cs : now we do not seem to need clone in
58 SimpleIterator.Current.
60 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
62 * XPathNavigator.cs : enable EnumerableIterator with some fixes.
63 * Iterator.cs : reduce extra steps for empty simple iterator.
65 2008-10-02 Atsushi Enomoto <atsushi@ximian.com>
67 * Iterator.cs, DefaultContext.cs, XPathNavigator.cs, Expression.cs:
68 couple of refactoring: reduced presumption on BaseIterator (it is
69 premised in not a few places, but it might change; see
70 EnumerableIterator in XPathNavigator.cs).
71 Now BaseIterator.Current is always null (to clean up ambiguous
72 implementation state). Current property is now always moved to
73 the current node in the iterator when returned.
75 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
77 * DefaultContext.cs, Expression.cs: do not premise BaseIterator.
79 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
81 * XPathComparer.cs : no need to limit to BaseIterator.
83 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
85 * XPathNavigator.cs : oops, wrong #if ranges.
87 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
89 * XPathNavigator.cs : made some 2.0-only methods available in 1.x
90 so that we don't have to hesitate to optimize xpath using them.
92 2008-06-03 Atsushi Enomoto <atsushi@ximian.com>
94 * Expression.cs : help diagnose variable resolution failure.
96 2008-04-02 Atsushi Enomoto <atsushi@ximian.com>
98 * XPathNavigator.cs : fixed InnerXml to not give up with root node.
99 Indent InnerXml. Fixed bug #376191.
101 2008-02-27 Atsushi Enomoto <atsushi@ximian.com>
103 * XPathNavigator.cs : in some MoveTo*() methods, it should allow any
104 destination node when "type" is XPathNodeType.All. Based on the
105 patch by Sanghyeon Seo, fixed bug #365112.
107 2008-02-12 Atsushi Enomoto <atsushi@ximian.com>
109 * DefaultContext.cs : now number formatting for "R" works fine, so
110 just use it (and remove conditional compilation for TARGET_JVM).
112 2008-01-10 Konstantin Triger <kostat@mainsoft.com>
114 * Iterator.cs: prevent endless recursion in AncestorIterator
115 while collecting results.
117 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
119 * DefaultContext.cs: Fix direct comparison with NaN. Found by
122 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
124 * Iterator.cs : oops, extra removal that causes perf. loss.
126 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
128 * Iterator.cs : be more strict to detect the end of
129 PredicateIterator. Fixed bug #349111.
131 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
133 * Expression.cs : In any comparison expr, treat RTF as equivalent to
134 string type (as specified in XSLT 1.0 section 11.1: "An operation
135 is permitted on a result tree fragment only if that operation would
136 be permitted on a string." ...). Fixed bug #349035.
138 2007-11-29 Atsushi Enomoto <atsushi@ximian.com>
140 * XPathNavigator.cs : implemented ValueAs().
142 2007-01-30 Atsushi Enomoto <atsushi@ximian.com>
144 * Expression.cs : typo. Close #80669
146 2007-01-05 Atsushi Enomoto <atsushi@ximian.com>
148 * Expression.cs : text() should match whitespace and significant
151 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
153 * XPathNavigator.cs :
154 - ReadSubtree() should reject everything but Element or Root.
155 - InnerXml and OuterXml should not use ReadSubtree() when it is
156 not positioned on an Element or the Root. Thus, implement them
157 in their own ways. Fixed bug #79875.
159 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
161 * XPathNavigator.cs : InnerXml should allow Text-only content. Fixed
162 bug #79874, when tied to XPathNavigatorReader fix.
164 2006-04-10 Atsushi Enomoto <atsushi@ximian.com>
166 * XPathNavigator.cs : get_OuterXml() returns indented output, without
169 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
171 * Expression.cs : extracted XPathSortElement, XPathSorters
172 and XPathSorter from CompiledExpression, and split
173 XPathSorters.Sort() into some methods. Those changes are to make
174 them reusable in XslSortEvaluator.
176 2006-02-26 Atsushi Enomoto <atsushi@ximian.com>
178 * Iterator.cs : seems like MS XPathNodeIterator.MoveNext() itself does
179 not handle XsltContext.PreserveWhitespace() unlike ours. It results
180 in not a small performance improvement. (just removed it since it
181 didn't cause any errors in XSLT standalone tests.)
183 2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
185 * Iterator.cs : removed extra field from AxisIterator.
187 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
189 * Iterator.cs : tiny message fix (thanks to alp).
191 2006-01-25 Atsushi Enomoto <atsushi@ximian.com>
193 * XPathNavigator.cs : fixed IsNode signature found by updated
196 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
198 * Iterator.cs : Nowadays removal of cloning of the argument list
199 in ListIterator is safe. Thanks to Joshua Tauberer for the hint.
201 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
203 * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the
204 error message is for blaming custom XPathNavigator
205 implementation, not us ;-) (see also #77194)
207 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
209 * XPathNavigator.cs : use WriteNode(XPathNavigator, bool)
210 rather than WriteNode(XmlWriter, bool) in WriteSubtree().
212 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
214 * XPathNavigator.cs : Added MonoTODO to CreateAttributes(). Removed
215 MonoTODO from ReadSubtree().
217 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
219 * XPathNavigator.cs : UnderlyingObject returns null by default.
221 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
223 * XPathNavigator.cs : Reimplemented MoveToFollowing() to avoid
224 inefficient MoveToDescendant() and to match .NET 2.0 behavior.
226 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
228 * XPathNavigator.cs : ReplaceSelf() should allow document fragment.
229 Moved implementation to XPathEditableDocument.
231 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
233 * XPathNavigator.cs : PrependChild() should use AppendChild() when
236 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
238 * XPathNavigator.cs : InsertAfter() should raise an error before
239 MoveToNext() when current node is either attribute or namespace.
241 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
243 * XPathNavigator.cs : InsertAfter() should append children after it
244 once moved to parent. This method shoulr raise an error when it is
247 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
249 * XPathNavigator.cs : (CreateFragmentReader) return XmlReader that
250 considers current namespace contexts.
252 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
254 * XPathNavigator.cs : removed some MonoTODOs.
256 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
258 * XPathDocument.cs : garbage cleanup.
260 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
262 * Iterator.cs: fixed UnionIterator.SetCurrent method, the
263 navigators may be from different xml files.
265 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
267 * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
268 navigators may be from different xml files.
270 2005-11-10 Atsushi Enomoto <atsushi@ximian.com>
272 * XPathNavigator.cs, XPathNodeIterator.cs :
273 [DebuggerDisplay] are not worthy of existing.
275 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
277 * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
278 values are fixed. However, they totally do not make sense since
279 there is no DebuggerDisplayProxy type in our impl.
281 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
283 * XPathException.cs : Message property is back in 2.0 RTM.
285 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
287 * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
288 * XPathNavigator.cs : [DebuggerDisplay] as well.
289 SelectSingleNode() and AppendChildElement() are now virtual.
291 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
293 * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
294 MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
295 This fixes XPathEditableDocument.MoveToFirst().
297 2004-10-15 Atsushi Enomoto <atsushi@ximian.com>
299 * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
300 likely to be implemented, thus MonoTODO.
302 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
304 * XPathNavigator.cs: Removed DebuggerDisplay attribute.
305 * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
307 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
309 * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
310 added ReplaceRange and DeleteRange methods.
311 * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
313 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
315 * Expression.cs : Now that managed collation is default, we don't need
316 reversive case-order anymore.
318 2004-09-21 Atsushi Enomoto <atsushi@ximian.com>
320 * XPathNavigator.cs : added NavigatorComparer.
321 * XPathComparer.cs : XPathNavigatorComparer implements
322 IEqualityComparer under NET_2_0 profile.
324 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
326 * XPathException.cs: Added a Demand for SerializationFormatter on
327 GetObjectData method.
329 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
331 * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
334 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
336 * Expression.cs : don't expect namespace resolver; namespace could be
337 supplied in QName without nsresolver need (i.e. SelectChildren()).
340 2005-06-09 Andrew Skiba <andrews@mainsoft.com>
342 * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
344 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
346 * Expression.cs : set TARGET_JVM where collation matters.
348 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
350 * XPathAtomicValue.cs :
351 it is now XmlAtomicValue and in sys.xml.schema.
352 * XPathNavigator.cs, Expression.cs :
353 removed atomizedName related 2.0 members (deprecated).
355 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
357 * XPathExpression.cs : added static Compile().
358 * XPathNavigator.cs :
359 Use XPathExpression.Compile() for now.
360 Updated tree modification API to 2.0 beta2.
361 * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
362 updated to 2.0 beta2 API.
363 * XPathResultType.cs : removed [Serializable].
364 * XmlNodeChangeType.cs : removed obsolete file.
366 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
368 * XPathNavigator.cs : 2.0 build fix
370 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
372 * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
373 B is child axis test (thus peer&subtree optimization became possible)
374 Fixed warning (incorrect variable let).
376 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
378 * XPathNavigator.cs : reduced some Clone().
379 Simplified ComparePosition().
380 * Iterator.cs : some iterators are not actually reverse axis.
382 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
384 * Expression.cs : EvaluateBoolean() for RTF should check return true
385 for empty elements. Fixed static analysis for RTF.
387 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
389 * Parser.jay, Tokenizer.cs : Now they are used as common code base for
390 XPath parser and XSLT pattern parser. Makefile now creates two
391 set of sources of them. (This change takes effect on the next change).
393 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
395 * Parser.jay : rewrote step part to be reusable for upcoming XSLT
398 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
400 * Iterator.cs : reduced extra clone.
402 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
406 Iterator.cs : Now RequireSorting is not required in BaseIterator
407 (it is now fully in Expression).
408 Removed the last ListIterator .ctor() argument.
410 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
412 * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
414 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
417 DefaultContext.cs : Basic constant folding optimization (not so
418 effective right now). Unified number-to-string conversion code into
419 XPathFunctions.ToString(double) to avoid roundtrip format right now.
420 * Iterator.cs : removed unused code.
422 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
424 * Iterator.cs : more clone reduction.
426 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
428 * Expression.cs, DefaultContext.cs : more Peer overrides.
430 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
433 DefaultContext.cs : Removed unused NeedAbsoluteMatching.
434 Added Peer and Subtree (for "peer & subtree optimization. See:
435 http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
436 Fixed some ToString() that caused NullReferenceException.
438 * Iterator.cs : Predicate does not affect on RequireSorting.
439 Added SimpleSlashIterator for peer & subtree optimization.
441 Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
443 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
447 SlashIterator is now constructed with requireSorting parameter
448 that thus just use RequireSorting from both left/right Expressions,
450 When attribute axis is on the left expression, the result needs to
453 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
455 * Iterator.cs : Now for most of iterator types, Current property always
456 returns the same instance. It results in huge memory reduction.
458 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
460 * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
461 key should be iterator itself. Key by list count never makes sense.
463 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
465 * Expression.cs : Significant whitespace nodes must be returned in
468 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
470 * Expression.cs : xsl:sort case-order was not handled properly.
472 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
475 In FollowingIterator, attribute and namespace nodes should be
476 considered to have following nodes. See XPath 1.0 section 5 (esp.
477 the description on "document order").
478 On fixing @*/following::*, attribute nodes are regarded as to be
479 RequireSorting = true (which might result in duplicate).
481 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
483 * Expression.cs : string() function expects "Infinity" and "-Infinity"
484 instead of "INF" for conversion from number. XmlConvert is for XSD,
487 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
489 * Expression.cs : RelationalExpr was comparing number and node in
490 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
491 RelationalExpr should also handle result tree fragment as node-set
492 as well as EqualityExpr. This fixes RTF case wrt #72343.
494 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
496 * Expression.cs : tiny code format fix by Andrew Skiba.
498 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
500 * XPathNavigator.cs : Added CheckValidity() and ValueType.
501 For SetTypedValue(), throw NotSupportedException instead of
502 NotImplementedException.
504 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
506 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
507 all the missing attributes.
509 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
511 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
512 eliminated string fields from struct.
513 (When we switch from struct to class, revert this change to use
514 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
515 wasting processing speed.)
517 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
519 * Iterator.cs : when PredicateIterator has a numeric predicate, it
520 will never be true twice. So just break up the iteration on true.
521 * XPathNavigator.cs : implemented LookupPrefix().
522 * Expression.cs : ExprParens.Optimize() could just return the content
525 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
527 * IXPathChangeNavigable.cs,
529 XPathDocumentNodeChangedAction.cs : removed old files.
531 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
533 * Iterator.cs : with related to the previous patch, many comments
534 got making no sense. Thanks to Harinath.
536 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
538 * Iterator.cs : actually I mean this patch.
540 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
542 * Iterator.cs : Create _current clone only when required. So just set
543 null when MoveNextCore() succeeded (except for some cases that
544 _current is _nav, such as SelfIterator).
546 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
548 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
549 it has to collect nodes in prior or not and whether it might return
550 nodes in inconsistent order is different matter.
551 (It still needs to store nodes when either of branches requires
552 sorting, because they might return the same node later.)
554 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
556 * Iterator.cs : reduced some extraneous ComparePosition() that could
557 be written as IsSamePosition(). ParentIterator doesn't have to be
560 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
562 * Iterator.cs : reimplemented AncestorIterator and
563 AncestorOrSelfIterator just to collect parents and not to move to
564 siblings. In some cases like thousands of siblings, it used to be
565 so slow, while we usually don't have so deep ancestors.
567 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
569 * Expression.cs : warning removal. Added Optimize() which is not
571 * Tokenizer.cs : warning elimination
573 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
575 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
576 IXPathEditable.cs : more removal of oldies.
578 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
580 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
582 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
584 * Tokenizer.cs : just use raw string instead of char[].
585 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
587 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
590 - Made copy constructor certainly different from other constructors.
591 - Position is never computed in each derived type. All MoveNext() are
593 - Most of the protected members could just be private.
595 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
597 * Expression.cs, XPathNavigator.cs : hold raw expression field for
598 get_Expression. It is preparation for expression optimization.
600 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
602 * Iterator.cs : SimpleIterator._current could be cloned only when
605 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
607 * Iterator.cs : Some removal of Clone() were harmless.
609 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
611 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
613 * XPathEditableNavigator.cs : It will be removed. Right now modified
615 * XPathNavigator.cs : Added members that are merged from
616 XPathEditableNavigator. Updated members name.
618 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
621 - Added WrapperIterator to return BaseIterator in such case that
622 variable reference is resolved to XPathNodeIterator. This fixes
624 - Path ".." is reverse axis (actually no effect).
625 - Fixed DescendantIterator.Clone() that missed "_finished" field.
627 In ExprVariable.Evaluate(), use WrapperIterator() for custom
630 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
632 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
634 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
636 * XPathAtomicValue.cs : missing Init() definition for float and string;
637 latter one resulted in infinite loop in Init(object,XmlSchemaType).
639 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
641 * XPathNavigator.cs : TypedValue could be implemented.
642 * XPathEditableNavigator.cs : removed some MonoTODO since now there
645 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
647 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
648 In .ctor(object, XmlSchemaType):
649 - For lists that contains just one item, Init() recursively.
650 - For XPathAtomicValue, Init() recursively for its content fields.
651 For Value and TypedValue, consider typecode from XmlSchemaType.
653 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
655 * XPathEditableNavigator.cs :
656 AppendChild(xmlReader) ignored nodes after than first one, and
657 resulted in infinite loop.
658 Added get_OuterXml overrides. set_OuterXml should not move to
659 parent before deleting current.
661 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
663 * XPathAtomicValue.cs : Value was not returning expected value when
664 it is created as new XPathAtomicValue (object, XmlSchemaType).
665 Compute stringValue and reuse.
666 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
667 (for checking XQuery implementation).
669 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
671 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
672 precisely (still not enough, for list argument).
673 Removed commended blocks.
675 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
677 * XPathAtomicValue.cs : DateTime should be convertible to string.
678 Use schemaType's TypeCode for .ctor() that takes object.
679 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
680 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
681 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
684 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
686 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
688 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
690 * XPathEditableNavigator.cs : implemented some editor support methods.
692 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
695 - For .NET 2.0, added a switch to support new XPathDocument2.
696 If switch is off, then it uses DTM.
697 - Implemented remaining 2.0 bits (except for Obsolete ones).
699 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
700 (It is still too unstable to pass all nunit tests and standalone XSLT
703 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
705 * XPathNavigator.cs : Implemented ReadSubtree().
707 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
709 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
710 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
711 IXPathEditable.CreateEditor().
713 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
715 * XPathEditableNavigator.cs : Implemented InsertAfter() and
716 PrependChild(); they are virtual, not abstract.
717 * XPathNavigator.cs :
718 Implemented many 2.0 virtual properties and methods that were
720 Implemented some Select() methods that uses IXmlNamespaceResolver.
721 Implemented most of ValueAsXxx() using XQueryConvert.
722 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
723 actually they don't work because it depends on ReadSubtree()).
725 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
727 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
728 * XPathEditableNavigator.cs : added BuildSubTree().
729 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
731 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
733 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
735 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
737 * XPathExpression.cs, Expression.cs :
738 Added SetContext(IXmlNamespaceResolver).
739 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
740 * XPathAtomicValue.cs : Halfly implemented.
741 * XPathDocument.cs : Added 2.0 members.
742 * XPathDocumentNodeChangedAction.cs : updated member names.
743 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
744 * XPathNavigator.cs : Added missing 2.0 members.
745 Fixed some members as virtual->override.
747 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
749 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
750 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
752 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
754 * Expression.cs, Iterator.cs, XPathNavigator.cs :
755 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
756 * XPathEditableNavigator.cs : fixed namespace.
757 * XPathNavigator.cs :
758 Fixed inheritance. Added missing MonoTODO.
759 Removed old .net 1.2 code.
761 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
763 * DefaultContext.cs : Globalization.
764 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
765 in case of empty list. Thus extraneous iteration might happened.
766 Removed unused (and clone unsafe) EnumeratorIterator.
768 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
770 * XPathDocument.s : The previous patch is still incomplete to close.
772 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
774 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
776 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
778 * Expression.cs : LookupNamespace() only allows already-atomized names.
779 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
782 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
784 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
786 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
787 the same as well as NodeSet. This fixes bug #59134.
789 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
791 * XPathAtomicValue.cs : missed NET_2_0.
793 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
795 * IXPathChangeNavigable.cs,
797 NodeChangedEventArgs.cs,
798 NodeChangedEventHandler.cs,
800 XPathChangeNavigator.cs,
801 XPathDocumentNodeChangedAction.cs,
802 XPathEditableNavigator.cs,
805 XmlNodeChangeType.cs : added NET_2_0 classes.
807 XPathNavigator.cs : updated NET_2_0 members.
809 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
811 * Expression.cs : We should not catch all kind of exception. Just
812 throwing any kind of exception would be preferable.
813 Added support for XPathNavigator values.
815 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
817 * DefaultContext.cs : Removed MonoTODO. done.
818 * Expression.cs : handle XPathResultType.Navigator in some places and
819 removed MonoTODO. Mark MonoTODO with explicit comments (though they
820 are mostly pointing out possibilities of optimization).
821 Removed extra check that depended on the old bugs.
822 * XPathResultType.cs : Fixed .Navigator that had the same value as
825 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
827 * Parser.jay : made class internal.
829 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
831 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
832 result of MoveToParent() should be checked.
834 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
836 * XPathNavigator.cs : Only child and attribute axes are allowed for
838 * Expression.cs : Added IsPositional property.
839 * DefaultContext.cs : Added some overrides.
841 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
843 * XPathNavigator.cs : no, its still not ok. comment out now.
845 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
847 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
848 to reduce extraneous Matches() trial.
849 * Iterator.cs : Removed unused MergedIterator.
850 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
851 unnecessarily. (Test with NeedAbsoluteMatching).
853 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
855 * Iterator.cs : Added overriden Count properties for some iterators
856 (this fixes the half of #50678).
857 Added ListIterator class (which can reduce GetEnumerator()).
858 In some places we can omit clone for Current property, so added
859 some check logic (It has no effect as yet).
860 * Expression.cs, DefaultContext.cs :
861 use ListIterator instead of EnumeratorIterator.
863 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
865 * DefaultContext.cs, Expression.cs, Iterator.cs :
866 tiny foreach elimination.
868 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
870 * DefaultContext.cs : trivial processing order fix.
872 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
874 * DefaultContext.cs : Avoid exception if possible.
875 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
876 nav was positioned at the first, it incorrectly points itself.
877 Don't add names to name table while it is useless and expensive.
879 2004-01-08 Nick Drochak <ndrochak@ieee.org>
881 * Iterator.cs: Removed unused variable.
883 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
885 * Parser.jay : now it supresses error output from jay.
886 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
887 * Tokenizer.cs : better error message.
888 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
889 (just found MS.NET actually supports it)
891 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
893 * Iterator.cs : On its iteration, moving Current must not affect to
894 MoveNext(). To assure this, Current must be a clone of navigator.
897 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
899 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
900 * Iterator.cs : ParensIterator can inherit from BaseIterator.
901 SlashIterator copy .ctor() always failed to clone. This fixes Count.
903 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
905 * Expression.cs : XPathSorters.Compare() should compare document
906 position. See last sentence of XSLT 1.0 secion 10.
908 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
910 * DefaultContext.cs : Overrode all functions' ToString().
911 XPathFunctions.ToNumber() trims whitespaces at both side.
912 Fixed NullReferenceException in normalize-space().
913 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
914 attribute or namespace node correctly.
915 SlashIterator.Clone() didn't clone "next node iterator" correctly.
916 EnumeratorIterator.ctor() should raise an error (not at Clone())
917 when the target IEnumerator is not ICloneable.
919 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
921 * Expression.cs : namespace axis now traversed in reverse order, so it
923 * Iterator.cs : UnionIterator.Clone() was incomplete.
924 NamespaceItarator() should be reverse order (special handling
925 because of XPathNavigator specification).
927 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
929 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
930 * XPathNavigator.cs : ComparePosition() didn't handle attributes
933 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
935 * Parser.jay, Expression.cs, Iterator.cs :
936 Added ExprParens and ParensIterator classes which is used to handle
937 precedence of parenthesized expressions.
938 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
940 * Expression.cs, Iterator.cs :
941 Added RequireSorting property for each Expr and BaseIterator classes.
942 SlashIterator.MoveNext() now considers correct sorting. But
943 considering performance, it separates two logics, sorted and sortless
944 depending on RequireSorting of left iterator and right expression.
947 SimpleIterator.ctor() should consider when nav is null.
948 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
949 not return any nodes.
950 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
952 AncestorIterator.MoveNext() should skip Root if context node is
954 FollowingIterator.MoveNext() should not handle children of context
956 PrecedingIterator.MoveNext() should skip its ancestors.
957 AxisIterator.ReverseAxis should be dependent on its containing iter.
958 UnionIterator.MoveNext() should consider comparison of nodes in
959 different document. The behavior is implementation dependent.
962 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
964 * Added XPathComparer.cs
965 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
966 iterator correctly, and sort results.
968 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
970 * DefaultContext.cs : Imcomplete fix ;-)
972 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
974 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
975 XPathFunctionId.cs : Exposed Id expression.
976 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
977 will be used to solve evaluation precedence problem).
979 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
981 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
982 inconsistent order, and 2)may return duplicate result nodes.
984 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
986 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
987 it inherit from the base class. This made b[2] evaluated on
988 <a /><b /><c /><a /><b /><c /> return the first b node because
989 in the ChildIterator it was the second node and seemed to satsify
992 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
994 * Iterator.cs : Added bool ReverseAxis property to identify whether
995 the iterator is in reverse order or not. Added ComparablePosition
996 for correct position comparison for PredicateIterator and reverse-
997 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
998 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
999 return their nodes in document order. This fixes bugzilla #39079.
1001 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1003 * Iterator.cs : DescendantIterator and FollowingIterator also should
1004 not MoveNext() after they reached to the end.
1006 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1008 * Iterator.cs : Fixed UnionIterator who ignores document order.
1009 Fixed SlashIterator whose MoveNext() should finish at its end.
1011 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
1013 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
1014 use NameTable so we dont call strcmp.
1016 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
1018 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
1020 * Iterator.cs, Expression.cs: All axes are
1021 SimpleIterators. SimpleIterators are gaurenteed to give the same
1022 XPathNavigator in Current. Make AxisIterator take a
1023 SimpleIterator, not any old BaseIterator. Will allow us to make
1024 NameTable optimizations and avoid quite a few strcmp's.
1026 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
1028 * Expression.cs: make // work right, must use another slash itr.
1030 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1032 * Expression.cs: cant use $$ before assigned.
1034 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
1036 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
1038 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
1040 * Expression.cs: num != double.NaN does not work.
1042 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
1044 * Expression.cs: in NodeTypeTest dont throw an exception if it is
1045 an unknown node type (allows for better Pattern debugging).
1047 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
1049 * DefaultContext.cs: implement sum () and translate ().
1051 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
1053 * XPathNavigator.cs: Make methods where you pass in the context,
1054 so that we dont have to clone expressions so much.
1056 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1058 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
1059 system functions are actually expressions. Will allow for some
1062 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
1064 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
1065 improvement in the method (5ms/call -> .7 ms / call) measured by
1066 monodoc's rendering of N:System.
1067 * Expression.cs: Utility methods to support above.
1069 2003-08-13 Piers Haken <piersh@friskit.com>
1072 fix MergedIterator.Clone(), now clones other's iterators
1073 fix DescendantIterator.Clone(), now copies depth
1074 make iterator cloning constructors more type-specific
1076 2003-08-01 Piers Haken <piersh@friskit.com>
1078 * Expression.cs: added NodeNamespaceTest
1079 * XPathNavigator.cs: implement Select* with namespaces
1081 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1083 * Iterator.cs: Allow creation of an EnumeratorIterator with an
1084 XmlNamespaceManager.
1086 2003-07-31 Piers Haken <piersh@friskit.com>
1089 Nested predicates (uses ExprFilter instead)
1091 make grammar look more like w3c spec
1093 remove ExprStep, ExprPredicates
1094 NodeTest is now a NodeSet
1097 PredicateIterator now only takes a single predicate expression
1099 * XPathNavigator.cs:
1100 simplified SelectTest
1101 * XPathException.cs:
1104 2003-07-30 Duncan Mak <duncan@ximian.com>
1110 2003-07-29 Piers Haken <piersh@friskit.com>
1112 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
1114 2003-07-29 Piers Haken <piersh@friskit.com>
1116 * XPathNavigator.cs:
1118 add typesafe Evaluate* methods
1120 2003-07-29 Piers Haken <piersh@friskit.com>
1122 * DefaultContext.cs: fix 'substring-after'
1124 2003-07-29 Piers Haken <piersh@friskit.com>
1126 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
1128 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
1130 * Iterator.cs: dont throw exceptions on tostring ()
1132 2003-07-28 Piers Haken <piersh@friskit.com>
1134 * DefaultContext.cs: better handling of null argument lists
1135 * XPathNavigator.cs: implement ComparePosition
1137 2003-07-28 Piers Haken <piersh@friskit.com>
1139 * Expression.cs: boolean operators: handle comparing .Any better
1141 2003-07-28 Piers Haken <piersh@friskit.com>
1143 * DefaultContext.cs: count() should return a double
1144 * Expression.cs: better support for handling non-double numbers
1146 2003-07-28 Piers Haken <piersh@friskit.com>
1148 * DefaultContext.cs: better function param matching
1150 2003-07-27 Piers Haken <piersh@friskit.com>
1153 * DefaultContext.cs:
1154 catch FormatExceptions while parsing numbers
1156 2003-07-27 Piers Haken <piersh@friskit.com>
1159 fix case sorting order
1160 allow EvaluateNumber to take XPathResultType.Any
1162 2003-07-27 Piers Haken <piersh@friskit.com>
1166 don't pass null to XmlQualifiedName constructor
1168 2003-07-27 Piers Haken <piersh@friskit.com>
1170 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
1172 2003-07-27 Piers Haken <piersh@friskit.com>
1174 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
1176 2003-07-26 Piers Haken <piersh@friskit.com>
1178 * Expression.cs: fix function evaluation with ambigous argument types
1179 * XPathNavigator.cs: fix silly null reference bug
1181 2003-07-26 Piers Haken <piersh@friskit.com>
1184 * DefaultContext.cs:
1185 ArrayListIterator->EnumeratorIterator
1186 * Expression.cs: add sorting support
1188 2003-07-26 Piers Haken <piersh@friskit.com>
1192 move QName parsing into tokenizer
1194 fix evaluating XPathResultType.Any
1195 fix ExprDiv.ToString()
1196 fix NodeTypeTest.ToString() (for namespace axis)
1198 2003-07-25 Piers Haken <piersh@friskit.com>
1200 * Expression.cs: return clone of $var evaluation
1202 2003-07-26 Piers Haken <piersh@friskit.com>
1204 * Iterator.cs: add setter for NamespaceManager
1205 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
1206 * Expression.cs: fix func/var exception strings
1208 2003-07-25 Piers Haken <piersh@friskit.com>
1210 * Expression.cs: implement ExprFilter.Evaluate
1212 2003-07-25 Piers Haken <piersh@friskit.com>
1214 * Expression.cs: implement ExprVariable.Evaluate
1216 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
1218 * DefaultContext.cs: implement lang ()
1220 2003-07-24 Piers Haken <piersh@friskit.com>
1224 allow ExprUNION to take non-nodeset (eg, $var) arguments
1226 2003-07-24 Piers Haken <piersh@friskit.com>
1228 * Tokenizer.cs: fix variable references
1231 * XPathNavigator.cs:
1232 use XmlQualifiedName
1234 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1236 * XPathDocument.cs : removed Driver class and restored authors' name
1237 (though it is completely rewrote).
1239 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1241 * XPathDocument.cs : Replaced existing stub class with real
1242 XPathDocument implementation.
1244 2003-04-28 Piers Haken <piersh@friskit.com>
1246 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
1248 2003-03-07 Piers Haken <piersh@friskit.com>
1250 * Tokenizer.cs: allow '.'s in NCNames
1252 2003-03-07 Piers Haken <piersh@friskit.com>
1255 * DefaultContext.cs:
1256 fixed function argument resolution
1258 2003-02-09 Piers Haken <piersh@friskit.com>
1260 * XPathNavigator.cs:
1262 * Expression.cs: fix namespace handling
1264 2003-01-04 Piers Haken <piersh@friskit.com>
1266 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1268 2003-02-02 Piers Haken <piersh@friskit.com>
1270 * Parser.jay: add token names
1271 * Tokenizer.cs: fix NCName tokenization
1273 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1275 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1276 (It should be a temporary fix.)
1278 2002-09-22 Nick Drochak <ndrochak@gol.com>
1280 * Parser.cs: Remove extraneous "using" that was stopping the build.
1282 2002-09-21 Piers Haken <piersh@friskit.com>
1284 * XPathException: implementation
1289 * XPathNavigator.jay:
1292 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1294 * Parser.cs: commented out non-existent namespace (it compiles fine
1295 with mcs because of a bug that is already on bugzilla).
1297 2002-09-12 Piers Haken <piersh@friskit.com>
1299 * Tokenizer.cs: fix parsing numbers that start with '.'
1300 * DefaultContext.cs: use MS-compatible formatting of doubles
1302 2002-09-12 Piers Haken <piersh@friskit.com>
1304 * Iterator.cs: added NullIterator to handle unspecified contexts
1305 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1306 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1308 2002-09-12 Piers Haken <piersh@friskit.com>
1310 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1311 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1312 * DefaultContext.cs: fix id() return type.
1314 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1316 * DefaultContext.cs: fixed bug #28840.
1317 * Expression.cs: added FIXME.
1319 2002-08-17 Jason Diamond <jason@injektilo.org>
1321 * XPathNavigator.cs: Fixed matching on patterns that look like
1322 absolute XPath expressions.
1324 2002-08-17 Jason Diamond <jason@injektilo.org>
1326 * XPathNavigator.cs: Added naive (but working) implementation of
1329 2002-07-31 Piers Haken <piersh@friskit.com>
1331 * XPathDocument.cs: simple, XmlDocument-based implementation
1333 2002-07-25 Piers Haken <piersh@friskit.com>
1335 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1337 2002-07-17 Piers Haken <piersh@friskit.com>
1339 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1340 * Parser.jay: remove redundant production
1341 * Expression.cs: add switches for debugging under VS.NET
1343 2002-07-17 Piers Haken <piersh@friskit.com>
1345 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1347 2002-07-15 Piers Haken <piersh@friskit.com>
1350 - rename UnionIterator to MergedIterator,
1351 - create new UnionIterator to implment uniqueness for '|' operator
1352 - fix position bug in ArrayListIterator.Clone()
1353 * Expression.cs: use new UnionIterator constructor syntax
1355 2002-07-12 Piers Haken <piersh@friskit.com>
1357 * Iterator.cs: PredicateIterator: handle numeric predicates
1358 * Parser.jay: add some debugging support: yyparseDebug
1359 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1361 2002-06-29 Piers Haken <piersh@friskit.com>
1365 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1366 - remove NodeTestTypes enum
1367 - remove NodeTestTypeAny (functionality provided by base now)
1368 - fix ExprStep to handle wildcard QNames
1370 - moved to Mono.Xml.XPath namespace
1371 - use XPathResultType
1372 - handle wildcard QNames
1374 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1376 * XPathNavigator.cs: implement
1382 * XPathResultType.cs: fix enum values
1384 2002-06-24 Jason Diamond <jason@injektilo.org>
1386 * XPathScanner.cs: Removed.
1388 2002-06-24 Dick Porter <dick@ximian.com>
1390 * XmlCaseOrder.cs: Fix namespace
1392 2002-06-23 Piers Haken <piersh@friskit.com>
1394 * DefaultContext.cs: implemented XPathFUnctionId
1395 * Iterator.cs: new ArrayListIterator for id() support
1397 2002-06-23 Piers Haken <piersh@friskit.com>
1399 * XPathNavigator.cs: implement:
1405 - some forwarding methods
1407 * XPathNodeIterator: implement caching Count
1409 * Tokenizer.cs: new XPath tokenizer
1410 * Parser.jay: new XPath grammar
1411 * Parser.cs: new precompiled XPath grammar
1412 * Expression.cs: new XPath expression objects
1413 * Iterator.cs: new XPath result/context objects
1414 * DefaultContext.cs: new XPath function binding context
1416 2002-05-08 Tim Coleman <tim@timcoleman.com>
1418 * XPathException.cs: New stub files added.
1420 2002-04-12 Duncan Mak <duncan@ximian.com>
1422 * XmlCaseOrder.cs: Moved to here from System.Xml.
1424 2002-03-26 Jason Diamond <jason@injektilo.org>
1426 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
1427 steps. Both absolution and relative abbreviated location paths.
1429 2002-03-25 Jason Diamond <jason@injektilo.org>
1431 * XPathScanner.cs: Added new file. This class is supposed to be internal
1432 but that would make it impossible to test.
1434 2002-03-08 Duncan Mak <duncan@ximian.com>
1436 * XPathNamespaceScope.cs:
1438 * XPathResultType.cs:
1440 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1441 implementation. XPathResultType is interesting as EnumCheck does
1442 not show the Navigator element, but shows the String element twice.
1444 2002-03-08 Jason Diamond <jason@injektilo.org>
1446 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1448 2002-03-06 Jason Diamond <jason@injektilo.org>
1450 * ChangeLog: Added to this directory.
1452 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1453 XPathResultType.cs: New files.
1455 * XPathNavigator.cs: Stubbed out all properties and methods.