1 2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
3 * Expression.cs : RelationalExpr was comparing number and node in
4 reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
5 RelationalExpr should also handle result tree fragment as node-set
6 as well as EqualityExpr. This fixes RTF case wrt #72343.
8 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
10 * Expression.cs : tiny code format fix by Andrew Skiba.
12 2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
14 * XPathNavigator.cs : Added CheckValidity() and ValueType.
15 For SetTypedValue(), throw NotSupportedException instead of
16 NotImplementedException.
18 2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
20 * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
21 all the missing attributes.
23 2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
25 * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
26 eliminated string fields from struct.
27 (When we switch from struct to class, revert this change to use
28 DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
29 wasting processing speed.)
31 2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
33 * Iterator.cs : when PredicateIterator has a numeric predicate, it
34 will never be true twice. So just break up the iteration on true.
35 * XPathNavigator.cs : implemented LookupPrefix().
36 * Expression.cs : ExprParens.Optimize() could just return the content
39 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
41 * IXPathChangeNavigable.cs,
43 XPathDocumentNodeChangedAction.cs : removed old files.
45 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
47 * Iterator.cs : with related to the previous patch, many comments
48 got making no sense. Thanks to Harinath.
50 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
52 * Iterator.cs : actually I mean this patch.
54 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
56 * Iterator.cs : Create _current clone only when required. So just set
57 null when MoveNextCore() succeeded (except for some cases that
58 _current is _nav, such as SelfIterator).
60 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
62 * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
63 it has to collect nodes in prior or not and whether it might return
64 nodes in inconsistent order is different matter.
65 (It still needs to store nodes when either of branches requires
66 sorting, because they might return the same node later.)
68 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
70 * Iterator.cs : reduced some extraneous ComparePosition() that could
71 be written as IsSamePosition(). ParentIterator doesn't have to be
74 2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
76 * Iterator.cs : reimplemented AncestorIterator and
77 AncestorOrSelfIterator just to collect parents and not to move to
78 siblings. In some cases like thousands of siblings, it used to be
79 so slow, while we usually don't have so deep ancestors.
81 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
83 * Expression.cs : warning removal. Added Optimize() which is not
85 * Tokenizer.cs : warning elimination
87 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
89 * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
90 IXPathEditable.cs : more removal of oldies.
92 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
94 * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
96 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
98 * Tokenizer.cs : just use raw string instead of char[].
99 * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
101 2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
104 - Made copy constructor certainly different from other constructors.
105 - Position is never computed in each derived type. All MoveNext() are
107 - Most of the protected members could just be private.
109 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
111 * Expression.cs, XPathNavigator.cs : hold raw expression field for
112 get_Expression. It is preparation for expression optimization.
114 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
116 * Iterator.cs : SimpleIterator._current could be cloned only when
119 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
121 * Iterator.cs : Some removal of Clone() were harmless.
123 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
125 * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
127 * XPathEditableNavigator.cs : It will be removed. Right now modified
129 * XPathNavigator.cs : Added members that are merged from
130 XPathEditableNavigator. Updated members name.
132 2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
135 - Added WrapperIterator to return BaseIterator in such case that
136 variable reference is resolved to XPathNodeIterator. This fixes
138 - Path ".." is reverse axis (actually no effect).
139 - Fixed DescendantIterator.Clone() that missed "_finished" field.
141 In ExprVariable.Evaluate(), use WrapperIterator() for custom
144 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
146 * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
148 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
150 * XPathAtomicValue.cs : missing Init() definition for float and string;
151 latter one resulted in infinite loop in Init(object,XmlSchemaType).
153 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
155 * XPathNavigator.cs : TypedValue could be implemented.
156 * XPathEditableNavigator.cs : removed some MonoTODO since now there
159 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
161 * XPathAtomicValue.cs : All .ctor() are separeted from Init().
162 In .ctor(object, XmlSchemaType):
163 - For lists that contains just one item, Init() recursively.
164 - For XPathAtomicValue, Init() recursively for its content fields.
165 For Value and TypedValue, consider typecode from XmlSchemaType.
167 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
169 * XPathEditableNavigator.cs :
170 AppendChild(xmlReader) ignored nodes after than first one, and
171 resulted in infinite loop.
172 Added get_OuterXml overrides. set_OuterXml should not move to
173 parent before deleting current.
175 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
177 * XPathAtomicValue.cs : Value was not returning expected value when
178 it is created as new XPathAtomicValue (object, XmlSchemaType).
179 Compute stringValue and reuse.
180 * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
181 (for checking XQuery implementation).
183 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
185 * XPathAtomicValue.cs : Handle .ctor() with object parameter more
186 precisely (still not enough, for list argument).
187 Removed commended blocks.
189 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
191 * XPathAtomicValue.cs : DateTime should be convertible to string.
192 Use schemaType's TypeCode for .ctor() that takes object.
193 * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
194 * XPathEditableNavigator.cs : set_InnerXml should be different (new)
195 property from get_InnerXml. Removed get_InnerXml and get_OuterXml
198 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
200 * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
202 2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
204 * XPathEditableNavigator.cs : implemented some editor support methods.
206 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
209 - For .NET 2.0, added a switch to support new XPathDocument2.
210 If switch is off, then it uses DTM.
211 - Implemented remaining 2.0 bits (except for Obsolete ones).
213 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
214 (It is still too unstable to pass all nunit tests and standalone XSLT
217 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
219 * XPathNavigator.cs : Implemented ReadSubtree().
221 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
223 * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
224 creates Mono.Xml.XPath.XPathEditableDocument and thus supports
225 IXPathEditable.CreateEditor().
227 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
229 * XPathEditableNavigator.cs : Implemented InsertAfter() and
230 PrependChild(); they are virtual, not abstract.
231 * XPathNavigator.cs :
232 Implemented many 2.0 virtual properties and methods that were
234 Implemented some Select() methods that uses IXmlNamespaceResolver.
235 Implemented most of ValueAsXxx() using XQueryConvert.
236 IsNode is always true. Implemented OuterXml and WriteSubtree() (but
237 actually they don't work because it depends on ReadSubtree()).
239 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
241 * XPathDocument.cs : added missing && not-likely-to-be-removed members.
242 * XPathEditableNavigator.cs : added BuildSubTree().
243 * XPathException.cs : added missing methods. Hide Message in NET_2_0.
245 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
247 * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
249 2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
251 * XPathExpression.cs, Expression.cs :
252 Added SetContext(IXmlNamespaceResolver).
253 * NodeChangedEventArgs.cs : Added missing [MonoTODO].
254 * XPathAtomicValue.cs : Halfly implemented.
255 * XPathDocument.cs : Added 2.0 members.
256 * XPathDocumentNodeChangedAction.cs : updated member names.
257 * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
258 * XPathNavigator.cs : Added missing 2.0 members.
259 Fixed some members as virtual->override.
261 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
263 * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
264 * XPathResultType.cs : marked [MonoFIX] on .Navigator.
266 2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
268 * Expression.cs, Iterator.cs, XPathNavigator.cs :
269 Use IXmlNamespaceResolver for net 2.0. Removed unused code.
270 * XPathEditableNavigator.cs : fixed namespace.
271 * XPathNavigator.cs :
272 Fixed inheritance. Added missing MonoTODO.
273 Removed old .net 1.2 code.
275 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
277 * DefaultContext.cs : Globalization.
278 * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
279 in case of empty list. Thus extraneous iteration might happened.
280 Removed unused (and clone unsafe) EnumeratorIterator.
282 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
284 * XPathDocument.s : The previous patch is still incomplete to close.
286 2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
288 * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
290 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
292 * Expression.cs : LookupNamespace() only allows already-atomized names.
293 * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
296 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
298 * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
300 * Expression.cs : In Equality comparison, evaluate XPathNavigator in
301 the same as well as NodeSet. This fixes bug #59134.
303 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
305 * XPathAtomicValue.cs : missed NET_2_0.
307 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
309 * IXPathChangeNavigable.cs,
311 NodeChangedEventArgs.cs,
312 NodeChangedEventHandler.cs,
314 XPathChangeNavigator.cs,
315 XPathDocumentNodeChangedAction.cs,
316 XPathEditableNavigator.cs,
319 XmlNodeChangeType.cs : added NET_2_0 classes.
321 XPathNavigator.cs : updated NET_2_0 members.
323 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
325 * Expression.cs : We should not catch all kind of exception. Just
326 throwing any kind of exception would be preferable.
327 Added support for XPathNavigator values.
329 2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
331 * DefaultContext.cs : Removed MonoTODO. done.
332 * Expression.cs : handle XPathResultType.Navigator in some places and
333 removed MonoTODO. Mark MonoTODO with explicit comments (though they
334 are mostly pointing out possibilities of optimization).
335 Removed extra check that depended on the old bugs.
336 * XPathResultType.cs : Fixed .Navigator that had the same value as
339 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
341 * Parser.jay : made class internal.
343 2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
345 * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
346 result of MoveToParent() should be checked.
348 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
350 * XPathNavigator.cs : Only child and attribute axes are allowed for
352 * Expression.cs : Added IsPositional property.
353 * DefaultContext.cs : Added some overrides.
355 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
357 * XPathNavigator.cs : no, its still not ok. comment out now.
359 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
361 * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
362 to reduce extraneous Matches() trial.
363 * Iterator.cs : Removed unused MergedIterator.
364 * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
365 unnecessarily. (Test with NeedAbsoluteMatching).
367 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
369 * Iterator.cs : Added overriden Count properties for some iterators
370 (this fixes the half of #50678).
371 Added ListIterator class (which can reduce GetEnumerator()).
372 In some places we can omit clone for Current property, so added
373 some check logic (It has no effect as yet).
374 * Expression.cs, DefaultContext.cs :
375 use ListIterator instead of EnumeratorIterator.
377 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
379 * DefaultContext.cs, Expression.cs, Iterator.cs :
380 tiny foreach elimination.
382 2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
384 * DefaultContext.cs : trivial processing order fix.
386 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
388 * DefaultContext.cs : Avoid exception if possible.
389 * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
390 nav was positioned at the first, it incorrectly points itself.
391 Don't add names to name table while it is useless and expensive.
393 2004-01-08 Nick Drochak <ndrochak@ieee.org>
395 * Iterator.cs: Removed unused variable.
397 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
399 * Parser.jay : now it supresses error output from jay.
400 * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
401 * Tokenizer.cs : better error message.
402 * XPathDocument.cs : Use XmlValidatingReader to support id() function.
403 (just found MS.NET actually supports it)
405 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
407 * Iterator.cs : On its iteration, moving Current must not affect to
408 MoveNext(). To assure this, Current must be a clone of navigator.
411 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
413 * Tokenizer.cs : Removed some TODOs. (trivial ;-)
414 * Iterator.cs : ParensIterator can inherit from BaseIterator.
415 SlashIterator copy .ctor() always failed to clone. This fixes Count.
417 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
419 * Expression.cs : XPathSorters.Compare() should compare document
420 position. See last sentence of XSLT 1.0 secion 10.
422 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
424 * DefaultContext.cs : Overrode all functions' ToString().
425 XPathFunctions.ToNumber() trims whitespaces at both side.
426 Fixed NullReferenceException in normalize-space().
427 * Iterator.cs : Fixed AncestorOrSelfIterator.MoveNext() didn't handle
428 attribute or namespace node correctly.
429 SlashIterator.Clone() didn't clone "next node iterator" correctly.
430 EnumeratorIterator.ctor() should raise an error (not at Clone())
431 when the target IEnumerator is not ICloneable.
433 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
435 * Expression.cs : namespace axis now traversed in reverse order, so it
437 * Iterator.cs : UnionIterator.Clone() was incomplete.
438 NamespaceItarator() should be reverse order (special handling
439 because of XPathNavigator specification).
441 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
443 * Iterator.cs : PrecedingIterator.MoveNext() now breaks up at Root.
444 * XPathNavigator.cs : ComparePosition() didn't handle attributes
447 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
449 * Parser.jay, Expression.cs, Iterator.cs :
450 Added ExprParens and ParensIterator classes which is used to handle
451 precedence of parenthesized expressions.
452 (e.g. consider "(preceding::*)[3]" and "preceding::[3]" )
454 * Expression.cs, Iterator.cs :
455 Added RequireSorting property for each Expr and BaseIterator classes.
456 SlashIterator.MoveNext() now considers correct sorting. But
457 considering performance, it separates two logics, sorted and sortless
458 depending on RequireSorting of left iterator and right expression.
461 SimpleIterator.ctor() should consider when nav is null.
462 FollowingIterator.MoveNext() and PrecedingIterator.MoveNext() should
463 not return any nodes.
464 AncestorIterator and AncestorOrSelfIterator copy ctr() should clone
466 AncestorIterator.MoveNext() should skip Root if context node is
468 FollowingIterator.MoveNext() should not handle children of context
470 PrecedingIterator.MoveNext() should skip its ancestors.
471 AxisIterator.ReverseAxis should be dependent on its containing iter.
472 UnionIterator.MoveNext() should consider comparison of nodes in
473 different document. The behavior is implementation dependent.
476 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
478 * Added XPathComparer.cs
479 * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
480 iterator correctly, and sort results.
482 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
484 * DefaultContext.cs : Imcomplete fix ;-)
486 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
488 * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
489 XPathFunctionId.cs : Exposed Id expression.
490 * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
491 will be used to solve evaluation precedence problem).
493 2003-11-09 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
495 * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
496 inconsistent order, and 2)may return duplicate result nodes.
498 2003-11-06 Ben Maurer <bmaurer@users.sourceforge.net>
500 * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
501 it inherit from the base class. This made b[2] evaluated on
502 <a /><b /><c /><a /><b /><c /> return the first b node because
503 in the ChildIterator it was the second node and seemed to satsify
506 2003-11-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
508 * Iterator.cs : Added bool ReverseAxis property to identify whether
509 the iterator is in reverse order or not. Added ComparablePosition
510 for correct position comparison for PredicateIterator and reverse-
511 order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
512 PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
513 return their nodes in document order. This fixes bugzilla #39079.
515 2003-10-15 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
517 * Iterator.cs : DescendantIterator and FollowingIterator also should
518 not MoveNext() after they reached to the end.
520 2003-10-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
522 * Iterator.cs : Fixed UnionIterator who ignores document order.
523 Fixed SlashIterator whose MoveNext() should finish at its end.
525 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
527 * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
528 use NameTable so we dont call strcmp.
530 2003-09-27 Ben Maurer <bmaurer@users.sourceforge.net>
532 * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
534 * Iterator.cs, Expression.cs: All axes are
535 SimpleIterators. SimpleIterators are gaurenteed to give the same
536 XPathNavigator in Current. Make AxisIterator take a
537 SimpleIterator, not any old BaseIterator. Will allow us to make
538 NameTable optimizations and avoid quite a few strcmp's.
540 2003-09-24 Ben Maurer <bmaurer@users.sourceforge.net>
542 * Expression.cs: make // work right, must use another slash itr.
544 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
546 * Expression.cs: cant use $$ before assigned.
548 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
550 * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
552 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
554 * Expression.cs: num != double.NaN does not work.
556 2003-09-19 Ben Maurer <bmaurer@users.sourceforge.net>
558 * Expression.cs: in NodeTypeTest dont throw an exception if it is
559 an unknown node type (allows for better Pattern debugging).
561 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
563 * DefaultContext.cs: implement sum () and translate ().
565 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
567 * XPathNavigator.cs: Make methods where you pass in the context,
568 so that we dont have to clone expressions so much.
570 2003-09-06 Ben Maurer <bmaurer@users.sourceforge.net>
572 * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
573 system functions are actually expressions. Will allow for some
576 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
578 * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
579 improvement in the method (5ms/call -> .7 ms / call) measured by
580 monodoc's rendering of N:System.
581 * Expression.cs: Utility methods to support above.
583 2003-08-13 Piers Haken <piersh@friskit.com>
586 fix MergedIterator.Clone(), now clones other's iterators
587 fix DescendantIterator.Clone(), now copies depth
588 make iterator cloning constructors more type-specific
590 2003-08-01 Piers Haken <piersh@friskit.com>
592 * Expression.cs: added NodeNamespaceTest
593 * XPathNavigator.cs: implement Select* with namespaces
595 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
597 * Iterator.cs: Allow creation of an EnumeratorIterator with an
600 2003-07-31 Piers Haken <piersh@friskit.com>
603 Nested predicates (uses ExprFilter instead)
605 make grammar look more like w3c spec
607 remove ExprStep, ExprPredicates
608 NodeTest is now a NodeSet
611 PredicateIterator now only takes a single predicate expression
614 simplified SelectTest
618 2003-07-30 Duncan Mak <duncan@ximian.com>
624 2003-07-29 Piers Haken <piersh@friskit.com>
626 * DefaultContext.cs: 'local-name' returns String, not NodeSet!
628 2003-07-29 Piers Haken <piersh@friskit.com>
632 add typesafe Evaluate* methods
634 2003-07-29 Piers Haken <piersh@friskit.com>
636 * DefaultContext.cs: fix 'substring-after'
638 2003-07-29 Piers Haken <piersh@friskit.com>
640 * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
642 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>
644 * Iterator.cs: dont throw exceptions on tostring ()
646 2003-07-28 Piers Haken <piersh@friskit.com>
648 * DefaultContext.cs: better handling of null argument lists
649 * XPathNavigator.cs: implement ComparePosition
651 2003-07-28 Piers Haken <piersh@friskit.com>
653 * Expression.cs: boolean operators: handle comparing .Any better
655 2003-07-28 Piers Haken <piersh@friskit.com>
657 * DefaultContext.cs: count() should return a double
658 * Expression.cs: better support for handling non-double numbers
660 2003-07-28 Piers Haken <piersh@friskit.com>
662 * DefaultContext.cs: better function param matching
664 2003-07-27 Piers Haken <piersh@friskit.com>
668 catch FormatExceptions while parsing numbers
670 2003-07-27 Piers Haken <piersh@friskit.com>
673 fix case sorting order
674 allow EvaluateNumber to take XPathResultType.Any
676 2003-07-27 Piers Haken <piersh@friskit.com>
680 don't pass null to XmlQualifiedName constructor
682 2003-07-27 Piers Haken <piersh@friskit.com>
684 * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
686 2003-07-27 Piers Haken <piersh@friskit.com>
688 * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
690 2003-07-26 Piers Haken <piersh@friskit.com>
692 * Expression.cs: fix function evaluation with ambigous argument types
693 * XPathNavigator.cs: fix silly null reference bug
695 2003-07-26 Piers Haken <piersh@friskit.com>
699 ArrayListIterator->EnumeratorIterator
700 * Expression.cs: add sorting support
702 2003-07-26 Piers Haken <piersh@friskit.com>
706 move QName parsing into tokenizer
708 fix evaluating XPathResultType.Any
709 fix ExprDiv.ToString()
710 fix NodeTypeTest.ToString() (for namespace axis)
712 2003-07-25 Piers Haken <piersh@friskit.com>
714 * Expression.cs: return clone of $var evaluation
716 2003-07-26 Piers Haken <piersh@friskit.com>
718 * Iterator.cs: add setter for NamespaceManager
719 * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
720 * Expression.cs: fix func/var exception strings
722 2003-07-25 Piers Haken <piersh@friskit.com>
724 * Expression.cs: implement ExprFilter.Evaluate
726 2003-07-25 Piers Haken <piersh@friskit.com>
728 * Expression.cs: implement ExprVariable.Evaluate
730 2003-07-24 Ben Maurer <bmaurer@users.sourceforge.net>
732 * DefaultContext.cs: implement lang ()
734 2003-07-24 Piers Haken <piersh@friskit.com>
738 allow ExprUNION to take non-nodeset (eg, $var) arguments
740 2003-07-24 Piers Haken <piersh@friskit.com>
742 * Tokenizer.cs: fix variable references
748 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
750 * XPathDocument.cs : removed Driver class and restored authors' name
751 (though it is completely rewrote).
753 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
755 * XPathDocument.cs : Replaced existing stub class with real
756 XPathDocument implementation.
758 2003-04-28 Piers Haken <piersh@friskit.com>
760 * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
762 2003-03-07 Piers Haken <piersh@friskit.com>
764 * Tokenizer.cs: allow '.'s in NCNames
766 2003-03-07 Piers Haken <piersh@friskit.com>
770 fixed function argument resolution
772 2003-02-09 Piers Haken <piersh@friskit.com>
776 * Expression.cs: fix namespace handling
778 2003-01-04 Piers Haken <piersh@friskit.com>
780 * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
782 2003-02-02 Piers Haken <piersh@friskit.com>
784 * Parser.jay: add token names
785 * Tokenizer.cs: fix NCName tokenization
787 2003-01-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
789 * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
790 (It should be a temporary fix.)
792 2002-09-22 Nick Drochak <ndrochak@gol.com>
794 * Parser.cs: Remove extraneous "using" that was stopping the build.
796 2002-09-21 Piers Haken <piersh@friskit.com>
798 * XPathException: implementation
803 * XPathNavigator.jay:
806 2002-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
808 * Parser.cs: commented out non-existent namespace (it compiles fine
809 with mcs because of a bug that is already on bugzilla).
811 2002-09-12 Piers Haken <piersh@friskit.com>
813 * Tokenizer.cs: fix parsing numbers that start with '.'
814 * DefaultContext.cs: use MS-compatible formatting of doubles
816 2002-09-12 Piers Haken <piersh@friskit.com>
818 * Iterator.cs: added NullIterator to handle unspecified contexts
819 * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
820 * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
822 2002-09-12 Piers Haken <piersh@friskit.com>
824 * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
825 * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
826 * DefaultContext.cs: fix id() return type.
828 2002-09-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
830 * DefaultContext.cs: fixed bug #28840.
831 * Expression.cs: added FIXME.
833 2002-08-17 Jason Diamond <jason@injektilo.org>
835 * XPathNavigator.cs: Fixed matching on patterns that look like
836 absolute XPath expressions.
838 2002-08-17 Jason Diamond <jason@injektilo.org>
840 * XPathNavigator.cs: Added naive (but working) implementation of
843 2002-07-31 Piers Haken <piersh@friskit.com>
845 * XPathDocument.cs: simple, XmlDocument-based implementation
847 2002-07-25 Piers Haken <piersh@friskit.com>
849 * DefaultContext.cs: implement XPathFunctionName 'name()' function.
851 2002-07-17 Piers Haken <piersh@friskit.com>
853 * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
854 * Parser.jay: remove redundant production
855 * Expression.cs: add switches for debugging under VS.NET
857 2002-07-17 Piers Haken <piersh@friskit.com>
859 * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
861 2002-07-15 Piers Haken <piersh@friskit.com>
864 - rename UnionIterator to MergedIterator,
865 - create new UnionIterator to implment uniqueness for '|' operator
866 - fix position bug in ArrayListIterator.Clone()
867 * Expression.cs: use new UnionIterator constructor syntax
869 2002-07-12 Piers Haken <piersh@friskit.com>
871 * Iterator.cs: PredicateIterator: handle numeric predicates
872 * Parser.jay: add some debugging support: yyparseDebug
873 * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
875 2002-06-29 Piers Haken <piersh@friskit.com>
879 - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
880 - remove NodeTestTypes enum
881 - remove NodeTestTypeAny (functionality provided by base now)
882 - fix ExprStep to handle wildcard QNames
884 - moved to Mono.Xml.XPath namespace
885 - use XPathResultType
886 - handle wildcard QNames
888 * Tokenizer.cs: moved to Mono.Xml.XPath namespace
890 * XPathNavigator.cs: implement
896 * XPathResultType.cs: fix enum values
898 2002-06-24 Jason Diamond <jason@injektilo.org>
900 * XPathScanner.cs: Removed.
902 2002-06-24 Dick Porter <dick@ximian.com>
904 * XmlCaseOrder.cs: Fix namespace
906 2002-06-23 Piers Haken <piersh@friskit.com>
908 * DefaultContext.cs: implemented XPathFUnctionId
909 * Iterator.cs: new ArrayListIterator for id() support
911 2002-06-23 Piers Haken <piersh@friskit.com>
913 * XPathNavigator.cs: implement:
919 - some forwarding methods
921 * XPathNodeIterator: implement caching Count
923 * Tokenizer.cs: new XPath tokenizer
924 * Parser.jay: new XPath grammar
925 * Parser.cs: new precompiled XPath grammar
926 * Expression.cs: new XPath expression objects
927 * Iterator.cs: new XPath result/context objects
928 * DefaultContext.cs: new XPath function binding context
930 2002-05-08 Tim Coleman <tim@timcoleman.com>
932 * XPathException.cs: New stub files added.
934 2002-04-12 Duncan Mak <duncan@ximian.com>
936 * XmlCaseOrder.cs: Moved to here from System.Xml.
938 2002-03-26 Jason Diamond <jason@injektilo.org>
940 * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
941 steps. Both absolution and relative abbreviated location paths.
943 2002-03-25 Jason Diamond <jason@injektilo.org>
945 * XPathScanner.cs: Added new file. This class is supposed to be internal
946 but that would make it impossible to test.
948 2002-03-08 Duncan Mak <duncan@ximian.com>
950 * XPathNamespaceScope.cs:
952 * XPathResultType.cs:
954 * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
955 implementation. XPathResultType is interesting as EnumCheck does
956 not show the Navigator element, but shows the String element twice.
958 2002-03-08 Jason Diamond <jason@injektilo.org>
960 * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
962 2002-03-06 Jason Diamond <jason@injektilo.org>
964 * ChangeLog: Added to this directory.
966 * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
967 XPathResultType.cs: New files.
969 * XPathNavigator.cs: Stubbed out all properties and methods.