1 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
3 * Iterator.cs : when PredicateIterator has a numeric predicate, it
4 will never be true twice. So just break up the iteration on true.
5 * XPathNavigator.cs : implemented LookupPrefix().
6 * Expression.cs : ExprParens.Optimize() could just return the content
9 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
11 * IXPathChangeNavigable.cs,
13 XPathDocumentNodeChangedAction.cs : removed old files.
15 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
17 * Iterator.cs : with related to the previous patch, many comments
18 got making no sense. Thanks to Harinath.
20 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
22 * Iterator.cs : actually I mean this patch.
24 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
26 * Iterator.cs : Create _current clone only when required. So just set
27 null when MoveNextCore() succeeded (except for some cases that
28 _current is _nav, such as SelfIterator).
30 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
32 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
33 it has to collect nodes in prior or not and whether it might return
34 nodes in inconsistent order is different matter.
35 (It still needs to store nodes when either of branches requires
36 sorting, because they might return the same node later.)
38 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
40 * Iterator.cs : reduced some extraneous ComparePosition() that could
41 be written as IsSamePosition(). ParentIterator doesn't have to be
44 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
46 * Iterator.cs : reimplemented AncestorIterator and
47 AncestorOrSelfIterator just to collect parents and not to move to
48 siblings. In some cases like thousands of siblings, it used to be
49 so slow, while we usually don't have so deep ancestors.
51 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
53 * Expression.cs : warning removal. Added Optimize() which is not
55 * Tokenizer.cs : warning elimination
57 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
59 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
60 IXPathEditable.cs : more removal of oldies.
62 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
64 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
66 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
68 * Tokenizer.cs : just use raw string instead of char[].
69 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
71 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
74 - Made copy constructor certainly different from other constructors.
75 - Position is never computed in each derived type. All MoveNext() are
77 - Most of the protected members could just be private.
79 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
81 * Expression.cs, XPathNavigator.cs : hold raw expression field for
82 get_Expression. It is preparation for expression optimization.
84 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
86 * Iterator.cs : SimpleIterator._current could be cloned only when
89 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
91 * Iterator.cs : Some removal of Clone() were harmless.
93 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
95 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
97 * XPathEditableNavigator.cs : It will be removed. Right now modified
99 * XPathNavigator.cs : Added members that are merged from
100 XPathEditableNavigator. Updated members name.
102 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
105 - Added WrapperIterator to return BaseIterator in such case that
106 variable reference is resolved to XPathNodeIterator. This fixes
108 - Path ".." is reverse axis (actually no effect).
109 - Fixed DescendantIterator.Clone() that missed "_finished" field.
111 In ExprVariable.Evaluate(), use WrapperIterator() for custom
114 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
116 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
118 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
120 * XPathAtomicValue.cs : missing Init() definition for float and string;
121 latter one resulted in infinite loop in Init(object,XmlSchemaType).
123 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
125 * XPathNavigator.cs : TypedValue could be implemented.
126 * XPathEditableNavigator.cs : removed some MonoTODO since now there
129 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
131 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
132 In .ctor(object, XmlSchemaType):
133 - For lists that contains just one item, Init() recursively.
134 - For XPathAtomicValue, Init() recursively for its content fields.
135 For Value and TypedValue, consider typecode from XmlSchemaType.
137 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
139 * XPathEditableNavigator.cs :
140 AppendChild(xmlReader) ignored nodes after than first one, and
141 resulted in infinite loop.
142 Added get_OuterXml overrides. set_OuterXml should not move to
143 parent before deleting current.
145 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
147 * XPathAtomicValue.cs : Value was not returning expected value when
148 it is created as new XPathAtomicValue (object, XmlSchemaType).
149 Compute stringValue and reuse.
150 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
151 (for checking XQuery implementation).
153 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
155 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
156 precisely (still not enough, for list argument).
157 Removed commended blocks.
159 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
161 * XPathAtomicValue.cs : DateTime should be convertible to string.
162 Use schemaType's TypeCode for .ctor() that takes object.
163 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
164 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
165 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
168 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
170 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
172 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
174 * XPathEditableNavigator.cs : implemented some editor support methods.
176 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
179 - For .NET 2.0, added a switch to support new XPathDocument2.
180 If switch is off, then it uses DTM.
181 - Implemented remaining 2.0 bits (except for Obsolete ones).
183 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
184 (It is still too unstable to pass all nunit tests and standalone XSLT
187 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
189 * XPathNavigator.cs : Implemented ReadSubtree().
191 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
193 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
194 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
195 IXPathEditable.CreateEditor().
197 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
199 * XPathEditableNavigator.cs : Implemented InsertAfter() and
200 PrependChild(); they are virtual, not abstract.
201 * XPathNavigator.cs :
202 Implemented many 2.0 virtual properties and methods that were
204 Implemented some Select() methods that uses IXmlNamespaceResolver.
205 Implemented most of ValueAsXxx() using XQueryConvert.
206 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
207 actually they don't work because it depends on ReadSubtree()).
209 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
211 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
212 * XPathEditableNavigator.cs : added BuildSubTree().
213 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
215 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
217 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
219 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
221 * XPathExpression.cs, Expression.cs :
222 Added SetContext(IXmlNamespaceResolver).
223 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
224 * XPathAtomicValue.cs : Halfly implemented.
225 * XPathDocument.cs : Added 2.0 members.
226 * XPathDocumentNodeChangedAction.cs : updated member names.
227 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
228 * XPathNavigator.cs : Added missing 2.0 members.
229 Fixed some members as virtual->override.
231 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
233 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
234 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
236 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
238 * Expression.cs, Iterator.cs, XPathNavigator.cs :
239 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
240 * XPathEditableNavigator.cs : fixed namespace.
241 * XPathNavigator.cs :
242 Fixed inheritance. Added missing MonoTODO.
243 Removed old .net 1.2 code.
245 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
247 * DefaultContext.cs : Globalization.
248 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
249 in case of empty list. Thus extraneous iteration might happened.
250 Removed unused (and clone unsafe) EnumeratorIterator.
252 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
254 * XPathDocument.s : The previous patch is still incomplete to close.
256 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
258 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
260 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
262 * Expression.cs : LookupNamespace() only allows already-atomized names.
263 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
266 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
268 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
270 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
271 the same as well as NodeSet. This fixes bug #59134.
273 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
275 * XPathAtomicValue.cs : missed NET_2_0.
277 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
279 * IXPathChangeNavigable.cs,
281 NodeChangedEventArgs.cs,
282 NodeChangedEventHandler.cs,
284 XPathChangeNavigator.cs,
285 XPathDocumentNodeChangedAction.cs,
286 XPathEditableNavigator.cs,
289 XmlNodeChangeType.cs : added NET_2_0 classes.
291 XPathNavigator.cs : updated NET_2_0 members.
293 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
295 * Expression.cs : We should not catch all kind of exception. Just
296 throwing any kind of exception would be preferable.
297 Added support for XPathNavigator values.
299 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
301 * DefaultContext.cs : Removed MonoTODO. done.
302 * Expression.cs : handle XPathResultType.Navigator in some places and
303 removed MonoTODO. Mark MonoTODO with explicit comments (though they
304 are mostly pointing out possibilities of optimization).
305 Removed extra check that depended on the old bugs.
306 * XPathResultType.cs : Fixed .Navigator that had the same value as
309 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
311 * Parser.jay : made class internal.
313 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
315 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
316 result of MoveToParent() should be checked.
318 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
320 * XPathNavigator.cs : Only child and attribute axes are allowed for
322 * Expression.cs : Added IsPositional property.
323 * DefaultContext.cs : Added some overrides.
325 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
327 * XPathNavigator.cs : no, its still not ok. comment out now.
329 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
331 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
332 to reduce extraneous Matches() trial.
333 * Iterator.cs : Removed unused MergedIterator.
334 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
335 unnecessarily. (Test with NeedAbsoluteMatching).
337 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
339 * Iterator.cs : Added overriden Count properties for some iterators
340 (this fixes the half of #50678).
341 Added ListIterator class (which can reduce GetEnumerator()).
342 In some places we can omit clone for Current property, so added
343 some check logic (It has no effect as yet).
344 * Expression.cs, DefaultContext.cs :
345 use ListIterator instead of EnumeratorIterator.
347 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
349 * DefaultContext.cs, Expression.cs, Iterator.cs :
350 tiny foreach elimination.
352 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
354 * DefaultContext.cs : trivial processing order fix.
356 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
358 * DefaultContext.cs : Avoid exception if possible.
359 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
360 nav was positioned at the first, it incorrectly points itself.
361 Don't add names to name table while it is useless and expensive.
363 2004-01-08 Nick Drochak <ndrochak@ieee.org>
365 * Iterator.cs: Removed unused variable.
367 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
369 * Parser.jay : now it supresses error output from jay.
370 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
371 * Tokenizer.cs : better error message.
372 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
373 (just found MS.NET actually supports it)
375 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
377 * Iterator.cs : On its iteration, moving Current must not affect to
378 MoveNext(). To assure this, Current must be a clone of navigator.
381 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
383 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
384 * Iterator.cs : ParensIterator can inherit from BaseIterator.
385 SlashIterator copy .ctor() always failed to clone. This fixes Count.
387 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
389 * Expression.cs : XPathSorters.Compare() should compare document
390 position. See last sentence of XSLT 1.0 secion 10.
392 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
394 * DefaultContext.cs : Overrode all functions' ToString().
395 XPathFunctions.ToNumber() trims whitespaces at both side.
396 Fixed NullReferenceException in normalize-space().
397 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
398 attribute or namespace node correctly.
399 SlashIterator.Clone() didn't clone "next node iterator" correctly.
400 EnumeratorIterator.ctor() should raise an error (not at Clone())
401 when the target IEnumerator is not ICloneable.
403 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
405 * Expression.cs : namespace axis now traversed in reverse order, so it
407 * Iterator.cs : UnionIterator.Clone() was incomplete.
408 NamespaceItarator() should be reverse order (special handling
409 because of XPathNavigator specification).
411 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
413 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
414 * XPathNavigator.cs : ComparePosition() didn't handle attributes
417 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419 * Parser.jay, Expression.cs, Iterator.cs :
420 Added ExprParens and ParensIterator classes which is used to handle
421 precedence of parenthesized expressions.
422 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
424 * Expression.cs, Iterator.cs :
425 Added RequireSorting property for each Expr and BaseIterator classes.
426 SlashIterator.MoveNext() now considers correct sorting. But
427 considering performance, it separates two logics, sorted and sortless
428 depending on RequireSorting of left iterator and right expression.
431 SimpleIterator.ctor() should consider when nav is null.
432 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
433 not return any nodes.
434 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
436 AncestorIterator.MoveNext() should skip Root if context node is
438 FollowingIterator.MoveNext() should not handle children of context
440 PrecedingIterator.MoveNext() should skip its ancestors.
441 AxisIterator.ReverseAxis should be dependent on its containing iter.
442 UnionIterator.MoveNext() should consider comparison of nodes in
443 different document. The behavior is implementation dependent.
446 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
448 * Added XPathComparer.cs
449 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
450 iterator correctly, and sort results.
452 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
454 * DefaultContext.cs : Imcomplete fix ;-)
456 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
458 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
459 XPathFunctionId.cs : Exposed Id expression.
460 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
461 will be used to solve evaluation precedence problem).
463 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
465 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
466 inconsistent order, and 2)may return duplicate result nodes.
468 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
470 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
471 it inherit from the base class. This made b[2] evaluated on
472 <a /><b /><c /><a /><b /><c /> return the first b node because
473 in the ChildIterator it was the second node and seemed to satsify
476 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
478 * Iterator.cs : Added bool ReverseAxis property to identify whether
479 the iterator is in reverse order or not. Added ComparablePosition
480 for correct position comparison for PredicateIterator and reverse-
481 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
482 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
483 return their nodes in document order. This fixes bugzilla #39079.
485 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
487 * Iterator.cs : DescendantIterator and FollowingIterator also should
488 not MoveNext() after they reached to the end.
490 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
492 * Iterator.cs : Fixed UnionIterator who ignores document order.
493 Fixed SlashIterator whose MoveNext() should finish at its end.
495 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
497 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
498 use NameTable so we dont call strcmp.
500 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
502 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
504 * Iterator.cs, Expression.cs: All axes are
505 SimpleIterators. SimpleIterators are gaurenteed to give the same
506 XPathNavigator in Current. Make AxisIterator take a
507 SimpleIterator, not any old BaseIterator. Will allow us to make
508 NameTable optimizations and avoid quite a few strcmp's.
510 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
512 * Expression.cs: make // work right, must use another slash itr.
514 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
516 * Expression.cs: cant use $$ before assigned.
518 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
520 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
522 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
524 * Expression.cs: num != double.NaN does not work.
526 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
528 * Expression.cs: in NodeTypeTest dont throw an exception if it is
529 an unknown node type (allows for better Pattern debugging).
531 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
533 * DefaultContext.cs: implement sum () and translate ().
535 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
537 * XPathNavigator.cs: Make methods where you pass in the context,
538 so that we dont have to clone expressions so much.
540 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
542 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
543 system functions are actually expressions. Will allow for some
546 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
548 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
549 improvement in the method (5ms/call -> .7 ms / call) measured by
550 monodoc's rendering of N:System.
551 * Expression.cs: Utility methods to support above.
553 2003-08-13 Piers Haken <piersh@friskit.com>
556 fix MergedIterator.Clone(), now clones other's iterators
557 fix DescendantIterator.Clone(), now copies depth
558 make iterator cloning constructors more type-specific
560 2003-08-01 Piers Haken <piersh@friskit.com>
562 * Expression.cs: added NodeNamespaceTest
563 * XPathNavigator.cs: implement Select* with namespaces
565 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
567 * Iterator.cs: Allow creation of an EnumeratorIterator with an
570 2003-07-31 Piers Haken <piersh@friskit.com>
573 Nested predicates (uses ExprFilter instead)
575 make grammar look more like w3c spec
577 remove ExprStep, ExprPredicates
578 NodeTest is now a NodeSet
581 PredicateIterator now only takes a single predicate expression
584 simplified SelectTest
588 2003-07-30 Duncan Mak <duncan@ximian.com>
594 2003-07-29 Piers Haken <piersh@friskit.com>
596 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
598 2003-07-29 Piers Haken <piersh@friskit.com>
602 add typesafe Evaluate* methods
604 2003-07-29 Piers Haken <piersh@friskit.com>
606 * DefaultContext.cs: fix 'substring-after'
608 2003-07-29 Piers Haken <piersh@friskit.com>
610 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
612 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
614 * Iterator.cs: dont throw exceptions on tostring ()
616 2003-07-28 Piers Haken <piersh@friskit.com>
618 * DefaultContext.cs: better handling of null argument lists
619 * XPathNavigator.cs: implement ComparePosition
621 2003-07-28 Piers Haken <piersh@friskit.com>
623 * Expression.cs: boolean operators: handle comparing .Any better
625 2003-07-28 Piers Haken <piersh@friskit.com>
627 * DefaultContext.cs: count() should return a double
628 * Expression.cs: better support for handling non-double numbers
630 2003-07-28 Piers Haken <piersh@friskit.com>
632 * DefaultContext.cs: better function param matching
634 2003-07-27 Piers Haken <piersh@friskit.com>
638 catch FormatExceptions while parsing numbers
640 2003-07-27 Piers Haken <piersh@friskit.com>
643 fix case sorting order
644 allow EvaluateNumber to take XPathResultType.Any
646 2003-07-27 Piers Haken <piersh@friskit.com>
650 don't pass null to XmlQualifiedName constructor
652 2003-07-27 Piers Haken <piersh@friskit.com>
654 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
656 2003-07-27 Piers Haken <piersh@friskit.com>
658 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
660 2003-07-26 Piers Haken <piersh@friskit.com>
662 * Expression.cs: fix function evaluation with ambigous argument types
663 * XPathNavigator.cs: fix silly null reference bug
665 2003-07-26 Piers Haken <piersh@friskit.com>
669 ArrayListIterator->EnumeratorIterator
670 * Expression.cs: add sorting support
672 2003-07-26 Piers Haken <piersh@friskit.com>
676 move QName parsing into tokenizer
678 fix evaluating XPathResultType.Any
679 fix ExprDiv.ToString()
680 fix NodeTypeTest.ToString() (for namespace axis)
682 2003-07-25 Piers Haken <piersh@friskit.com>
684 * Expression.cs: return clone of $var evaluation
686 2003-07-26 Piers Haken <piersh@friskit.com>
688 * Iterator.cs: add setter for NamespaceManager
689 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
690 * Expression.cs: fix func/var exception strings
692 2003-07-25 Piers Haken <piersh@friskit.com>
694 * Expression.cs: implement ExprFilter.Evaluate
696 2003-07-25 Piers Haken <piersh@friskit.com>
698 * Expression.cs: implement ExprVariable.Evaluate
700 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
702 * DefaultContext.cs: implement lang ()
704 2003-07-24 Piers Haken <piersh@friskit.com>
708 allow ExprUNION to take non-nodeset (eg, $var) arguments
710 2003-07-24 Piers Haken <piersh@friskit.com>
712 * Tokenizer.cs: fix variable references
718 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
720 * XPathDocument.cs : removed Driver class and restored authors' name
721 (though it is completely rewrote).
723 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
725 * XPathDocument.cs : Replaced existing stub class with real
726 XPathDocument implementation.
728 2003-04-28 Piers Haken <piersh@friskit.com>
730 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
732 2003-03-07 Piers Haken <piersh@friskit.com>
734 * Tokenizer.cs: allow '.'s in NCNames
736 2003-03-07 Piers Haken <piersh@friskit.com>
740 fixed function argument resolution
742 2003-02-09 Piers Haken <piersh@friskit.com>
746 * Expression.cs: fix namespace handling
748 2003-01-04 Piers Haken <piersh@friskit.com>
750 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
752 2003-02-02 Piers Haken <piersh@friskit.com>
754 * Parser.jay: add token names
755 * Tokenizer.cs: fix NCName tokenization
757 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
759 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
760 (It should be a temporary fix.)
762 2002-09-22 Nick Drochak <ndrochak@gol.com>
764 * Parser.cs: Remove extraneous "using" that was stopping the build.
766 2002-09-21 Piers Haken <piersh@friskit.com>
768 * XPathException: implementation
773 * XPathNavigator.jay:
776 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * Parser.cs: commented out non-existent namespace (it compiles fine
779 with mcs because of a bug that is already on bugzilla).
781 2002-09-12 Piers Haken <piersh@friskit.com>
783 * Tokenizer.cs: fix parsing numbers that start with '.'
784 * DefaultContext.cs: use MS-compatible formatting of doubles
786 2002-09-12 Piers Haken <piersh@friskit.com>
788 * Iterator.cs: added NullIterator to handle unspecified contexts
789 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
790 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
792 2002-09-12 Piers Haken <piersh@friskit.com>
794 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
795 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
796 * DefaultContext.cs: fix id() return type.
798 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
800 * DefaultContext.cs: fixed bug #28840.
801 * Expression.cs: added FIXME.
803 2002-08-17 Jason Diamond <jason@injektilo.org>
805 * XPathNavigator.cs: Fixed matching on patterns that look like
806 absolute XPath expressions.
808 2002-08-17 Jason Diamond <jason@injektilo.org>
810 * XPathNavigator.cs: Added naive (but working) implementation of
813 2002-07-31 Piers Haken <piersh@friskit.com>
815 * XPathDocument.cs: simple, XmlDocument-based implementation
817 2002-07-25 Piers Haken <piersh@friskit.com>
819 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
821 2002-07-17 Piers Haken <piersh@friskit.com>
823 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
824 * Parser.jay: remove redundant production
825 * Expression.cs: add switches for debugging under VS.NET
827 2002-07-17 Piers Haken <piersh@friskit.com>
829 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
831 2002-07-15 Piers Haken <piersh@friskit.com>
834 - rename UnionIterator to MergedIterator,
835 - create new UnionIterator to implment uniqueness for '|' operator
836 - fix position bug in ArrayListIterator.Clone()
837 * Expression.cs: use new UnionIterator constructor syntax
839 2002-07-12 Piers Haken <piersh@friskit.com>
841 * Iterator.cs: PredicateIterator: handle numeric predicates
842 * Parser.jay: add some debugging support: yyparseDebug
843 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
845 2002-06-29 Piers Haken <piersh@friskit.com>
849 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
850 - remove NodeTestTypes enum
851 - remove NodeTestTypeAny (functionality provided by base now)
852 - fix ExprStep to handle wildcard QNames
854 - moved to Mono.Xml.XPath namespace
855 - use XPathResultType
856 - handle wildcard QNames
858 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
860 * XPathNavigator.cs: implement
866 * XPathResultType.cs: fix enum values
868 2002-06-24 Jason Diamond <jason@injektilo.org>
870 * XPathScanner.cs: Removed.
872 2002-06-24 Dick Porter <dick@ximian.com>
874 * XmlCaseOrder.cs: Fix namespace
876 2002-06-23 Piers Haken <piersh@friskit.com>
878 * DefaultContext.cs: implemented XPathFUnctionId
879 * Iterator.cs: new ArrayListIterator for id() support
881 2002-06-23 Piers Haken <piersh@friskit.com>
883 * XPathNavigator.cs: implement:
889 - some forwarding methods
891 * XPathNodeIterator: implement caching Count
893 * Tokenizer.cs: new XPath tokenizer
894 * Parser.jay: new XPath grammar
895 * Parser.cs: new precompiled XPath grammar
896 * Expression.cs: new XPath expression objects
897 * Iterator.cs: new XPath result/context objects
898 * DefaultContext.cs: new XPath function binding context
900 2002-05-08 Tim Coleman <tim@timcoleman.com>
902 * XPathException.cs: New stub files added.
904 2002-04-12 Duncan Mak <duncan@ximian.com>
906 * XmlCaseOrder.cs: Moved to here from System.Xml.
908 2002-03-26 Jason Diamond <jason@injektilo.org>
910 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
911 steps. Both absolution and relative abbreviated location paths.
913 2002-03-25 Jason Diamond <jason@injektilo.org>
915 * XPathScanner.cs: Added new file. This class is supposed to be internal
916 but that would make it impossible to test.
918 2002-03-08 Duncan Mak <duncan@ximian.com>
920 * XPathNamespaceScope.cs:
922 * XPathResultType.cs:
924 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
925 implementation. XPathResultType is interesting as EnumCheck does
926 not show the Navigator element, but shows the String element twice.
928 2002-03-08 Jason Diamond <jason@injektilo.org>
930 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
932 2002-03-06 Jason Diamond <jason@injektilo.org>
934 * ChangeLog: Added to this directory.
936 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
937 XPathResultType.cs: New files.
939 * XPathNavigator.cs: Stubbed out all properties and methods.