1 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
3 * Iterator.cs: fixed UnionIterator.SetCurrent method, the
4 navigators may be from different xml files.
6 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
8 * Iterator.cs: fixed SimpleSlashIterator.MoveNextCore method, the
9 navigators may be from different xml files.
11 2005-11-10 Atsushi Enomoto <atsushi@ximian.com>
13 * XPathNavigator.cs, XPathNodeIterator.cs :
14 [DebuggerDisplay] are not worthy of existing.
16 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
18 * XPathNavigator.cs, XPathNodeIterator.cs : DebuggerDisplayAttribute
19 values are fixed. However, they totally do not make sense since
20 there is no DebuggerDisplayProxy type in our impl.
22 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
24 * XPathException.cs : Message property is back in 2.0 RTM.
26 2005-11-07 Atsushi Enomoto <atsushi@ximian.com>
28 * XPathNodeIterator.cs : added [DebuggerDisplay]. pretty useless tho.
29 * XPathNavigator.cs : [DebuggerDisplay] as well.
30 SelectSingleNode() and AppendChildElement() are now virtual.
32 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
34 * XPathNavigator.cs : now 2.0 MoveToFirst() invokes internal
35 MoveToFirstImpl() and it is from what XmlDocumentNavigator did.
36 This fixes XPathEditableDocument.MoveToFirst().
38 2004-10-15 Atsushi Enomoto <atsushi@ximian.com>
40 * XPathNavigator.cs : (DeleteRange, ReplaceRange) so they are not
41 likely to be implemented, thus MonoTODO.
43 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
45 * XPathNavigator.cs: Removed DebuggerDisplay attribute.
46 * XPathNodeIterator.cs: Removed DebuggerDisplay attribute.
48 2005-10-08 Gert Driesen <drieseng@users.sourceforge.net>
50 * XPathNavigator.cs: [NET_2_0] Added DebuggerDisplay attribute,
51 added ReplaceRange and DeleteRange methods.
52 * XPathNodeIterator.cs: [NET_2_0] Added DebuggerDisplay attribute.
54 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
56 * Expression.cs : Now that managed collation is default, we don't need
57 reversive case-order anymore.
59 2004-09-21 Atsushi Enomoto <atsushi@ximian.com>
61 * XPathNavigator.cs : added NavigatorComparer.
62 * XPathComparer.cs : XPathNavigatorComparer implements
63 IEqualityComparer under NET_2_0 profile.
65 2005-08-31 Sebastien Pouliot <sebastien@ximian.com>
67 * XPathException.cs: Added a Demand for SerializationFormatter on
70 2005-08-03 Gert Driesen <drieseng@users.sourceforge.net>
72 * XPathNavigator.cs: GetNamespacesInScope returns generic IDictionary
75 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
77 * Expression.cs : don't expect namespace resolver; namespace could be
78 supplied in QName without nsresolver need (i.e. SelectChildren()).
81 2005-06-09 Andrew Skiba <andrews@mainsoft.com>
83 * XmlDefaultContext.cs : add TARGET_JVM for roundtrip bug
85 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
87 * Expression.cs : set TARGET_JVM where collation matters.
89 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
91 * XPathAtomicValue.cs :
92 it is now XmlAtomicValue and in sys.xml.schema.
93 * XPathNavigator.cs, Expression.cs :
94 removed atomizedName related 2.0 members (deprecated).
96 2004-05-05 Atsushi Enomoto <atsushi@ximian.com>
98 * XPathExpression.cs : added static Compile().
100 Use XPathExpression.Compile() for now.
101 Updated tree modification API to 2.0 beta2.
102 * XPathItem.cs, XPathNavigator.cs, XPathAtomicValue.cs :
103 updated to 2.0 beta2 API.
104 * XPathResultType.cs : removed [Serializable].
105 * XmlNodeChangeType.cs : removed obsolete file.
107 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
109 * XPathNavigator.cs : 2.0 build fix
111 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
113 * Expression.cs : In ExprSLASH2, replace A//B with A/descendant::B if
114 B is child axis test (thus peer&subtree optimization became possible)
115 Fixed warning (incorrect variable let).
117 2004-03-25 Atsushi Enomoto <atsushi@ximian.com>
119 * XPathNavigator.cs : reduced some Clone().
120 Simplified ComparePosition().
121 * Iterator.cs : some iterators are not actually reverse axis.
123 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
125 * Expression.cs : EvaluateBoolean() for RTF should check return true
126 for empty elements. Fixed static analysis for RTF.
128 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
130 * Parser.jay, Tokenizer.cs : Now they are used as common code base for
131 XPath parser and XSLT pattern parser. Makefile now creates two
132 set of sources of them. (This change takes effect on the next change).
134 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
136 * Parser.jay : rewrote step part to be reusable for upcoming XSLT
139 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
141 * Iterator.cs : reduced extra clone.
143 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
147 Iterator.cs : Now RequireSorting is not required in BaseIterator
148 (it is now fully in Expression).
149 Removed the last ListIterator .ctor() argument.
151 2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
153 * XPathNavigator.cs : In ComparePosition(), make use of IsDescendant().
155 2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
158 DefaultContext.cs : Basic constant folding optimization (not so
159 effective right now). Unified number-to-string conversion code into
160 XPathFunctions.ToString(double) to avoid roundtrip format right now.
161 * Iterator.cs : removed unused code.
163 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
165 * Iterator.cs : more clone reduction.
167 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
169 * Expression.cs, DefaultContext.cs : more Peer overrides.
171 2004-03-11 Atsushi Enomoto <atsushi@ximian.com>
174 DefaultContext.cs : Removed unused NeedAbsoluteMatching.
175 Added Peer and Subtree (for "peer & subtree optimization. See:
176 http://idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html
177 Fixed some ToString() that caused NullReferenceException.
179 * Iterator.cs : Predicate does not affect on RequireSorting.
180 Added SimpleSlashIterator for peer & subtree optimization.
182 Added PreserveWhitespace() consideration in BaseIterator.MoveNext().
184 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
188 SlashIterator is now constructed with requireSorting parameter
189 that thus just use RequireSorting from both left/right Expressions,
191 When attribute axis is on the left expression, the result needs to
194 2004-03-09 Atsushi Enomoto <atsushi@ximian.com>
196 * Iterator.cs : Now for most of iterator types, Current property always
197 returns the same instance. It results in huge memory reduction.
199 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
201 * Iterator.cs : (SlashIterator.MoveNext()) For SortedList.Add(), the
202 key should be iterator itself. Key by list count never makes sense.
204 2004-03-04 Atsushi Enomoto <atsushi@ximian.com>
206 * Expression.cs : Significant whitespace nodes must be returned in
209 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
211 * Expression.cs : xsl:sort case-order was not handled properly.
213 2004-02-23 Atsushi Enomoto <atsushi@ximian.com>
216 In FollowingIterator, attribute and namespace nodes should be
217 considered to have following nodes. See XPath 1.0 section 5 (esp.
218 the description on "document order").
219 On fixing @*/following::*, attribute nodes are regarded as to be
220 RequireSorting = true (which might result in duplicate).
222 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
224 * Expression.cs : string() function expects "Infinity" and "-Infinity"
225 instead of "INF" for conversion from number. XmlConvert is for XSD,
228 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
230 * Expression.cs : RelationalExpr was comparing number and node in
231 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
232 RelationalExpr should also handle result tree fragment as node-set
233 as well as EqualityExpr. This fixes RTF case wrt #72343.
235 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
237 * Expression.cs : tiny code format fix by Andrew Skiba.
239 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
241 * XPathNavigator.cs : Added CheckValidity() and ValueType.
242 For SetTypedValue(), throw NotSupportedException instead of
243 NotImplementedException.
245 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
247 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
248 all the missing attributes.
250 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
252 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
253 eliminated string fields from struct.
254 (When we switch from struct to class, revert this change to use
255 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
256 wasting processing speed.)
258 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
260 * Iterator.cs : when PredicateIterator has a numeric predicate, it
261 will never be true twice. So just break up the iteration on true.
262 * XPathNavigator.cs : implemented LookupPrefix().
263 * Expression.cs : ExprParens.Optimize() could just return the content
266 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
268 * IXPathChangeNavigable.cs,
270 XPathDocumentNodeChangedAction.cs : removed old files.
272 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
274 * Iterator.cs : with related to the previous patch, many comments
275 got making no sense. Thanks to Harinath.
277 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
279 * Iterator.cs : actually I mean this patch.
281 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
283 * Iterator.cs : Create _current clone only when required. So just set
284 null when MoveNextCore() succeeded (except for some cases that
285 _current is _nav, such as SelfIterator).
287 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
289 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
290 it has to collect nodes in prior or not and whether it might return
291 nodes in inconsistent order is different matter.
292 (It still needs to store nodes when either of branches requires
293 sorting, because they might return the same node later.)
295 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
297 * Iterator.cs : reduced some extraneous ComparePosition() that could
298 be written as IsSamePosition(). ParentIterator doesn't have to be
301 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
303 * Iterator.cs : reimplemented AncestorIterator and
304 AncestorOrSelfIterator just to collect parents and not to move to
305 siblings. In some cases like thousands of siblings, it used to be
306 so slow, while we usually don't have so deep ancestors.
308 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
310 * Expression.cs : warning removal. Added Optimize() which is not
312 * Tokenizer.cs : warning elimination
314 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
316 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
317 IXPathEditable.cs : more removal of oldies.
319 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
321 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
323 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
325 * Tokenizer.cs : just use raw string instead of char[].
326 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
328 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
331 - Made copy constructor certainly different from other constructors.
332 - Position is never computed in each derived type. All MoveNext() are
334 - Most of the protected members could just be private.
336 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
338 * Expression.cs, XPathNavigator.cs : hold raw expression field for
339 get_Expression. It is preparation for expression optimization.
341 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
343 * Iterator.cs : SimpleIterator._current could be cloned only when
346 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
348 * Iterator.cs : Some removal of Clone() were harmless.
350 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
352 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
354 * XPathEditableNavigator.cs : It will be removed. Right now modified
356 * XPathNavigator.cs : Added members that are merged from
357 XPathEditableNavigator. Updated members name.
359 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
362 - Added WrapperIterator to return BaseIterator in such case that
363 variable reference is resolved to XPathNodeIterator. This fixes
365 - Path ".." is reverse axis (actually no effect).
366 - Fixed DescendantIterator.Clone() that missed "_finished" field.
368 In ExprVariable.Evaluate(), use WrapperIterator() for custom
371 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
373 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
375 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
377 * XPathAtomicValue.cs : missing Init() definition for float and string;
378 latter one resulted in infinite loop in Init(object,XmlSchemaType).
380 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
382 * XPathNavigator.cs : TypedValue could be implemented.
383 * XPathEditableNavigator.cs : removed some MonoTODO since now there
386 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
388 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
389 In .ctor(object, XmlSchemaType):
390 - For lists that contains just one item, Init() recursively.
391 - For XPathAtomicValue, Init() recursively for its content fields.
392 For Value and TypedValue, consider typecode from XmlSchemaType.
394 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
396 * XPathEditableNavigator.cs :
397 AppendChild(xmlReader) ignored nodes after than first one, and
398 resulted in infinite loop.
399 Added get_OuterXml overrides. set_OuterXml should not move to
400 parent before deleting current.
402 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
404 * XPathAtomicValue.cs : Value was not returning expected value when
405 it is created as new XPathAtomicValue (object, XmlSchemaType).
406 Compute stringValue and reuse.
407 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
408 (for checking XQuery implementation).
410 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
412 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
413 precisely (still not enough, for list argument).
414 Removed commended blocks.
416 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
418 * XPathAtomicValue.cs : DateTime should be convertible to string.
419 Use schemaType's TypeCode for .ctor() that takes object.
420 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
421 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
422 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
425 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
427 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
429 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
431 * XPathEditableNavigator.cs : implemented some editor support methods.
433 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
436 - For .NET 2.0, added a switch to support new XPathDocument2.
437 If switch is off, then it uses DTM.
438 - Implemented remaining 2.0 bits (except for Obsolete ones).
440 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
441 (It is still too unstable to pass all nunit tests and standalone XSLT
444 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
446 * XPathNavigator.cs : Implemented ReadSubtree().
448 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
450 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
451 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
452 IXPathEditable.CreateEditor().
454 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
456 * XPathEditableNavigator.cs : Implemented InsertAfter() and
457 PrependChild(); they are virtual, not abstract.
458 * XPathNavigator.cs :
459 Implemented many 2.0 virtual properties and methods that were
461 Implemented some Select() methods that uses IXmlNamespaceResolver.
462 Implemented most of ValueAsXxx() using XQueryConvert.
463 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
464 actually they don't work because it depends on ReadSubtree()).
466 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
468 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
469 * XPathEditableNavigator.cs : added BuildSubTree().
470 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
472 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
474 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
476 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
478 * XPathExpression.cs, Expression.cs :
479 Added SetContext(IXmlNamespaceResolver).
480 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
481 * XPathAtomicValue.cs : Halfly implemented.
482 * XPathDocument.cs : Added 2.0 members.
483 * XPathDocumentNodeChangedAction.cs : updated member names.
484 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
485 * XPathNavigator.cs : Added missing 2.0 members.
486 Fixed some members as virtual->override.
488 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
490 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
491 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
493 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
495 * Expression.cs, Iterator.cs, XPathNavigator.cs :
496 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
497 * XPathEditableNavigator.cs : fixed namespace.
498 * XPathNavigator.cs :
499 Fixed inheritance. Added missing MonoTODO.
500 Removed old .net 1.2 code.
502 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
504 * DefaultContext.cs : Globalization.
505 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
506 in case of empty list. Thus extraneous iteration might happened.
507 Removed unused (and clone unsafe) EnumeratorIterator.
509 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
511 * XPathDocument.s : The previous patch is still incomplete to close.
513 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
515 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
517 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
519 * Expression.cs : LookupNamespace() only allows already-atomized names.
520 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
523 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
525 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
527 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
528 the same as well as NodeSet. This fixes bug #59134.
530 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
532 * XPathAtomicValue.cs : missed NET_2_0.
534 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
536 * IXPathChangeNavigable.cs,
538 NodeChangedEventArgs.cs,
539 NodeChangedEventHandler.cs,
541 XPathChangeNavigator.cs,
542 XPathDocumentNodeChangedAction.cs,
543 XPathEditableNavigator.cs,
546 XmlNodeChangeType.cs : added NET_2_0 classes.
548 XPathNavigator.cs : updated NET_2_0 members.
550 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
552 * Expression.cs : We should not catch all kind of exception. Just
553 throwing any kind of exception would be preferable.
554 Added support for XPathNavigator values.
556 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
558 * DefaultContext.cs : Removed MonoTODO. done.
559 * Expression.cs : handle XPathResultType.Navigator in some places and
560 removed MonoTODO. Mark MonoTODO with explicit comments (though they
561 are mostly pointing out possibilities of optimization).
562 Removed extra check that depended on the old bugs.
563 * XPathResultType.cs : Fixed .Navigator that had the same value as
566 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
568 * Parser.jay : made class internal.
570 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
572 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
573 result of MoveToParent() should be checked.
575 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
577 * XPathNavigator.cs : Only child and attribute axes are allowed for
579 * Expression.cs : Added IsPositional property.
580 * DefaultContext.cs : Added some overrides.
582 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
584 * XPathNavigator.cs : no, its still not ok. comment out now.
586 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
588 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
589 to reduce extraneous Matches() trial.
590 * Iterator.cs : Removed unused MergedIterator.
591 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
592 unnecessarily. (Test with NeedAbsoluteMatching).
594 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
596 * Iterator.cs : Added overriden Count properties for some iterators
597 (this fixes the half of #50678).
598 Added ListIterator class (which can reduce GetEnumerator()).
599 In some places we can omit clone for Current property, so added
600 some check logic (It has no effect as yet).
601 * Expression.cs, DefaultContext.cs :
602 use ListIterator instead of EnumeratorIterator.
604 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
606 * DefaultContext.cs, Expression.cs, Iterator.cs :
607 tiny foreach elimination.
609 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
611 * DefaultContext.cs : trivial processing order fix.
613 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
615 * DefaultContext.cs : Avoid exception if possible.
616 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
617 nav was positioned at the first, it incorrectly points itself.
618 Don't add names to name table while it is useless and expensive.
620 2004-01-08 Nick Drochak <ndrochak@ieee.org>
622 * Iterator.cs: Removed unused variable.
624 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
626 * Parser.jay : now it supresses error output from jay.
627 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
628 * Tokenizer.cs : better error message.
629 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
630 (just found MS.NET actually supports it)
632 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
634 * Iterator.cs : On its iteration, moving Current must not affect to
635 MoveNext(). To assure this, Current must be a clone of navigator.
638 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
640 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
641 * Iterator.cs : ParensIterator can inherit from BaseIterator.
642 SlashIterator copy .ctor() always failed to clone. This fixes Count.
644 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
646 * Expression.cs : XPathSorters.Compare() should compare document
647 position. See last sentence of XSLT 1.0 secion 10.
649 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
651 * DefaultContext.cs : Overrode all functions' ToString().
652 XPathFunctions.ToNumber() trims whitespaces at both side.
653 Fixed NullReferenceException in normalize-space().
654 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
655 attribute or namespace node correctly.
656 SlashIterator.Clone() didn't clone "next node iterator" correctly.
657 EnumeratorIterator.ctor() should raise an error (not at Clone())
658 when the target IEnumerator is not ICloneable.
660 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
662 * Expression.cs : namespace axis now traversed in reverse order, so it
664 * Iterator.cs : UnionIterator.Clone() was incomplete.
665 NamespaceItarator() should be reverse order (special handling
666 because of XPathNavigator specification).
668 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
670 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
671 * XPathNavigator.cs : ComparePosition() didn't handle attributes
674 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
676 * Parser.jay, Expression.cs, Iterator.cs :
677 Added ExprParens and ParensIterator classes which is used to handle
678 precedence of parenthesized expressions.
679 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
681 * Expression.cs, Iterator.cs :
682 Added RequireSorting property for each Expr and BaseIterator classes.
683 SlashIterator.MoveNext() now considers correct sorting. But
684 considering performance, it separates two logics, sorted and sortless
685 depending on RequireSorting of left iterator and right expression.
688 SimpleIterator.ctor() should consider when nav is null.
689 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
690 not return any nodes.
691 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
693 AncestorIterator.MoveNext() should skip Root if context node is
695 FollowingIterator.MoveNext() should not handle children of context
697 PrecedingIterator.MoveNext() should skip its ancestors.
698 AxisIterator.ReverseAxis should be dependent on its containing iter.
699 UnionIterator.MoveNext() should consider comparison of nodes in
700 different document. The behavior is implementation dependent.
703 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
705 * Added XPathComparer.cs
706 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
707 iterator correctly, and sort results.
709 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
711 * DefaultContext.cs : Imcomplete fix ;-)
713 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
715 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
716 XPathFunctionId.cs : Exposed Id expression.
717 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
718 will be used to solve evaluation precedence problem).
720 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
722 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
723 inconsistent order, and 2)may return duplicate result nodes.
725 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
727 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
728 it inherit from the base class. This made b[2] evaluated on
729 <a /><b /><c /><a /><b /><c /> return the first b node because
730 in the ChildIterator it was the second node and seemed to satsify
733 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
735 * Iterator.cs : Added bool ReverseAxis property to identify whether
736 the iterator is in reverse order or not. Added ComparablePosition
737 for correct position comparison for PredicateIterator and reverse-
738 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
739 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
740 return their nodes in document order. This fixes bugzilla #39079.
742 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
744 * Iterator.cs : DescendantIterator and FollowingIterator also should
745 not MoveNext() after they reached to the end.
747 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
749 * Iterator.cs : Fixed UnionIterator who ignores document order.
750 Fixed SlashIterator whose MoveNext() should finish at its end.
752 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
754 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
755 use NameTable so we dont call strcmp.
757 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
759 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
761 * Iterator.cs, Expression.cs: All axes are
762 SimpleIterators. SimpleIterators are gaurenteed to give the same
763 XPathNavigator in Current. Make AxisIterator take a
764 SimpleIterator, not any old BaseIterator. Will allow us to make
765 NameTable optimizations and avoid quite a few strcmp's.
767 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
769 * Expression.cs: make // work right, must use another slash itr.
771 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
773 * Expression.cs: cant use $$ before assigned.
775 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
777 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
779 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
781 * Expression.cs: num != double.NaN does not work.
783 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
785 * Expression.cs: in NodeTypeTest dont throw an exception if it is
786 an unknown node type (allows for better Pattern debugging).
788 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
790 * DefaultContext.cs: implement sum () and translate ().
792 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
794 * XPathNavigator.cs: Make methods where you pass in the context,
795 so that we dont have to clone expressions so much.
797 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
799 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
800 system functions are actually expressions. Will allow for some
803 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
805 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
806 improvement in the method (5ms/call -> .7 ms / call) measured by
807 monodoc's rendering of N:System.
808 * Expression.cs: Utility methods to support above.
810 2003-08-13 Piers Haken <piersh@friskit.com>
813 fix MergedIterator.Clone(), now clones other's iterators
814 fix DescendantIterator.Clone(), now copies depth
815 make iterator cloning constructors more type-specific
817 2003-08-01 Piers Haken <piersh@friskit.com>
819 * Expression.cs: added NodeNamespaceTest
820 * XPathNavigator.cs: implement Select* with namespaces
822 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
824 * Iterator.cs: Allow creation of an EnumeratorIterator with an
827 2003-07-31 Piers Haken <piersh@friskit.com>
830 Nested predicates (uses ExprFilter instead)
832 make grammar look more like w3c spec
834 remove ExprStep, ExprPredicates
835 NodeTest is now a NodeSet
838 PredicateIterator now only takes a single predicate expression
841 simplified SelectTest
845 2003-07-30 Duncan Mak <duncan@ximian.com>
851 2003-07-29 Piers Haken <piersh@friskit.com>
853 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
855 2003-07-29 Piers Haken <piersh@friskit.com>
859 add typesafe Evaluate* methods
861 2003-07-29 Piers Haken <piersh@friskit.com>
863 * DefaultContext.cs: fix 'substring-after'
865 2003-07-29 Piers Haken <piersh@friskit.com>
867 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
869 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
871 * Iterator.cs: dont throw exceptions on tostring ()
873 2003-07-28 Piers Haken <piersh@friskit.com>
875 * DefaultContext.cs: better handling of null argument lists
876 * XPathNavigator.cs: implement ComparePosition
878 2003-07-28 Piers Haken <piersh@friskit.com>
880 * Expression.cs: boolean operators: handle comparing .Any better
882 2003-07-28 Piers Haken <piersh@friskit.com>
884 * DefaultContext.cs: count() should return a double
885 * Expression.cs: better support for handling non-double numbers
887 2003-07-28 Piers Haken <piersh@friskit.com>
889 * DefaultContext.cs: better function param matching
891 2003-07-27 Piers Haken <piersh@friskit.com>
895 catch FormatExceptions while parsing numbers
897 2003-07-27 Piers Haken <piersh@friskit.com>
900 fix case sorting order
901 allow EvaluateNumber to take XPathResultType.Any
903 2003-07-27 Piers Haken <piersh@friskit.com>
907 don't pass null to XmlQualifiedName constructor
909 2003-07-27 Piers Haken <piersh@friskit.com>
911 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
913 2003-07-27 Piers Haken <piersh@friskit.com>
915 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
917 2003-07-26 Piers Haken <piersh@friskit.com>
919 * Expression.cs: fix function evaluation with ambigous argument types
920 * XPathNavigator.cs: fix silly null reference bug
922 2003-07-26 Piers Haken <piersh@friskit.com>
926 ArrayListIterator->EnumeratorIterator
927 * Expression.cs: add sorting support
929 2003-07-26 Piers Haken <piersh@friskit.com>
933 move QName parsing into tokenizer
935 fix evaluating XPathResultType.Any
936 fix ExprDiv.ToString()
937 fix NodeTypeTest.ToString() (for namespace axis)
939 2003-07-25 Piers Haken <piersh@friskit.com>
941 * Expression.cs: return clone of $var evaluation
943 2003-07-26 Piers Haken <piersh@friskit.com>
945 * Iterator.cs: add setter for NamespaceManager
946 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
947 * Expression.cs: fix func/var exception strings
949 2003-07-25 Piers Haken <piersh@friskit.com>
951 * Expression.cs: implement ExprFilter.Evaluate
953 2003-07-25 Piers Haken <piersh@friskit.com>
955 * Expression.cs: implement ExprVariable.Evaluate
957 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
959 * DefaultContext.cs: implement lang ()
961 2003-07-24 Piers Haken <piersh@friskit.com>
965 allow ExprUNION to take non-nodeset (eg, $var) arguments
967 2003-07-24 Piers Haken <piersh@friskit.com>
969 * Tokenizer.cs: fix variable references
975 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
977 * XPathDocument.cs : removed Driver class and restored authors' name
978 (though it is completely rewrote).
980 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
982 * XPathDocument.cs : Replaced existing stub class with real
983 XPathDocument implementation.
985 2003-04-28 Piers Haken <piersh@friskit.com>
987 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
989 2003-03-07 Piers Haken <piersh@friskit.com>
991 * Tokenizer.cs: allow '.'s in NCNames
993 2003-03-07 Piers Haken <piersh@friskit.com>
997 fixed function argument resolution
999 2003-02-09 Piers Haken <piersh@friskit.com>
1001 * XPathNavigator.cs:
1003 * Expression.cs: fix namespace handling
1005 2003-01-04 Piers Haken <piersh@friskit.com>
1007 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
1009 2003-02-02 Piers Haken <piersh@friskit.com>
1011 * Parser.jay: add token names
1012 * Tokenizer.cs: fix NCName tokenization
1014 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1016 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
1017 (It should be a temporary fix.)
1019 2002-09-22 Nick Drochak <ndrochak@gol.com>
1021 * Parser.cs: Remove extraneous "using" that was stopping the build.
1023 2002-09-21 Piers Haken <piersh@friskit.com>
1025 * XPathException: implementation
1030 * XPathNavigator.jay:
1033 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1035 * Parser.cs: commented out non-existent namespace (it compiles fine
1036 with mcs because of a bug that is already on bugzilla).
1038 2002-09-12 Piers Haken <piersh@friskit.com>
1040 * Tokenizer.cs: fix parsing numbers that start with '.'
1041 * DefaultContext.cs: use MS-compatible formatting of doubles
1043 2002-09-12 Piers Haken <piersh@friskit.com>
1045 * Iterator.cs: added NullIterator to handle unspecified contexts
1046 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
1047 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
1049 2002-09-12 Piers Haken <piersh@friskit.com>
1051 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
1052 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
1053 * DefaultContext.cs: fix id() return type.
1055 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1057 * DefaultContext.cs: fixed bug #28840.
1058 * Expression.cs: added FIXME.
1060 2002-08-17 Jason Diamond <jason@injektilo.org>
1062 * XPathNavigator.cs: Fixed matching on patterns that look like
1063 absolute XPath expressions.
1065 2002-08-17 Jason Diamond <jason@injektilo.org>
1067 * XPathNavigator.cs: Added naive (but working) implementation of
1070 2002-07-31 Piers Haken <piersh@friskit.com>
1072 * XPathDocument.cs: simple, XmlDocument-based implementation
1074 2002-07-25 Piers Haken <piersh@friskit.com>
1076 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
1078 2002-07-17 Piers Haken <piersh@friskit.com>
1080 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
1081 * Parser.jay: remove redundant production
1082 * Expression.cs: add switches for debugging under VS.NET
1084 2002-07-17 Piers Haken <piersh@friskit.com>
1086 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
1088 2002-07-15 Piers Haken <piersh@friskit.com>
1091 - rename UnionIterator to MergedIterator,
1092 - create new UnionIterator to implment uniqueness for '|' operator
1093 - fix position bug in ArrayListIterator.Clone()
1094 * Expression.cs: use new UnionIterator constructor syntax
1096 2002-07-12 Piers Haken <piersh@friskit.com>
1098 * Iterator.cs: PredicateIterator: handle numeric predicates
1099 * Parser.jay: add some debugging support: yyparseDebug
1100 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
1102 2002-06-29 Piers Haken <piersh@friskit.com>
1106 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
1107 - remove NodeTestTypes enum
1108 - remove NodeTestTypeAny (functionality provided by base now)
1109 - fix ExprStep to handle wildcard QNames
1111 - moved to Mono.Xml.XPath namespace
1112 - use XPathResultType
1113 - handle wildcard QNames
1115 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
1117 * XPathNavigator.cs: implement
1123 * XPathResultType.cs: fix enum values
1125 2002-06-24 Jason Diamond <jason@injektilo.org>
1127 * XPathScanner.cs: Removed.
1129 2002-06-24 Dick Porter <dick@ximian.com>
1131 * XmlCaseOrder.cs: Fix namespace
1133 2002-06-23 Piers Haken <piersh@friskit.com>
1135 * DefaultContext.cs: implemented XPathFUnctionId
1136 * Iterator.cs: new ArrayListIterator for id() support
1138 2002-06-23 Piers Haken <piersh@friskit.com>
1140 * XPathNavigator.cs: implement:
1146 - some forwarding methods
1148 * XPathNodeIterator: implement caching Count
1150 * Tokenizer.cs: new XPath tokenizer
1151 * Parser.jay: new XPath grammar
1152 * Parser.cs: new precompiled XPath grammar
1153 * Expression.cs: new XPath expression objects
1154 * Iterator.cs: new XPath result/context objects
1155 * DefaultContext.cs: new XPath function binding context
1157 2002-05-08 Tim Coleman <tim@timcoleman.com>
1159 * XPathException.cs: New stub files added.
1161 2002-04-12 Duncan Mak <duncan@ximian.com>
1163 * XmlCaseOrder.cs: Moved to here from System.Xml.
1165 2002-03-26 Jason Diamond <jason@injektilo.org>
1167 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
1168 steps. Both absolution and relative abbreviated location paths.
1170 2002-03-25 Jason Diamond <jason@injektilo.org>
1172 * XPathScanner.cs: Added new file. This class is supposed to be internal
1173 but that would make it impossible to test.
1175 2002-03-08 Duncan Mak <duncan@ximian.com>
1177 * XPathNamespaceScope.cs:
1179 * XPathResultType.cs:
1181 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
1182 implementation. XPathResultType is interesting as EnumCheck does
1183 not show the Navigator element, but shows the String element twice.
1185 2002-03-08 Jason Diamond <jason@injektilo.org>
1187 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
1189 2002-03-06 Jason Diamond <jason@injektilo.org>
1191 * ChangeLog: Added to this directory.
1193 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
1194 XPathResultType.cs: New files.
1196 * XPathNavigator.cs: Stubbed out all properties and methods.