1 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3 * Added XPathComparer.cs
4 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
5 iterator correctly, and sort results.
7 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
9 * DefaultContext.cs : Imcomplete fix ;-)
11 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
13 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
14 XPathFunctionId.cs : Exposed Id expression.
15 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
16 will be used to solve evaluation precedence problem).
18 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
20 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
21 inconsistent order, and 2)may return duplicate result nodes.
23 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
25 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
26 it inherit from the base class. This made b[2] evaluated on
27 <a /><b /><c /><a /><b /><c /> return the first b node because
28 in the ChildIterator it was the second node and seemed to satsify
31 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
33 * Iterator.cs : Added bool ReverseAxis property to identify whether
34 the iterator is in reverse order or not. Added ComparablePosition
35 for correct position comparison for PredicateIterator and reverse-
36 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
37 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
38 return their nodes in document order. This fixes bugzilla #39079.
40 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
42 * Iterator.cs : DescendantIterator and FollowingIterator also should
43 not MoveNext() after they reached to the end.
45 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
47 * Iterator.cs : Fixed UnionIterator who ignores document order.
48 Fixed SlashIterator whose MoveNext() should finish at its end.
50 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
52 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
53 use NameTable so we dont call strcmp.
55 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
57 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
59 * Iterator.cs, Expression.cs: All axes are
60 SimpleIterators. SimpleIterators are gaurenteed to give the same
61 XPathNavigator in Current. Make AxisIterator take a
62 SimpleIterator, not any old BaseIterator. Will allow us to make
63 NameTable optimizations and avoid quite a few strcmp's.
65 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
67 * Expression.cs: make // work right, must use another slash itr.
69 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
71 * Expression.cs: cant use $$ before assigned.
73 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
75 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
77 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
79 * Expression.cs: num != double.NaN does not work.
81 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
83 * Expression.cs: in NodeTypeTest dont throw an exception if it is
84 an unknown node type (allows for better Pattern debugging).
86 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
88 * DefaultContext.cs: implement sum () and translate ().
90 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
92 * XPathNavigator.cs: Make methods where you pass in the context,
93 so that we dont have to clone expressions so much.
95 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
97 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
98 system functions are actually expressions. Will allow for some
101 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
103 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
104 improvement in the method (5ms/call -> .7 ms / call) measured by
105 monodoc's rendering of N:System.
106 * Expression.cs: Utility methods to support above.
108 2003-08-13 Piers Haken <piersh@friskit.com>
111 fix MergedIterator.Clone(), now clones other's iterators
112 fix DescendantIterator.Clone(), now copies depth
113 make iterator cloning constructors more type-specific
115 2003-08-01 Piers Haken <piersh@friskit.com>
117 * Expression.cs: added NodeNamespaceTest
118 * XPathNavigator.cs: implement Select* with namespaces
120 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
122 * Iterator.cs: Allow creation of an EnumeratorIterator with an
125 2003-07-31 Piers Haken <piersh@friskit.com>
128 Nested predicates (uses ExprFilter instead)
130 make grammar look more like w3c spec
132 remove ExprStep, ExprPredicates
133 NodeTest is now a NodeSet
136 PredicateIterator now only takes a single predicate expression
139 simplified SelectTest
143 2003-07-30 Duncan Mak <duncan@ximian.com>
149 2003-07-29 Piers Haken <piersh@friskit.com>
151 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
153 2003-07-29 Piers Haken <piersh@friskit.com>
157 add typesafe Evaluate* methods
159 2003-07-29 Piers Haken <piersh@friskit.com>
161 * DefaultContext.cs: fix 'substring-after'
163 2003-07-29 Piers Haken <piersh@friskit.com>
165 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
167 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
169 * Iterator.cs: dont throw exceptions on tostring ()
171 2003-07-28 Piers Haken <piersh@friskit.com>
173 * DefaultContext.cs: better handling of null argument lists
174 * XPathNavigator.cs: implement ComparePosition
176 2003-07-28 Piers Haken <piersh@friskit.com>
178 * Expression.cs: boolean operators: handle comparing .Any better
180 2003-07-28 Piers Haken <piersh@friskit.com>
182 * DefaultContext.cs: count() should return a double
183 * Expression.cs: better support for handling non-double numbers
185 2003-07-28 Piers Haken <piersh@friskit.com>
187 * DefaultContext.cs: better function param matching
189 2003-07-27 Piers Haken <piersh@friskit.com>
193 catch FormatExceptions while parsing numbers
195 2003-07-27 Piers Haken <piersh@friskit.com>
198 fix case sorting order
199 allow EvaluateNumber to take XPathResultType.Any
201 2003-07-27 Piers Haken <piersh@friskit.com>
205 don't pass null to XmlQualifiedName constructor
207 2003-07-27 Piers Haken <piersh@friskit.com>
209 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
211 2003-07-27 Piers Haken <piersh@friskit.com>
213 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
215 2003-07-26 Piers Haken <piersh@friskit.com>
217 * Expression.cs: fix function evaluation with ambigous argument types
218 * XPathNavigator.cs: fix silly null reference bug
220 2003-07-26 Piers Haken <piersh@friskit.com>
224 ArrayListIterator->EnumeratorIterator
225 * Expression.cs: add sorting support
227 2003-07-26 Piers Haken <piersh@friskit.com>
231 move QName parsing into tokenizer
233 fix evaluating XPathResultType.Any
234 fix ExprDiv.ToString()
235 fix NodeTypeTest.ToString() (for namespace axis)
237 2003-07-25 Piers Haken <piersh@friskit.com>
239 * Expression.cs: return clone of $var evaluation
241 2003-07-26 Piers Haken <piersh@friskit.com>
243 * Iterator.cs: add setter for NamespaceManager
244 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
245 * Expression.cs: fix func/var exception strings
247 2003-07-25 Piers Haken <piersh@friskit.com>
249 * Expression.cs: implement ExprFilter.Evaluate
251 2003-07-25 Piers Haken <piersh@friskit.com>
253 * Expression.cs: implement ExprVariable.Evaluate
255 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
257 * DefaultContext.cs: implement lang ()
259 2003-07-24 Piers Haken <piersh@friskit.com>
263 allow ExprUNION to take non-nodeset (eg, $var) arguments
265 2003-07-24 Piers Haken <piersh@friskit.com>
267 * Tokenizer.cs: fix variable references
273 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
275 * XPathDocument.cs : removed Driver class and restored authors' name
276 (though it is completely rewrote).
278 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
280 * XPathDocument.cs : Replaced existing stub class with real
281 XPathDocument implementation.
283 2003-04-28 Piers Haken <piersh@friskit.com>
285 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
287 2003-03-07 Piers Haken <piersh@friskit.com>
289 * Tokenizer.cs: allow '.'s in NCNames
291 2003-03-07 Piers Haken <piersh@friskit.com>
295 fixed function argument resolution
297 2003-02-09 Piers Haken <piersh@friskit.com>
301 * Expression.cs: fix namespace handling
303 2003-01-04 Piers Haken <piersh@friskit.com>
305 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
307 2003-02-02 Piers Haken <piersh@friskit.com>
309 * Parser.jay: add token names
310 * Tokenizer.cs: fix NCName tokenization
312 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
314 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
315 (It should be a temporary fix.)
317 2002-09-22 Nick Drochak <ndrochak@gol.com>
319 * Parser.cs: Remove extraneous "using" that was stopping the build.
321 2002-09-21 Piers Haken <piersh@friskit.com>
323 * XPathException: implementation
328 * XPathNavigator.jay:
331 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
333 * Parser.cs: commented out non-existent namespace (it compiles fine
334 with mcs because of a bug that is already on bugzilla).
336 2002-09-12 Piers Haken <piersh@friskit.com>
338 * Tokenizer.cs: fix parsing numbers that start with '.'
339 * DefaultContext.cs: use MS-compatible formatting of doubles
341 2002-09-12 Piers Haken <piersh@friskit.com>
343 * Iterator.cs: added NullIterator to handle unspecified contexts
344 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
345 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
347 2002-09-12 Piers Haken <piersh@friskit.com>
349 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
350 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
351 * DefaultContext.cs: fix id() return type.
353 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
355 * DefaultContext.cs: fixed bug #28840.
356 * Expression.cs: added FIXME.
358 2002-08-17 Jason Diamond <jason@injektilo.org>
360 * XPathNavigator.cs: Fixed matching on patterns that look like
361 absolute XPath expressions.
363 2002-08-17 Jason Diamond <jason@injektilo.org>
365 * XPathNavigator.cs: Added naive (but working) implementation of
368 2002-07-31 Piers Haken <piersh@friskit.com>
370 * XPathDocument.cs: simple, XmlDocument-based implementation
372 2002-07-25 Piers Haken <piersh@friskit.com>
374 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
376 2002-07-17 Piers Haken <piersh@friskit.com>
378 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
379 * Parser.jay: remove redundant production
380 * Expression.cs: add switches for debugging under VS.NET
382 2002-07-17 Piers Haken <piersh@friskit.com>
384 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
386 2002-07-15 Piers Haken <piersh@friskit.com>
389 - rename UnionIterator to MergedIterator,
390 - create new UnionIterator to implment uniqueness for '|' operator
391 - fix position bug in ArrayListIterator.Clone()
392 * Expression.cs: use new UnionIterator constructor syntax
394 2002-07-12 Piers Haken <piersh@friskit.com>
396 * Iterator.cs: PredicateIterator: handle numeric predicates
397 * Parser.jay: add some debugging support: yyparseDebug
398 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
400 2002-06-29 Piers Haken <piersh@friskit.com>
404 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
405 - remove NodeTestTypes enum
406 - remove NodeTestTypeAny (functionality provided by base now)
407 - fix ExprStep to handle wildcard QNames
409 - moved to Mono.Xml.XPath namespace
410 - use XPathResultType
411 - handle wildcard QNames
413 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
415 * XPathNavigator.cs: implement
421 * XPathResultType.cs: fix enum values
423 2002-06-24 Jason Diamond <jason@injektilo.org>
425 * XPathScanner.cs: Removed.
427 2002-06-24 Dick Porter <dick@ximian.com>
429 * XmlCaseOrder.cs: Fix namespace
431 2002-06-23 Piers Haken <piersh@friskit.com>
433 * DefaultContext.cs: implemented XPathFUnctionId
434 * Iterator.cs: new ArrayListIterator for id() support
436 2002-06-23 Piers Haken <piersh@friskit.com>
438 * XPathNavigator.cs: implement:
444 - some forwarding methods
446 * XPathNodeIterator: implement caching Count
448 * Tokenizer.cs: new XPath tokenizer
449 * Parser.jay: new XPath grammar
450 * Parser.cs: new precompiled XPath grammar
451 * Expression.cs: new XPath expression objects
452 * Iterator.cs: new XPath result/context objects
453 * DefaultContext.cs: new XPath function binding context
455 2002-05-08 Tim Coleman <tim@timcoleman.com>
457 * XPathException.cs: New stub files added.
459 2002-04-12 Duncan Mak <duncan@ximian.com>
461 * XmlCaseOrder.cs: Moved to here from System.Xml.
463 2002-03-26 Jason Diamond <jason@injektilo.org>
465 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
466 steps. Both absolution and relative abbreviated location paths.
468 2002-03-25 Jason Diamond <jason@injektilo.org>
470 * XPathScanner.cs: Added new file. This class is supposed to be internal
471 but that would make it impossible to test.
473 2002-03-08 Duncan Mak <duncan@ximian.com>
475 * XPathNamespaceScope.cs:
477 * XPathResultType.cs:
479 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
480 implementation. XPathResultType is interesting as EnumCheck does
481 not show the Navigator element, but shows the String element twice.
483 2002-03-08 Jason Diamond <jason@injektilo.org>
485 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
487 2002-03-06 Jason Diamond <jason@injektilo.org>
489 * ChangeLog: Added to this directory.
491 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
492 XPathResultType.cs: New files.
494 * XPathNavigator.cs: Stubbed out all properties and methods.