2003-11-19 Atsushi Enomoto * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow. XPathFunctionId.cs : Exposed Id expression. * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it will be used to solve evaluation precedence problem). 2003-11-09 Atsushi Enomoto * Iterator.cs : Fixed SlashIterator that might return nodes 1)in inconsistent order, and 2)may return duplicate result nodes. 2003-11-06 Ben Maurer * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let it inherit from the base class. This made b[2] evaluated on return the first b node because in the ChildIterator it was the second node and seemed to satsify the predicate. 2003-11-04 Atsushi Enomoto * Iterator.cs : Added bool ReverseAxis property to identify whether the iterator is in reverse order or not. Added ComparablePosition for correct position comparison for PredicateIterator and reverse- order-axes. Modified AncestorIterator, AncestorOrSelfIterator, PrecedingIterator and PrecedingSiblingIterator to make MoveNext() return their nodes in document order. This fixes bugzilla #39079. 2003-10-15 Atsushi Enomoto * Iterator.cs : DescendantIterator and FollowingIterator also should not MoveNext() after they reached to the end. 2003-10-13 Atsushi Enomoto * Iterator.cs : Fixed UnionIterator who ignores document order. Fixed SlashIterator whose MoveNext() should finish at its end. 2003-09-27 Ben Maurer * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator use NameTable so we dont call strcmp. 2003-09-27 Ben Maurer * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab" not "abc". * Iterator.cs, Expression.cs: All axes are SimpleIterators. SimpleIterators are gaurenteed to give the same XPathNavigator in Current. Make AxisIterator take a SimpleIterator, not any old BaseIterator. Will allow us to make NameTable optimizations and avoid quite a few strcmp's. 2003-09-24 Ben Maurer * Expression.cs: make // work right, must use another slash itr. 2003-09-21 Ben Maurer * Expression.cs: cant use $$ before assigned. 2003-09-21 Ben Maurer * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification. 2003-09-20 Ben Maurer * Expression.cs: num != double.NaN does not work. 2003-09-19 Ben Maurer * Expression.cs: in NodeTypeTest dont throw an exception if it is an unknown node type (allows for better Pattern debugging). 2003-09-17 Ben Maurer * DefaultContext.cs: implement sum () and translate (). 2003-09-13 Ben Maurer * XPathNavigator.cs: Make methods where you pass in the context, so that we dont have to clone expressions so much. 2003-09-06 Ben Maurer * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that system functions are actually expressions. Will allow for some nice optimizations. 2003-08-25 Ben Maurer * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed improvement in the method (5ms/call -> .7 ms / call) measured by monodoc's rendering of N:System. * Expression.cs: Utility methods to support above. 2003-08-13 Piers Haken * Iterator.cs: fix MergedIterator.Clone(), now clones other's iterators fix DescendantIterator.Clone(), now copies depth make iterator cloning constructors more type-specific 2003-08-01 Piers Haken * Expression.cs: added NodeNamespaceTest * XPathNavigator.cs: implement Select* with namespaces 2003-07-31 Ben Maurer * Iterator.cs: Allow creation of an EnumeratorIterator with an XmlNamespaceManager. 2003-07-31 Piers Haken * Parser.jay: Nested predicates (uses ExprFilter instead) more type safety make grammar look more like w3c spec * Expression.cs: remove ExprStep, ExprPredicates NodeTest is now a NodeSet more type-safety * Iterator.cs: PredicateIterator now only takes a single predicate expression more type-safety * XPathNavigator.cs: simplified SelectTest * XPathException.cs: fixed indenting 2003-07-30 Duncan Mak * XPathException.cs (GetObjectData): (Message): Added. 2003-07-29 Piers Haken * DefaultContext.cs: 'local-name' returns String, not NodeSet! 2003-07-29 Piers Haken * XPathNavigator.cs: * Expression.cs: add typesafe Evaluate* methods 2003-07-29 Piers Haken * DefaultContext.cs: fix 'substring-after' 2003-07-29 Piers Haken * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing) 2003-07-29 Ben Maurer * Iterator.cs: dont throw exceptions on tostring () 2003-07-28 Piers Haken * DefaultContext.cs: better handling of null argument lists * XPathNavigator.cs: implement ComparePosition 2003-07-28 Piers Haken * Expression.cs: boolean operators: handle comparing .Any better 2003-07-28 Piers Haken * DefaultContext.cs: count() should return a double * Expression.cs: better support for handling non-double numbers 2003-07-28 Piers Haken * DefaultContext.cs: better function param matching 2003-07-27 Piers Haken * Expression.cs: * DefaultContext.cs: catch FormatExceptions while parsing numbers 2003-07-27 Piers Haken * Expression.cs: fix case sorting order allow EvaluateNumber to take XPathResultType.Any 2003-07-27 Piers Haken * Expression.cs: * Tokenizer.cs: don't pass null to XmlQualifiedName constructor 2003-07-27 Piers Haken * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?) 2003-07-27 Piers Haken * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any 2003-07-26 Piers Haken * Expression.cs: fix function evaluation with ambigous argument types * XPathNavigator.cs: fix silly null reference bug 2003-07-26 Piers Haken * Iterator.cs: * DefaultContext.cs: ArrayListIterator->EnumeratorIterator * Expression.cs: add sorting support 2003-07-26 Piers Haken * Tokenizer.cs: * Parser.jay: move QName parsing into tokenizer * Expression.cs: fix evaluating XPathResultType.Any fix ExprDiv.ToString() fix NodeTypeTest.ToString() (for namespace axis) 2003-07-25 Piers Haken * Expression.cs: return clone of $var evaluation 2003-07-26 Piers Haken * Iterator.cs: add setter for NamespaceManager * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate * Expression.cs: fix func/var exception strings 2003-07-25 Piers Haken * Expression.cs: implement ExprFilter.Evaluate 2003-07-25 Piers Haken * Expression.cs: implement ExprVariable.Evaluate 2003-07-24 Ben Maurer * DefaultContext.cs: implement lang () 2003-07-24 Piers Haken * Parser.jay: * Expression.cs: allow ExprUNION to take non-nodeset (eg, $var) arguments 2003-07-24 Piers Haken * Tokenizer.cs: fix variable references * Parser.jay: * Expression.cs: * XPathNavigator.cs: use XmlQualifiedName 2003-06-30 Atsushi Enomoto * XPathDocument.cs : removed Driver class and restored authors' name (though it is completely rewrote). 2003-06-30 Atsushi Enomoto * XPathDocument.cs : Replaced existing stub class with real XPathDocument implementation. 2003-04-28 Piers Haken * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens 2003-03-07 Piers Haken * Tokenizer.cs: allow '.'s in NCNames 2003-03-07 Piers Haken * Exression.cs: * DefaultContext.cs: fixed function argument resolution 2003-02-09 Piers Haken * XPathNavigator.cs: * Iterator.cs: * Expression.cs: fix namespace handling 2003-01-04 Piers Haken * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-) 2003-02-02 Piers Haken * Parser.jay: add token names * Tokenizer.cs: fix NCName tokenization 2003-01-02 Atsushi Enomoto * Tokenizer.cs : Fixed ParseIdentifier to allow digits. (It should be a temporary fix.) 2002-09-22 Nick Drochak * Parser.cs: Remove extraneous "using" that was stopping the build. 2002-09-21 Piers Haken * XPathException: implementation * Expression.cs: * Iterator.cs: * Parser.jay: * Tokenizer.jay: * XPathNavigator.jay: use XPathException. 2002-09-13 Gonzalo Paniagua Javier * Parser.cs: commented out non-existent namespace (it compiles fine with mcs because of a bug that is already on bugzilla). 2002-09-12 Piers Haken * Tokenizer.cs: fix parsing numbers that start with '.' * DefaultContext.cs: use MS-compatible formatting of doubles 2002-09-12 Piers Haken * Iterator.cs: added NullIterator to handle unspecified contexts * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified. * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators 2002-09-12 Piers Haken * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument. * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null. * DefaultContext.cs: fix id() return type. 2002-09-03 Gonzalo Paniagua Javier * DefaultContext.cs: fixed bug #28840. * Expression.cs: added FIXME. 2002-08-17 Jason Diamond * XPathNavigator.cs: Fixed matching on patterns that look like absolute XPath expressions. 2002-08-17 Jason Diamond * XPathNavigator.cs: Added naive (but working) implementation of Matches. 2002-07-31 Piers Haken * XPathDocument.cs: simple, XmlDocument-based implementation 2002-07-25 Piers Haken * DefaultContext.cs: implement XPathFunctionName 'name()' function. 2002-07-17 Piers Haken * DefaultContext.cs: implement 'string-length()', 'normalize-space()' * Parser.jay: remove redundant production * Expression.cs: add switches for debugging under VS.NET 2002-07-17 Piers Haken * Expression.cs: implement nodeset/nodeset comparisons (non-optimal) 2002-07-15 Piers Haken * Iterator.cs: - rename UnionIterator to MergedIterator, - create new UnionIterator to implment uniqueness for '|' operator - fix position bug in ArrayListIterator.Clone() * Expression.cs: use new UnionIterator constructor syntax 2002-07-12 Piers Haken * Iterator.cs: PredicateIterator: handle numeric predicates * Parser.jay: add some debugging support: yyparseDebug * Tokenizer.cs: cleanup, include '-' chars in identifier tokens 2002-06-29 Piers Haken * Expression.cs: - remove dead code - NodeTest uses XPathResultType instead of internal NodeTestTypes enum - remove NodeTestTypes enum - remove NodeTestTypeAny (functionality provided by base now) - fix ExprStep to handle wildcard QNames * Parser.jay: - moved to Mono.Xml.XPath namespace - use XPathResultType - handle wildcard QNames * Tokenizer.cs: moved to Mono.Xml.XPath namespace * XPathNavigator.cs: implement - IsDescendant - SelectAncestors - SelectDescendants - SelectChildren * XPathResultType.cs: fix enum values 2002-06-24 Jason Diamond * XPathScanner.cs: Removed. 2002-06-24 Dick Porter * XmlCaseOrder.cs: Fix namespace 2002-06-23 Piers Haken * DefaultContext.cs: implemented XPathFUnctionId * Iterator.cs: new ArrayListIterator for id() support 2002-06-23 Piers Haken * XPathNavigator.cs: implement: - Compile - Evaluate - Clone - Select - ToString - some forwarding methods * XPathNodeIterator: implement caching Count * Tokenizer.cs: new XPath tokenizer * Parser.jay: new XPath grammar * Parser.cs: new precompiled XPath grammar * Expression.cs: new XPath expression objects * Iterator.cs: new XPath result/context objects * DefaultContext.cs: new XPath function binding context 2002-05-08 Tim Coleman * XPathDocument.cs: * XPathException.cs: New stub files added. 2002-04-12 Duncan Mak * XmlCaseOrder.cs: Moved to here from System.Xml. 2002-03-26 Jason Diamond * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated steps. Both absolution and relative abbreviated location paths. 2002-03-25 Jason Diamond * XPathScanner.cs: Added new file. This class is supposed to be internal but that would make it impossible to test. 2002-03-08 Duncan Mak * XPathNamespaceScope.cs: * XPathNodeType.cs: * XPathResultType.cs: * XmlDataType.cs: * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS implementation. XPathResultType is interesting as EnumCheck does not show the Navigator element, but shows the String element twice. 2002-03-08 Jason Diamond * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files. 2002-03-06 Jason Diamond * ChangeLog: Added to this directory. * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs, XPathResultType.cs: New files. * XPathNavigator.cs: Stubbed out all properties and methods.