1 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
3 * Iterator.cs : now we do not seem to need clone in
4 SimpleIterator.Current.
6 2008-10-03 Atsushi Enomoto <atsushi@ximian.com>
8 * XPathNavigator.cs : enable EnumerableIterator with some fixes.
9 * Iterator.cs : reduce extra steps for empty simple iterator.
11 2008-10-02 Atsushi Enomoto <atsushi@ximian.com>
13 * Iterator.cs, DefaultContext.cs, XPathNavigator.cs, Expression.cs:
14 couple of refactoring: reduced presumption on BaseIterator (it is
15 premised in not a few places, but it might change; see
16 EnumerableIterator in XPathNavigator.cs).
17 Now BaseIterator.Current is always null (to clean up ambiguous
18 implementation state). Current property is now always moved to
19 the current node in the iterator when returned.
21 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
23 * DefaultContext.cs, Expression.cs: do not premise BaseIterator.
25 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
27 * XPathComparer.cs : no need to limit to BaseIterator.
29 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
31 * XPathNavigator.cs : oops, wrong #if ranges.
33 2008-09-19 Atsushi Enomoto <atsushi@ximian.com>
35 * XPathNavigator.cs : made some 2.0-only methods available in 1.x
36 so that we don't have to hesitate to optimize xpath using them.
38 2008-06-03 Atsushi Enomoto <atsushi@ximian.com>
40 * Expression.cs : help diagnose variable resolution failure.
42 2008-04-02 Atsushi Enomoto <atsushi@ximian.com>
44 * XPathNavigator.cs : fixed InnerXml to not give up with root node.
45 Indent InnerXml. Fixed bug #376191.
47 2008-02-27 Atsushi Enomoto <atsushi@ximian.com>
49 * XPathNavigator.cs : in some MoveTo*() methods, it should allow any
50 destination node when "type" is XPathNodeType.All. Based on the
51 patch by Sanghyeon Seo, fixed bug #365112.
53 2008-02-12 Atsushi Enomoto <atsushi@ximian.com>
55 * DefaultContext.cs : now number formatting for "R" works fine, so
56 just use it (and remove conditional compilation for TARGET_JVM).
58 2008-01-10 Konstantin Triger <kostat@mainsoft.com>
60 * Iterator.cs: prevent endless recursion in AncestorIterator
61 while collecting results.
63 2008-01-12 Sebastien Pouliot <sebastien@ximian.com>
65 * DefaultContext.cs: Fix direct comparison with NaN. Found by
68 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
70 * Iterator.cs : oops, extra removal that causes perf. loss.
72 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
74 * Iterator.cs : be more strict to detect the end of
75 PredicateIterator. Fixed bug #349111.
77 2007-12-17 Atsushi Enomoto <atsushi@ximian.com>
79 * Expression.cs : In any comparison expr, treat RTF as equivalent to
80 string type (as specified in XSLT 1.0 section 11.1: "An operation
81 is permitted on a result tree fragment only if that operation would
82 be permitted on a string." ...). Fixed bug #349035.
84 2007-11-29 Atsushi Enomoto <atsushi@ximian.com>
86 * XPathNavigator.cs : implemented ValueAs().
88 2007-01-30 Atsushi Enomoto <atsushi@ximian.com>
90 * Expression.cs : typo. Close #80669
92 2007-01-05 Atsushi Enomoto <atsushi@ximian.com>
94 * Expression.cs : text() should match whitespace and significant
97 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
100 - ReadSubtree() should reject everything but Element or Root.
101 - InnerXml and OuterXml should not use ReadSubtree() when it is
102 not positioned on an Element or the Root. Thus, implement them
103 in their own ways. Fixed bug #79875.
105 2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
107 * XPathNavigator.cs : InnerXml should allow Text-only content. Fixed
108 bug #79874, when tied to XPathNavigatorReader fix.
110 2006-04-10 Atsushi Enomoto <atsushi@ximian.com>
112 * XPathNavigator.cs : get_OuterXml() returns indented output, without
115 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
117 * Expression.cs : extracted XPathSortElement, XPathSorters
118 and XPathSorter from CompiledExpression, and split
119 XPathSorters.Sort() into some methods. Those changes are to make
120 them reusable in XslSortEvaluator.
122 2006-02-26 Atsushi Enomoto <atsushi@ximian.com>
124 * Iterator.cs : seems like MS XPathNodeIterator.MoveNext() itself does
125 not handle XsltContext.PreserveWhitespace() unlike ours. It results
126 in not a small performance improvement. (just removed it since it
127 didn't cause any errors in XSLT standalone tests.)
129 2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
131 * Iterator.cs : removed extra field from AxisIterator.
133 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
135 * Iterator.cs : tiny message fix (thanks to alp).
137 2006-01-25 Atsushi Enomoto <atsushi@ximian.com>
139 * XPathNavigator.cs : fixed IsNode signature found by updated
142 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
144 * Iterator.cs : Nowadays removal of cloning of the argument list
145 in ListIterator is safe. Thanks to Joshua Tauberer for the hint.
147 2006-01-11 Atsushi Enomoto <atsushi@ximian.com>
149 * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the
150 error message is for blaming custom XPathNavigator
151 implementation, not us ;-) (see also #77194)
153 2006-01-06 Atsushi Enomoto <atsushi@ximian.com>
155 * XPathNavigator.cs : use WriteNode(XPathNavigator, bool)
156 rather than WriteNode(XmlWriter, bool) in WriteSubtree().
158 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
160 * XPathNavigator.cs : Added MonoTODO to CreateAttributes(). Removed
161 MonoTODO from ReadSubtree().
163 2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
165 * XPathNavigator.cs : UnderlyingObject returns null by default.
167 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
169 * XPathNavigator.cs : Reimplemented MoveToFollowing() to avoid
170 inefficient MoveToDescendant() and to match .NET 2.0 behavior.
172 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
174 * XPathNavigator.cs : ReplaceSelf() should allow document fragment.
175 Moved implementation to XPathEditableDocument.
177 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
179 * XPathNavigator.cs : PrependChild() should use AppendChild() when
182 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
184 * XPathNavigator.cs : InsertAfter() should raise an error before
185 MoveToNext() when current node is either attribute or namespace.
187 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
189 * XPathNavigator.cs : InsertAfter() should append children after it
190 once moved to parent. This method shoulr raise an error when it is
193 2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
195 * XPathNavigator.cs : (CreateFragmentReader) return XmlReader that
196 considers current namespace contexts.
198 2005-12-12 Atsushi Enomoto <atsushi@ximian.com>
200 * XPathNavigator.cs : removed some MonoTODOs.
202 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
204 * XPathDocument.cs : garbage cleanup.
206 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
208 * Iterator.cs: fixed UnionIterator.SetCurrent method, the
209 navigators may be from different xml files.
211 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
213 * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
214 navigators may be from different xml files.
216 2005-11-10 Atsushi Enomoto <atsushi@ximian.com>
218 * XPathNavigator.cs, XPathNodeIterator.cs :
219 [DebuggerDisplay] are not worthy of existing.
221 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
223 * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
224 values are fixed. However, they totally do not make sense since
225 there is no DebuggerDisplayProxy type in our impl.
227 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
229 * XPathException.cs : Message property is back in 2.0 RTM.
231 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
233 * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
234 * XPathNavigator.cs : [DebuggerDisplay] as well.
235 SelectSingleNode() and AppendChildElement() are now virtual.
237 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
239 * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
240 MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
241 This fixes XPathEditableDocument.MoveToFirst().
243 2004-10-15 Atsushi Enomoto <atsushi@ximian.com>
245 * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
246 likely to be implemented, thus MonoTODO.
248 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
250 * XPathNavigator.cs: Removed DebuggerDisplay attribute.
251 * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
253 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
255 * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
256 added ReplaceRange and DeleteRange methods.
257 * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
259 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
261 * Expression.cs : Now that managed collation is default, we don't need
262 reversive case-order anymore.
264 2004-09-21 Atsushi Enomoto <atsushi@ximian.com>
266 * XPathNavigator.cs : added NavigatorComparer.
267 * XPathComparer.cs : XPathNavigatorComparer implements
268 IEqualityComparer under NET_2_0 profile.
270 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
272 * XPathException.cs: Added a Demand for SerializationFormatter on
273 GetObjectData method.
275 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
277 * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
280 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
282 * Expression.cs : don't expect namespace resolver; namespace could be
283 supplied in QName without nsresolver need (i.e. SelectChildren()).
286 2005-06-09 Andrew Skiba <andrews@mainsoft.com>
288 * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
290 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
292 * Expression.cs : set TARGET_JVM where collation matters.
294 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
296 * XPathAtomicValue.cs :
297 it is now XmlAtomicValue and in sys.xml.schema.
298 * XPathNavigator.cs, Expression.cs :
299 removed atomizedName related 2.0 members (deprecated).
301 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
303 * XPathExpression.cs : added static Compile().
304 * XPathNavigator.cs :
305 Use XPathExpression.Compile() for now.
306 Updated tree modification API to 2.0 beta2.
307 * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
308 updated to 2.0 beta2 API.
309 * XPathResultType.cs : removed [Serializable].
310 * XmlNodeChangeType.cs : removed obsolete file.
312 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
314 * XPathNavigator.cs : 2.0 build fix
316 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
318 * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
319 B is child axis test (thus peer&subtree optimization became possible)
320 Fixed warning (incorrect variable let).
322 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
324 * XPathNavigator.cs : reduced some Clone().
325 Simplified ComparePosition().
326 * Iterator.cs : some iterators are not actually reverse axis.
328 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
330 * Expression.cs : EvaluateBoolean() for RTF should check return true
331 for empty elements. Fixed static analysis for RTF.
333 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
335 * Parser.jay, Tokenizer.cs : Now they are used as common code base for
336 XPath parser and XSLT pattern parser. Makefile now creates two
337 set of sources of them. (This change takes effect on the next change).
339 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
341 * Parser.jay : rewrote step part to be reusable for upcoming XSLT
344 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
346 * Iterator.cs : reduced extra clone.
348 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
352 Iterator.cs : Now RequireSorting is not required in BaseIterator
353 (it is now fully in Expression).
354 Removed the last ListIterator .ctor() argument.
356 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
358 * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
360 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
363 DefaultContext.cs : Basic constant folding optimization (not so
364 effective right now). Unified number-to-string conversion code into
365 XPathFunctions.ToString(double) to avoid roundtrip format right now.
366 * Iterator.cs : removed unused code.
368 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
370 * Iterator.cs : more clone reduction.
372 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
374 * Expression.cs, DefaultContext.cs : more Peer overrides.
376 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
379 DefaultContext.cs : Removed unused NeedAbsoluteMatching.
380 Added Peer and Subtree (for "peer & subtree optimization. See:
381 http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
382 Fixed some ToString() that caused NullReferenceException.
384 * Iterator.cs : Predicate does not affect on RequireSorting.
385 Added SimpleSlashIterator for peer & subtree optimization.
387 Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
389 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
393 SlashIterator is now constructed with requireSorting parameter
394 that thus just use RequireSorting from both left/right Expressions,
396 When attribute axis is on the left expression, the result needs to
399 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
401 * Iterator.cs : Now for most of iterator types, Current property always
402 returns the same instance. It results in huge memory reduction.
404 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
406 * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
407 key should be iterator itself. Key by list count never makes sense.
409 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
411 * Expression.cs : Significant whitespace nodes must be returned in
414 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
416 * Expression.cs : xsl:sort case-order was not handled properly.
418 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
421 In FollowingIterator, attribute and namespace nodes should be
422 considered to have following nodes. See XPath 1.0 section 5 (esp.
423 the description on "document order").
424 On fixing @*/following::*, attribute nodes are regarded as to be
425 RequireSorting = true (which might result in duplicate).
427 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
429 * Expression.cs : string() function expects "Infinity" and "-Infinity"
430 instead of "INF" for conversion from number. XmlConvert is for XSD,
433 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
435 * Expression.cs : RelationalExpr was comparing number and node in
436 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
437 RelationalExpr should also handle result tree fragment as node-set
438 as well as EqualityExpr. This fixes RTF case wrt #72343.
440 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
442 * Expression.cs : tiny code format fix by Andrew Skiba.
444 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
446 * XPathNavigator.cs : Added CheckValidity() and ValueType.
447 For SetTypedValue(), throw NotSupportedException instead of
448 NotImplementedException.
450 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
452 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
453 all the missing attributes.
455 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
457 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
458 eliminated string fields from struct.
459 (When we switch from struct to class, revert this change to use
460 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
461 wasting processing speed.)
463 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
465 * Iterator.cs : when PredicateIterator has a numeric predicate, it
466 will never be true twice. So just break up the iteration on true.
467 * XPathNavigator.cs : implemented LookupPrefix().
468 * Expression.cs : ExprParens.Optimize() could just return the content
471 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
473 * IXPathChangeNavigable.cs,
475 XPathDocumentNodeChangedAction.cs : removed old files.
477 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
479 * Iterator.cs : with related to the previous patch, many comments
480 got making no sense. Thanks to Harinath.
482 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
484 * Iterator.cs : actually I mean this patch.
486 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
488 * Iterator.cs : Create _current clone only when required. So just set
489 null when MoveNextCore() succeeded (except for some cases that
490 _current is _nav, such as SelfIterator).
492 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
494 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
495 it has to collect nodes in prior or not and whether it might return
496 nodes in inconsistent order is different matter.
497 (It still needs to store nodes when either of branches requires
498 sorting, because they might return the same node later.)
500 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
502 * Iterator.cs : reduced some extraneous ComparePosition() that could
503 be written as IsSamePosition(). ParentIterator doesn't have to be
506 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
508 * Iterator.cs : reimplemented AncestorIterator and
509 AncestorOrSelfIterator just to collect parents and not to move to
510 siblings. In some cases like thousands of siblings, it used to be
511 so slow, while we usually don't have so deep ancestors.
513 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
515 * Expression.cs : warning removal. Added Optimize() which is not
517 * Tokenizer.cs : warning elimination
519 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
521 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
522 IXPathEditable.cs : more removal of oldies.
524 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
526 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
528 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
530 * Tokenizer.cs : just use raw string instead of char[].
531 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
533 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
536 - Made copy constructor certainly different from other constructors.
537 - Position is never computed in each derived type. All MoveNext() are
539 - Most of the protected members could just be private.
541 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
543 * Expression.cs, XPathNavigator.cs : hold raw expression field for
544 get_Expression. It is preparation for expression optimization.
546 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
548 * Iterator.cs : SimpleIterator._current could be cloned only when
551 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
553 * Iterator.cs : Some removal of Clone() were harmless.
555 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
557 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
559 * XPathEditableNavigator.cs : It will be removed. Right now modified
561 * XPathNavigator.cs : Added members that are merged from
562 XPathEditableNavigator. Updated members name.
564 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
567 - Added WrapperIterator to return BaseIterator in such case that
568 variable reference is resolved to XPathNodeIterator. This fixes
570 - Path ".." is reverse axis (actually no effect).
571 - Fixed DescendantIterator.Clone() that missed "_finished" field.
573 In ExprVariable.Evaluate(), use WrapperIterator() for custom
576 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
578 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
580 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
582 * XPathAtomicValue.cs : missing Init() definition for float and string;
583 latter one resulted in infinite loop in Init(object,XmlSchemaType).
585 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
587 * XPathNavigator.cs : TypedValue could be implemented.
588 * XPathEditableNavigator.cs : removed some MonoTODO since now there
591 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
593 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
594 In .ctor(object, XmlSchemaType):
595 - For lists that contains just one item, Init() recursively.
596 - For XPathAtomicValue, Init() recursively for its content fields.
597 For Value and TypedValue, consider typecode from XmlSchemaType.
599 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
601 * XPathEditableNavigator.cs :
602 AppendChild(xmlReader) ignored nodes after than first one, and
603 resulted in infinite loop.
604 Added get_OuterXml overrides. set_OuterXml should not move to
605 parent before deleting current.
607 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
609 * XPathAtomicValue.cs : Value was not returning expected value when
610 it is created as new XPathAtomicValue (object, XmlSchemaType).
611 Compute stringValue and reuse.
612 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
613 (for checking XQuery implementation).
615 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
617 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
618 precisely (still not enough, for list argument).
619 Removed commended blocks.
621 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
623 * XPathAtomicValue.cs : DateTime should be convertible to string.
624 Use schemaType's TypeCode for .ctor() that takes object.
625 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
626 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
627 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
630 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
632 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
634 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
636 * XPathEditableNavigator.cs : implemented some editor support methods.
638 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
641 - For .NET 2.0, added a switch to support new XPathDocument2.
642 If switch is off, then it uses DTM.
643 - Implemented remaining 2.0 bits (except for Obsolete ones).
645 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
646 (It is still too unstable to pass all nunit tests and standalone XSLT
649 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
651 * XPathNavigator.cs : Implemented ReadSubtree().
653 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
655 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
656 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
657 IXPathEditable.CreateEditor().
659 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
661 * XPathEditableNavigator.cs : Implemented InsertAfter() and
662 PrependChild(); they are virtual, not abstract.
663 * XPathNavigator.cs :
664 Implemented many 2.0 virtual properties and methods that were
666 Implemented some Select() methods that uses IXmlNamespaceResolver.
667 Implemented most of ValueAsXxx() using XQueryConvert.
668 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
669 actually they don't work because it depends on ReadSubtree()).
671 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
673 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
674 * XPathEditableNavigator.cs : added BuildSubTree().
675 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
677 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
679 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
681 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
683 * XPathExpression.cs, Expression.cs :
684 Added SetContext(IXmlNamespaceResolver).
685 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
686 * XPathAtomicValue.cs : Halfly implemented.
687 * XPathDocument.cs : Added 2.0 members.
688 * XPathDocumentNodeChangedAction.cs : updated member names.
689 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
690 * XPathNavigator.cs : Added missing 2.0 members.
691 Fixed some members as virtual->override.
693 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
695 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
696 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
698 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
700 * Expression.cs, Iterator.cs, XPathNavigator.cs :
701 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
702 * XPathEditableNavigator.cs : fixed namespace.
703 * XPathNavigator.cs :
704 Fixed inheritance. Added missing MonoTODO.
705 Removed old .net 1.2 code.
707 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
709 * DefaultContext.cs : Globalization.
710 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
711 in case of empty list. Thus extraneous iteration might happened.
712 Removed unused (and clone unsafe) EnumeratorIterator.
714 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
716 * XPathDocument.s : The previous patch is still incomplete to close.
718 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
720 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
722 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
724 * Expression.cs : LookupNamespace() only allows already-atomized names.
725 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
728 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
730 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
732 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
733 the same as well as NodeSet. This fixes bug #59134.
735 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
737 * XPathAtomicValue.cs : missed NET_2_0.
739 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
741 * IXPathChangeNavigable.cs,
743 NodeChangedEventArgs.cs,
744 NodeChangedEventHandler.cs,
746 XPathChangeNavigator.cs,
747 XPathDocumentNodeChangedAction.cs,
748 XPathEditableNavigator.cs,
751 XmlNodeChangeType.cs : added NET_2_0 classes.
753 XPathNavigator.cs : updated NET_2_0 members.
755 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
757 * Expression.cs : We should not catch all kind of exception. Just
758 throwing any kind of exception would be preferable.
759 Added support for XPathNavigator values.
761 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
763 * DefaultContext.cs : Removed MonoTODO. done.
764 * Expression.cs : handle XPathResultType.Navigator in some places and
765 removed MonoTODO. Mark MonoTODO with explicit comments (though they
766 are mostly pointing out possibilities of optimization).
767 Removed extra check that depended on the old bugs.
768 * XPathResultType.cs : Fixed .Navigator that had the same value as
771 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
773 * Parser.jay : made class internal.
775 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
777 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
778 result of MoveToParent() should be checked.
780 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
782 * XPathNavigator.cs : Only child and attribute axes are allowed for
784 * Expression.cs : Added IsPositional property.
785 * DefaultContext.cs : Added some overrides.
787 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
789 * XPathNavigator.cs : no, its still not ok. comment out now.
791 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
793 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
794 to reduce extraneous Matches() trial.
795 * Iterator.cs : Removed unused MergedIterator.
796 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
797 unnecessarily. (Test with NeedAbsoluteMatching).
799 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
801 * Iterator.cs : Added overriden Count properties for some iterators
802 (this fixes the half of #50678).
803 Added ListIterator class (which can reduce GetEnumerator()).
804 In some places we can omit clone for Current property, so added
805 some check logic (It has no effect as yet).
806 * Expression.cs, DefaultContext.cs :
807 use ListIterator instead of EnumeratorIterator.
809 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
811 * DefaultContext.cs, Expression.cs, Iterator.cs :
812 tiny foreach elimination.
814 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
816 * DefaultContext.cs : trivial processing order fix.
818 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
820 * DefaultContext.cs : Avoid exception if possible.
821 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
822 nav was positioned at the first, it incorrectly points itself.
823 Don't add names to name table while it is useless and expensive.
825 2004-01-08 Nick Drochak <ndrochak@ieee.org>
827 * Iterator.cs: Removed unused variable.
829 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
831 * Parser.jay : now it supresses error output from jay.
832 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
833 * Tokenizer.cs : better error message.
834 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
835 (just found MS.NET actually supports it)
837 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
839 * Iterator.cs : On its iteration, moving Current must not affect to
840 MoveNext(). To assure this, Current must be a clone of navigator.
843 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
845 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
846 * Iterator.cs : ParensIterator can inherit from BaseIterator.
847 SlashIterator copy .ctor() always failed to clone. This fixes Count.
849 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
851 * Expression.cs : XPathSorters.Compare() should compare document
852 position. See last sentence of XSLT 1.0 secion 10.
854 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
856 * DefaultContext.cs : Overrode all functions' ToString().
857 XPathFunctions.ToNumber() trims whitespaces at both side.
858 Fixed NullReferenceException in normalize-space().
859 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
860 attribute or namespace node correctly.
861 SlashIterator.Clone() didn't clone "next node iterator" correctly.
862 EnumeratorIterator.ctor() should raise an error (not at Clone())
863 when the target IEnumerator is not ICloneable.
865 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
867 * Expression.cs : namespace axis now traversed in reverse order, so it
869 * Iterator.cs : UnionIterator.Clone() was incomplete.
870 NamespaceItarator() should be reverse order (special handling
871 because of XPathNavigator specification).
873 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
875 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
876 * XPathNavigator.cs : ComparePosition() didn't handle attributes
879 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
881 * Parser.jay, Expression.cs, Iterator.cs :
882 Added ExprParens and ParensIterator classes which is used to handle
883 precedence of parenthesized expressions.
884 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
886 * Expression.cs, Iterator.cs :
887 Added RequireSorting property for each Expr and BaseIterator classes.
888 SlashIterator.MoveNext() now considers correct sorting. But
889 considering performance, it separates two logics, sorted and sortless
890 depending on RequireSorting of left iterator and right expression.
893 SimpleIterator.ctor() should consider when nav is null.
894 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
895 not return any nodes.
896 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
898 AncestorIterator.MoveNext() should skip Root if context node is
900 FollowingIterator.MoveNext() should not handle children of context
902 PrecedingIterator.MoveNext() should skip its ancestors.
903 AxisIterator.ReverseAxis should be dependent on its containing iter.
904 UnionIterator.MoveNext() should consider comparison of nodes in
905 different document. The behavior is implementation dependent.
908 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
910 * Added XPathComparer.cs
911 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
912 iterator correctly, and sort results.
914 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
916 * DefaultContext.cs : Imcomplete fix ;-)
918 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
920 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
921 XPathFunctionId.cs : Exposed Id expression.
922 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
923 will be used to solve evaluation precedence problem).
925 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
927 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
928 inconsistent order, and 2)may return duplicate result nodes.
930 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
932 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
933 it inherit from the base class. This made b[2] evaluated on
934 <a /><b /><c /><a /><b /><c /> return the first b node because
935 in the ChildIterator it was the second node and seemed to satsify
938 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
940 * Iterator.cs : Added bool ReverseAxis property to identify whether
941 the iterator is in reverse order or not. Added ComparablePosition
942 for correct position comparison for PredicateIterator and reverse-
943 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
944 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
945 return their nodes in document order. This fixes bugzilla #39079.
947 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
949 * Iterator.cs : DescendantIterator and FollowingIterator also should
950 not MoveNext() after they reached to the end.
952 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
954 * Iterator.cs : Fixed UnionIterator who ignores document order.
955 Fixed SlashIterator whose MoveNext() should finish at its end.
957 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
959 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
960 use NameTable so we dont call strcmp.
962 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
964 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
966 * Iterator.cs, Expression.cs: All axes are
967 SimpleIterators. SimpleIterators are gaurenteed to give the same
968 XPathNavigator in Current. Make AxisIterator take a
969 SimpleIterator, not any old BaseIterator. Will allow us to make
970 NameTable optimizations and avoid quite a few strcmp's.
972 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
974 * Expression.cs: make // work right, must use another slash itr.
976 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
978 * Expression.cs: cant use $$ before assigned.
980 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
982 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
984 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
986 * Expression.cs: num != double.NaN does not work.
988 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
990 * Expression.cs: in NodeTypeTest dont throw an exception if it is
991 an unknown node type (allows for better Pattern debugging).
993 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
995 * DefaultContext.cs: implement sum () and translate ().
997 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
999 * XPathNavigator.cs: Make methods where you pass in the context,
1000 so that we dont have to clone expressions so much.
1002 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
1004 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
1005 system functions are actually expressions. Will allow for some
1008 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
1010 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
1011 improvement in the method (5ms/call -> .7 ms / call) measured by
1012 monodoc's rendering of N:System.
1013 * Expression.cs: Utility methods to support above.
1015 2003-08-13 Piers Haken <piersh@friskit.com>
1018 fix MergedIterator.Clone(), now clones other's iterators
1019 fix DescendantIterator.Clone(), now copies depth
1020 make iterator cloning constructors more type-specific
1022 2003-08-01 Piers Haken <piersh@friskit.com>
1024 * Expression.cs: added NodeNamespaceTest
1025 * XPathNavigator.cs: implement Select* with namespaces
1027 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1029 * Iterator.cs: Allow creation of an EnumeratorIterator with an
1030 XmlNamespaceManager.
1032 2003-07-31 Piers Haken <piersh@friskit.com>
1035 Nested predicates (uses ExprFilter instead)
1037 make grammar look more like w3c spec
1039 remove ExprStep, ExprPredicates
1040 NodeTest is now a NodeSet
1043 PredicateIterator now only takes a single predicate expression
1045 * XPathNavigator.cs:
1046 simplified SelectTest
1047 * XPathException.cs:
1050 2003-07-30 Duncan Mak <duncan@ximian.com>
1056 2003-07-29 Piers Haken <piersh@friskit.com>
1058 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
1060 2003-07-29 Piers Haken <piersh@friskit.com>
1062 * XPathNavigator.cs:
1064 add typesafe Evaluate* methods
1066 2003-07-29 Piers Haken <piersh@friskit.com>
1068 * DefaultContext.cs: fix 'substring-after'
1070 2003-07-29 Piers Haken <piersh@friskit.com>
1072 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
1074 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
1076 * Iterator.cs: dont throw exceptions on tostring ()
1078 2003-07-28 Piers Haken <piersh@friskit.com>
1080 * DefaultContext.cs: better handling of null argument lists
1081 * XPathNavigator.cs: implement ComparePosition
1083 2003-07-28 Piers Haken <piersh@friskit.com>
1085 * Expression.cs: boolean operators: handle comparing .Any better
1087 2003-07-28 Piers Haken <piersh@friskit.com>
1089 * DefaultContext.cs: count() should return a double
1090 * Expression.cs: better support for handling non-double numbers
1092 2003-07-28 Piers Haken <piersh@friskit.com>
1094 * DefaultContext.cs: better function param matching
1096 2003-07-27 Piers Haken <piersh@friskit.com>
1099 * DefaultContext.cs:
1100 catch FormatExceptions while parsing numbers
1102 2003-07-27 Piers Haken <piersh@friskit.com>
1105 fix case sorting order
1106 allow EvaluateNumber to take XPathResultType.Any
1108 2003-07-27 Piers Haken <piersh@friskit.com>
1112 don't pass null to XmlQualifiedName constructor
1114 2003-07-27 Piers Haken <piersh@friskit.com>
1116 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
1118 2003-07-27 Piers Haken <piersh@friskit.com>
1120 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
1122 2003-07-26 Piers Haken <piersh@friskit.com>
1124 * Expression.cs: fix function evaluation with ambigous argument types
1125 * XPathNavigator.cs: fix silly null reference bug
1127 2003-07-26 Piers Haken <piersh@friskit.com>
1130 * DefaultContext.cs:
1131 ArrayListIterator->EnumeratorIterator
1132 * Expression.cs: add sorting support
1134 2003-07-26 Piers Haken <piersh@friskit.com>
1138 move QName parsing into tokenizer
1140 fix evaluating XPathResultType.Any
1141 fix ExprDiv.ToString()
1142 fix NodeTypeTest.ToString() (for namespace axis)
1144 2003-07-25 Piers Haken <piersh@friskit.com>
1146 * Expression.cs: return clone of $var evaluation
1148 2003-07-26 Piers Haken <piersh@friskit.com>
1150 * Iterator.cs: add setter for NamespaceManager
1151 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
1152 * Expression.cs: fix func/var exception strings
1154 2003-07-25 Piers Haken <piersh@friskit.com>
1156 * Expression.cs: implement ExprFilter.Evaluate
1158 2003-07-25 Piers Haken <piersh@friskit.com>
1160 * Expression.cs: implement ExprVariable.Evaluate
1162 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
1164 * DefaultContext.cs: implement lang ()
1166 2003-07-24 Piers Haken <piersh@friskit.com>
1170 allow ExprUNION to take non-nodeset (eg, $var) arguments
1172 2003-07-24 Piers Haken <piersh@friskit.com>
1174 * Tokenizer.cs: fix variable references
1177 * XPathNavigator.cs:
1178 use XmlQualifiedName
1180 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1182 * XPathDocument.cs : removed Driver class and restored authors' name
1183 (though it is completely rewrote).
1185 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1187 * XPathDocument.cs : Replaced existing stub class with real
1188 XPathDocument implementation.
1190 2003-04-28 Piers Haken <piersh@friskit.com>
1192 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
1194 2003-03-07 Piers Haken <piersh@friskit.com>
1196 * Tokenizer.cs: allow '.'s in NCNames
1198 2003-03-07 Piers Haken <piersh@friskit.com>
1201 * DefaultContext.cs:
1202 fixed function argument resolution
1204 2003-02-09 Piers Haken <piersh@friskit.com>
1206 * XPathNavigator.cs:
1208 * Expression.cs: fix namespace handling
1210 2003-01-04 Piers Haken <piersh@friskit.com>
1212 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1214 2003-02-02 Piers Haken <piersh@friskit.com>
1216 * Parser.jay: add token names
1217 * Tokenizer.cs: fix NCName tokenization
1219 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1221 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1222 (It should be a temporary fix.)
1224 2002-09-22 Nick Drochak <ndrochak@gol.com>
1226 * Parser.cs: Remove extraneous "using" that was stopping the build.
1228 2002-09-21 Piers Haken <piersh@friskit.com>
1230 * XPathException: implementation
1235 * XPathNavigator.jay:
1238 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1240 * Parser.cs: commented out non-existent namespace (it compiles fine
1241 with mcs because of a bug that is already on bugzilla).
1243 2002-09-12 Piers Haken <piersh@friskit.com>
1245 * Tokenizer.cs: fix parsing numbers that start with '.'
1246 * DefaultContext.cs: use MS-compatible formatting of doubles
1248 2002-09-12 Piers Haken <piersh@friskit.com>
1250 * Iterator.cs: added NullIterator to handle unspecified contexts
1251 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1252 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1254 2002-09-12 Piers Haken <piersh@friskit.com>
1256 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1257 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1258 * DefaultContext.cs: fix id() return type.
1260 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1262 * DefaultContext.cs: fixed bug #28840.
1263 * Expression.cs: added FIXME.
1265 2002-08-17 Jason Diamond <jason@injektilo.org>
1267 * XPathNavigator.cs: Fixed matching on patterns that look like
1268 absolute XPath expressions.
1270 2002-08-17 Jason Diamond <jason@injektilo.org>
1272 * XPathNavigator.cs: Added naive (but working) implementation of
1275 2002-07-31 Piers Haken <piersh@friskit.com>
1277 * XPathDocument.cs: simple, XmlDocument-based implementation
1279 2002-07-25 Piers Haken <piersh@friskit.com>
1281 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1283 2002-07-17 Piers Haken <piersh@friskit.com>
1285 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1286 * Parser.jay: remove redundant production
1287 * Expression.cs: add switches for debugging under VS.NET
1289 2002-07-17 Piers Haken <piersh@friskit.com>
1291 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1293 2002-07-15 Piers Haken <piersh@friskit.com>
1296 - rename UnionIterator to MergedIterator,
1297 - create new UnionIterator to implment uniqueness for '|' operator
1298 - fix position bug in ArrayListIterator.Clone()
1299 * Expression.cs: use new UnionIterator constructor syntax
1301 2002-07-12 Piers Haken <piersh@friskit.com>
1303 * Iterator.cs: PredicateIterator: handle numeric predicates
1304 * Parser.jay: add some debugging support: yyparseDebug
1305 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1307 2002-06-29 Piers Haken <piersh@friskit.com>
1311 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1312 - remove NodeTestTypes enum
1313 - remove NodeTestTypeAny (functionality provided by base now)
1314 - fix ExprStep to handle wildcard QNames
1316 - moved to Mono.Xml.XPath namespace
1317 - use XPathResultType
1318 - handle wildcard QNames
1320 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1322 * XPathNavigator.cs: implement
1328 * XPathResultType.cs: fix enum values
1330 2002-06-24 Jason Diamond <jason@injektilo.org>
1332 * XPathScanner.cs: Removed.
1334 2002-06-24 Dick Porter <dick@ximian.com>
1336 * XmlCaseOrder.cs: Fix namespace
1338 2002-06-23 Piers Haken <piersh@friskit.com>
1340 * DefaultContext.cs: implemented XPathFUnctionId
1341 * Iterator.cs: new ArrayListIterator for id() support
1343 2002-06-23 Piers Haken <piersh@friskit.com>
1345 * XPathNavigator.cs: implement:
1351 - some forwarding methods
1353 * XPathNodeIterator: implement caching Count
1355 * Tokenizer.cs: new XPath tokenizer
1356 * Parser.jay: new XPath grammar
1357 * Parser.cs: new precompiled XPath grammar
1358 * Expression.cs: new XPath expression objects
1359 * Iterator.cs: new XPath result/context objects
1360 * DefaultContext.cs: new XPath function binding context
1362 2002-05-08 Tim Coleman <tim@timcoleman.com>
1364 * XPathException.cs: New stub files added.
1366 2002-04-12 Duncan Mak <duncan@ximian.com>
1368 * XmlCaseOrder.cs: Moved to here from System.Xml.
1370 2002-03-26 Jason Diamond <jason@injektilo.org>
1372 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
1373 steps. Both absolution and relative abbreviated location paths.
1375 2002-03-25 Jason Diamond <jason@injektilo.org>
1377 * XPathScanner.cs: Added new file. This class is supposed to be internal
1378 but that would make it impossible to test.
1380 2002-03-08 Duncan Mak <duncan@ximian.com>
1382 * XPathNamespaceScope.cs:
1384 * XPathResultType.cs:
1386 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1387 implementation. XPathResultType is interesting as EnumCheck does
1388 not show the Navigator element, but shows the String element twice.
1390 2002-03-08 Jason Diamond <jason@injektilo.org>
1392 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1394 2002-03-06 Jason Diamond <jason@injektilo.org>
1396 * ChangeLog: Added to this directory.
1398 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1399 XPathResultType.cs: New files.
1401 * XPathNavigator.cs: Stubbed out all properties and methods.