1 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
3 * XPathNavigator.cs : Added CheckValidity() and ValueType.
4 For SetTypedValue(), throw NotSupportedException instead of
5 NotImplementedException.
7 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
9 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
10 all the missing attributes.
12 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
14 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
15 eliminated string fields from struct.
16 (When we switch from struct to class, revert this change to use
17 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
18 wasting processing speed.)
20 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
22 * Iterator.cs : when PredicateIterator has a numeric predicate, it
23 will never be true twice. So just break up the iteration on true.
24 * XPathNavigator.cs : implemented LookupPrefix().
25 * Expression.cs : ExprParens.Optimize() could just return the content
28 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
30 * IXPathChangeNavigable.cs,
32 XPathDocumentNodeChangedAction.cs : removed old files.
34 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
36 * Iterator.cs : with related to the previous patch, many comments
37 got making no sense. Thanks to Harinath.
39 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
41 * Iterator.cs : actually I mean this patch.
43 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
45 * Iterator.cs : Create _current clone only when required. So just set
46 null when MoveNextCore() succeeded (except for some cases that
47 _current is _nav, such as SelfIterator).
49 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
51 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
52 it has to collect nodes in prior or not and whether it might return
53 nodes in inconsistent order is different matter.
54 (It still needs to store nodes when either of branches requires
55 sorting, because they might return the same node later.)
57 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
59 * Iterator.cs : reduced some extraneous ComparePosition() that could
60 be written as IsSamePosition(). ParentIterator doesn't have to be
63 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
65 * Iterator.cs : reimplemented AncestorIterator and
66 AncestorOrSelfIterator just to collect parents and not to move to
67 siblings. In some cases like thousands of siblings, it used to be
68 so slow, while we usually don't have so deep ancestors.
70 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
72 * Expression.cs : warning removal. Added Optimize() which is not
74 * Tokenizer.cs : warning elimination
76 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
78 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
79 IXPathEditable.cs : more removal of oldies.
81 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
83 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
85 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
87 * Tokenizer.cs : just use raw string instead of char[].
88 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
90 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
93 - Made copy constructor certainly different from other constructors.
94 - Position is never computed in each derived type. All MoveNext() are
96 - Most of the protected members could just be private.
98 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
100 * Expression.cs, XPathNavigator.cs : hold raw expression field for
101 get_Expression. It is preparation for expression optimization.
103 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
105 * Iterator.cs : SimpleIterator._current could be cloned only when
108 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
110 * Iterator.cs : Some removal of Clone() were harmless.
112 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
114 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
116 * XPathEditableNavigator.cs : It will be removed. Right now modified
118 * XPathNavigator.cs : Added members that are merged from
119 XPathEditableNavigator. Updated members name.
121 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
124 - Added WrapperIterator to return BaseIterator in such case that
125 variable reference is resolved to XPathNodeIterator. This fixes
127 - Path ".." is reverse axis (actually no effect).
128 - Fixed DescendantIterator.Clone() that missed "_finished" field.
130 In ExprVariable.Evaluate(), use WrapperIterator() for custom
133 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
135 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
137 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
139 * XPathAtomicValue.cs : missing Init() definition for float and string;
140 latter one resulted in infinite loop in Init(object,XmlSchemaType).
142 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
144 * XPathNavigator.cs : TypedValue could be implemented.
145 * XPathEditableNavigator.cs : removed some MonoTODO since now there
148 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
150 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
151 In .ctor(object, XmlSchemaType):
152 - For lists that contains just one item, Init() recursively.
153 - For XPathAtomicValue, Init() recursively for its content fields.
154 For Value and TypedValue, consider typecode from XmlSchemaType.
156 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
158 * XPathEditableNavigator.cs :
159 AppendChild(xmlReader) ignored nodes after than first one, and
160 resulted in infinite loop.
161 Added get_OuterXml overrides. set_OuterXml should not move to
162 parent before deleting current.
164 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
166 * XPathAtomicValue.cs : Value was not returning expected value when
167 it is created as new XPathAtomicValue (object, XmlSchemaType).
168 Compute stringValue and reuse.
169 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
170 (for checking XQuery implementation).
172 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
174 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
175 precisely (still not enough, for list argument).
176 Removed commended blocks.
178 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
180 * XPathAtomicValue.cs : DateTime should be convertible to string.
181 Use schemaType's TypeCode for .ctor() that takes object.
182 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
183 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
184 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
187 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
189 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
191 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
193 * XPathEditableNavigator.cs : implemented some editor support methods.
195 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
198 - For .NET 2.0, added a switch to support new XPathDocument2.
199 If switch is off, then it uses DTM.
200 - Implemented remaining 2.0 bits (except for Obsolete ones).
202 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
203 (It is still too unstable to pass all nunit tests and standalone XSLT
206 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
208 * XPathNavigator.cs : Implemented ReadSubtree().
210 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
212 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
213 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
214 IXPathEditable.CreateEditor().
216 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
218 * XPathEditableNavigator.cs : Implemented InsertAfter() and
219 PrependChild(); they are virtual, not abstract.
220 * XPathNavigator.cs :
221 Implemented many 2.0 virtual properties and methods that were
223 Implemented some Select() methods that uses IXmlNamespaceResolver.
224 Implemented most of ValueAsXxx() using XQueryConvert.
225 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
226 actually they don't work because it depends on ReadSubtree()).
228 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
230 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
231 * XPathEditableNavigator.cs : added BuildSubTree().
232 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
234 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
236 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
238 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
240 * XPathExpression.cs, Expression.cs :
241 Added SetContext(IXmlNamespaceResolver).
242 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
243 * XPathAtomicValue.cs : Halfly implemented.
244 * XPathDocument.cs : Added 2.0 members.
245 * XPathDocumentNodeChangedAction.cs : updated member names.
246 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
247 * XPathNavigator.cs : Added missing 2.0 members.
248 Fixed some members as virtual->override.
250 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
252 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
253 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
255 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
257 * Expression.cs, Iterator.cs, XPathNavigator.cs :
258 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
259 * XPathEditableNavigator.cs : fixed namespace.
260 * XPathNavigator.cs :
261 Fixed inheritance. Added missing MonoTODO.
262 Removed old .net 1.2 code.
264 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
266 * DefaultContext.cs : Globalization.
267 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
268 in case of empty list. Thus extraneous iteration might happened.
269 Removed unused (and clone unsafe) EnumeratorIterator.
271 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
273 * XPathDocument.s : The previous patch is still incomplete to close.
275 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
277 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
279 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
281 * Expression.cs : LookupNamespace() only allows already-atomized names.
282 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
285 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
287 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
289 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
290 the same as well as NodeSet. This fixes bug #59134.
292 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
294 * XPathAtomicValue.cs : missed NET_2_0.
296 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
298 * IXPathChangeNavigable.cs,
300 NodeChangedEventArgs.cs,
301 NodeChangedEventHandler.cs,
303 XPathChangeNavigator.cs,
304 XPathDocumentNodeChangedAction.cs,
305 XPathEditableNavigator.cs,
308 XmlNodeChangeType.cs : added NET_2_0 classes.
310 XPathNavigator.cs : updated NET_2_0 members.
312 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
314 * Expression.cs : We should not catch all kind of exception. Just
315 throwing any kind of exception would be preferable.
316 Added support for XPathNavigator values.
318 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
320 * DefaultContext.cs : Removed MonoTODO. done.
321 * Expression.cs : handle XPathResultType.Navigator in some places and
322 removed MonoTODO. Mark MonoTODO with explicit comments (though they
323 are mostly pointing out possibilities of optimization).
324 Removed extra check that depended on the old bugs.
325 * XPathResultType.cs : Fixed .Navigator that had the same value as
328 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
330 * Parser.jay : made class internal.
332 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
334 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
335 result of MoveToParent() should be checked.
337 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
339 * XPathNavigator.cs : Only child and attribute axes are allowed for
341 * Expression.cs : Added IsPositional property.
342 * DefaultContext.cs : Added some overrides.
344 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
346 * XPathNavigator.cs : no, its still not ok. comment out now.
348 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
350 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
351 to reduce extraneous Matches() trial.
352 * Iterator.cs : Removed unused MergedIterator.
353 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
354 unnecessarily. (Test with NeedAbsoluteMatching).
356 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
358 * Iterator.cs : Added overriden Count properties for some iterators
359 (this fixes the half of #50678).
360 Added ListIterator class (which can reduce GetEnumerator()).
361 In some places we can omit clone for Current property, so added
362 some check logic (It has no effect as yet).
363 * Expression.cs, DefaultContext.cs :
364 use ListIterator instead of EnumeratorIterator.
366 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
368 * DefaultContext.cs, Expression.cs, Iterator.cs :
369 tiny foreach elimination.
371 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
373 * DefaultContext.cs : trivial processing order fix.
375 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
377 * DefaultContext.cs : Avoid exception if possible.
378 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
379 nav was positioned at the first, it incorrectly points itself.
380 Don't add names to name table while it is useless and expensive.
382 2004-01-08 Nick Drochak <ndrochak@ieee.org>
384 * Iterator.cs: Removed unused variable.
386 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
388 * Parser.jay : now it supresses error output from jay.
389 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
390 * Tokenizer.cs : better error message.
391 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
392 (just found MS.NET actually supports it)
394 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
396 * Iterator.cs : On its iteration, moving Current must not affect to
397 MoveNext(). To assure this, Current must be a clone of navigator.
400 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
402 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
403 * Iterator.cs : ParensIterator can inherit from BaseIterator.
404 SlashIterator copy .ctor() always failed to clone. This fixes Count.
406 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
408 * Expression.cs : XPathSorters.Compare() should compare document
409 position. See last sentence of XSLT 1.0 secion 10.
411 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
413 * DefaultContext.cs : Overrode all functions' ToString().
414 XPathFunctions.ToNumber() trims whitespaces at both side.
415 Fixed NullReferenceException in normalize-space().
416 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
417 attribute or namespace node correctly.
418 SlashIterator.Clone() didn't clone "next node iterator" correctly.
419 EnumeratorIterator.ctor() should raise an error (not at Clone())
420 when the target IEnumerator is not ICloneable.
422 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
424 * Expression.cs : namespace axis now traversed in reverse order, so it
426 * Iterator.cs : UnionIterator.Clone() was incomplete.
427 NamespaceItarator() should be reverse order (special handling
428 because of XPathNavigator specification).
430 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
432 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
433 * XPathNavigator.cs : ComparePosition() didn't handle attributes
436 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
438 * Parser.jay, Expression.cs, Iterator.cs :
439 Added ExprParens and ParensIterator classes which is used to handle
440 precedence of parenthesized expressions.
441 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
443 * Expression.cs, Iterator.cs :
444 Added RequireSorting property for each Expr and BaseIterator classes.
445 SlashIterator.MoveNext() now considers correct sorting. But
446 considering performance, it separates two logics, sorted and sortless
447 depending on RequireSorting of left iterator and right expression.
450 SimpleIterator.ctor() should consider when nav is null.
451 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
452 not return any nodes.
453 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
455 AncestorIterator.MoveNext() should skip Root if context node is
457 FollowingIterator.MoveNext() should not handle children of context
459 PrecedingIterator.MoveNext() should skip its ancestors.
460 AxisIterator.ReverseAxis should be dependent on its containing iter.
461 UnionIterator.MoveNext() should consider comparison of nodes in
462 different document. The behavior is implementation dependent.
465 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
467 * Added XPathComparer.cs
468 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
469 iterator correctly, and sort results.
471 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
473 * DefaultContext.cs : Imcomplete fix ;-)
475 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
477 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
478 XPathFunctionId.cs : Exposed Id expression.
479 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
480 will be used to solve evaluation precedence problem).
482 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
484 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
485 inconsistent order, and 2)may return duplicate result nodes.
487 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
489 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
490 it inherit from the base class. This made b[2] evaluated on
491 <a /><b /><c /><a /><b /><c /> return the first b node because
492 in the ChildIterator it was the second node and seemed to satsify
495 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
497 * Iterator.cs : Added bool ReverseAxis property to identify whether
498 the iterator is in reverse order or not. Added ComparablePosition
499 for correct position comparison for PredicateIterator and reverse-
500 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
501 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
502 return their nodes in document order. This fixes bugzilla #39079.
504 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
506 * Iterator.cs : DescendantIterator and FollowingIterator also should
507 not MoveNext() after they reached to the end.
509 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
511 * Iterator.cs : Fixed UnionIterator who ignores document order.
512 Fixed SlashIterator whose MoveNext() should finish at its end.
514 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
516 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
517 use NameTable so we dont call strcmp.
519 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
521 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
523 * Iterator.cs, Expression.cs: All axes are
524 SimpleIterators. SimpleIterators are gaurenteed to give the same
525 XPathNavigator in Current. Make AxisIterator take a
526 SimpleIterator, not any old BaseIterator. Will allow us to make
527 NameTable optimizations and avoid quite a few strcmp's.
529 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
531 * Expression.cs: make // work right, must use another slash itr.
533 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
535 * Expression.cs: cant use $$ before assigned.
537 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
539 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
541 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
543 * Expression.cs: num != double.NaN does not work.
545 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
547 * Expression.cs: in NodeTypeTest dont throw an exception if it is
548 an unknown node type (allows for better Pattern debugging).
550 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
552 * DefaultContext.cs: implement sum () and translate ().
554 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
556 * XPathNavigator.cs: Make methods where you pass in the context,
557 so that we dont have to clone expressions so much.
559 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
561 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
562 system functions are actually expressions. Will allow for some
565 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
567 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
568 improvement in the method (5ms/call -> .7 ms / call) measured by
569 monodoc's rendering of N:System.
570 * Expression.cs: Utility methods to support above.
572 2003-08-13 Piers Haken <piersh@friskit.com>
575 fix MergedIterator.Clone(), now clones other's iterators
576 fix DescendantIterator.Clone(), now copies depth
577 make iterator cloning constructors more type-specific
579 2003-08-01 Piers Haken <piersh@friskit.com>
581 * Expression.cs: added NodeNamespaceTest
582 * XPathNavigator.cs: implement Select* with namespaces
584 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
586 * Iterator.cs: Allow creation of an EnumeratorIterator with an
589 2003-07-31 Piers Haken <piersh@friskit.com>
592 Nested predicates (uses ExprFilter instead)
594 make grammar look more like w3c spec
596 remove ExprStep, ExprPredicates
597 NodeTest is now a NodeSet
600 PredicateIterator now only takes a single predicate expression
603 simplified SelectTest
607 2003-07-30 Duncan Mak <duncan@ximian.com>
613 2003-07-29 Piers Haken <piersh@friskit.com>
615 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
617 2003-07-29 Piers Haken <piersh@friskit.com>
621 add typesafe Evaluate* methods
623 2003-07-29 Piers Haken <piersh@friskit.com>
625 * DefaultContext.cs: fix 'substring-after'
627 2003-07-29 Piers Haken <piersh@friskit.com>
629 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
631 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
633 * Iterator.cs: dont throw exceptions on tostring ()
635 2003-07-28 Piers Haken <piersh@friskit.com>
637 * DefaultContext.cs: better handling of null argument lists
638 * XPathNavigator.cs: implement ComparePosition
640 2003-07-28 Piers Haken <piersh@friskit.com>
642 * Expression.cs: boolean operators: handle comparing .Any better
644 2003-07-28 Piers Haken <piersh@friskit.com>
646 * DefaultContext.cs: count() should return a double
647 * Expression.cs: better support for handling non-double numbers
649 2003-07-28 Piers Haken <piersh@friskit.com>
651 * DefaultContext.cs: better function param matching
653 2003-07-27 Piers Haken <piersh@friskit.com>
657 catch FormatExceptions while parsing numbers
659 2003-07-27 Piers Haken <piersh@friskit.com>
662 fix case sorting order
663 allow EvaluateNumber to take XPathResultType.Any
665 2003-07-27 Piers Haken <piersh@friskit.com>
669 don't pass null to XmlQualifiedName constructor
671 2003-07-27 Piers Haken <piersh@friskit.com>
673 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
675 2003-07-27 Piers Haken <piersh@friskit.com>
677 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
679 2003-07-26 Piers Haken <piersh@friskit.com>
681 * Expression.cs: fix function evaluation with ambigous argument types
682 * XPathNavigator.cs: fix silly null reference bug
684 2003-07-26 Piers Haken <piersh@friskit.com>
688 ArrayListIterator->EnumeratorIterator
689 * Expression.cs: add sorting support
691 2003-07-26 Piers Haken <piersh@friskit.com>
695 move QName parsing into tokenizer
697 fix evaluating XPathResultType.Any
698 fix ExprDiv.ToString()
699 fix NodeTypeTest.ToString() (for namespace axis)
701 2003-07-25 Piers Haken <piersh@friskit.com>
703 * Expression.cs: return clone of $var evaluation
705 2003-07-26 Piers Haken <piersh@friskit.com>
707 * Iterator.cs: add setter for NamespaceManager
708 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
709 * Expression.cs: fix func/var exception strings
711 2003-07-25 Piers Haken <piersh@friskit.com>
713 * Expression.cs: implement ExprFilter.Evaluate
715 2003-07-25 Piers Haken <piersh@friskit.com>
717 * Expression.cs: implement ExprVariable.Evaluate
719 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
721 * DefaultContext.cs: implement lang ()
723 2003-07-24 Piers Haken <piersh@friskit.com>
727 allow ExprUNION to take non-nodeset (eg, $var) arguments
729 2003-07-24 Piers Haken <piersh@friskit.com>
731 * Tokenizer.cs: fix variable references
737 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
739 * XPathDocument.cs : removed Driver class and restored authors' name
740 (though it is completely rewrote).
742 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
744 * XPathDocument.cs : Replaced existing stub class with real
745 XPathDocument implementation.
747 2003-04-28 Piers Haken <piersh@friskit.com>
749 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
751 2003-03-07 Piers Haken <piersh@friskit.com>
753 * Tokenizer.cs: allow '.'s in NCNames
755 2003-03-07 Piers Haken <piersh@friskit.com>
759 fixed function argument resolution
761 2003-02-09 Piers Haken <piersh@friskit.com>
765 * Expression.cs: fix namespace handling
767 2003-01-04 Piers Haken <piersh@friskit.com>
769 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
771 2003-02-02 Piers Haken <piersh@friskit.com>
773 * Parser.jay: add token names
774 * Tokenizer.cs: fix NCName tokenization
776 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
778 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
779 (It should be a temporary fix.)
781 2002-09-22 Nick Drochak <ndrochak@gol.com>
783 * Parser.cs: Remove extraneous "using" that was stopping the build.
785 2002-09-21 Piers Haken <piersh@friskit.com>
787 * XPathException: implementation
792 * XPathNavigator.jay:
795 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
797 * Parser.cs: commented out non-existent namespace (it compiles fine
798 with mcs because of a bug that is already on bugzilla).
800 2002-09-12 Piers Haken <piersh@friskit.com>
802 * Tokenizer.cs: fix parsing numbers that start with '.'
803 * DefaultContext.cs: use MS-compatible formatting of doubles
805 2002-09-12 Piers Haken <piersh@friskit.com>
807 * Iterator.cs: added NullIterator to handle unspecified contexts
808 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
809 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
811 2002-09-12 Piers Haken <piersh@friskit.com>
813 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
814 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
815 * DefaultContext.cs: fix id() return type.
817 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
819 * DefaultContext.cs: fixed bug #28840.
820 * Expression.cs: added FIXME.
822 2002-08-17 Jason Diamond <jason@injektilo.org>
824 * XPathNavigator.cs: Fixed matching on patterns that look like
825 absolute XPath expressions.
827 2002-08-17 Jason Diamond <jason@injektilo.org>
829 * XPathNavigator.cs: Added naive (but working) implementation of
832 2002-07-31 Piers Haken <piersh@friskit.com>
834 * XPathDocument.cs: simple, XmlDocument-based implementation
836 2002-07-25 Piers Haken <piersh@friskit.com>
838 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
840 2002-07-17 Piers Haken <piersh@friskit.com>
842 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
843 * Parser.jay: remove redundant production
844 * Expression.cs: add switches for debugging under VS.NET
846 2002-07-17 Piers Haken <piersh@friskit.com>
848 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
850 2002-07-15 Piers Haken <piersh@friskit.com>
853 - rename UnionIterator to MergedIterator,
854 - create new UnionIterator to implment uniqueness for '|' operator
855 - fix position bug in ArrayListIterator.Clone()
856 * Expression.cs: use new UnionIterator constructor syntax
858 2002-07-12 Piers Haken <piersh@friskit.com>
860 * Iterator.cs: PredicateIterator: handle numeric predicates
861 * Parser.jay: add some debugging support: yyparseDebug
862 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
864 2002-06-29 Piers Haken <piersh@friskit.com>
868 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
869 - remove NodeTestTypes enum
870 - remove NodeTestTypeAny (functionality provided by base now)
871 - fix ExprStep to handle wildcard QNames
873 - moved to Mono.Xml.XPath namespace
874 - use XPathResultType
875 - handle wildcard QNames
877 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
879 * XPathNavigator.cs: implement
885 * XPathResultType.cs: fix enum values
887 2002-06-24 Jason Diamond <jason@injektilo.org>
889 * XPathScanner.cs: Removed.
891 2002-06-24 Dick Porter <dick@ximian.com>
893 * XmlCaseOrder.cs: Fix namespace
895 2002-06-23 Piers Haken <piersh@friskit.com>
897 * DefaultContext.cs: implemented XPathFUnctionId
898 * Iterator.cs: new ArrayListIterator for id() support
900 2002-06-23 Piers Haken <piersh@friskit.com>
902 * XPathNavigator.cs: implement:
908 - some forwarding methods
910 * XPathNodeIterator: implement caching Count
912 * Tokenizer.cs: new XPath tokenizer
913 * Parser.jay: new XPath grammar
914 * Parser.cs: new precompiled XPath grammar
915 * Expression.cs: new XPath expression objects
916 * Iterator.cs: new XPath result/context objects
917 * DefaultContext.cs: new XPath function binding context
919 2002-05-08 Tim Coleman <tim@timcoleman.com>
921 * XPathException.cs: New stub files added.
923 2002-04-12 Duncan Mak <duncan@ximian.com>
925 * XmlCaseOrder.cs: Moved to here from System.Xml.
927 2002-03-26 Jason Diamond <jason@injektilo.org>
929 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
930 steps. Both absolution and relative abbreviated location paths.
932 2002-03-25 Jason Diamond <jason@injektilo.org>
934 * XPathScanner.cs: Added new file. This class is supposed to be internal
935 but that would make it impossible to test.
937 2002-03-08 Duncan Mak <duncan@ximian.com>
939 * XPathNamespaceScope.cs:
941 * XPathResultType.cs:
943 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
944 implementation. XPathResultType is interesting as EnumCheck does
945 not show the Navigator element, but shows the String element twice.
947 2002-03-08 Jason Diamond <jason@injektilo.org>
949 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
951 2002-03-06 Jason Diamond <jason@injektilo.org>
953 * ChangeLog: Added to this directory.
955 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
956 XPathResultType.cs: New files.
958 * XPathNavigator.cs: Stubbed out all properties and methods.