+2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : RelationalExpr was comparing number and node in
+ reverse order. Patch by Kazuki Oikawa. Fixed bug #72343.
+ RelationalExpr should also handle result tree fragment as node-set
+ as well as EqualityExpr. This fixes RTF case wrt #72343.
+
+2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : tiny code format fix by Andrew Skiba.
+
+2004-12-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs : Added CheckValidity() and ValueType.
+ For SetTypedValue(), throw NotSupportedException instead of
+ NotImplementedException.
+
+2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs :added MoveToFollowing(), ReplaceSelf() and
+ all the missing attributes.
+
+2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs : switch to DTMXPathNavigator2 which fully
+ eliminated string fields from struct.
+ (When we switch from struct to class, revert this change to use
+ DTMXPathNavigator, since class-based DTMXPathNavigator2 is rather
+ wasting processing speed.)
+
+2004-12-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : when PredicateIterator has a numeric predicate, it
+ will never be true twice. So just break up the iteration on true.
+ * XPathNavigator.cs : implemented LookupPrefix().
+ * Expression.cs : ExprParens.Optimize() could just return the content
+ expression.
+
+2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * IXPathChangeNavigable.cs,
+ XmlChangeFilters.cs,
+ XPathDocumentNodeChangedAction.cs : removed old files.
+
+2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : with related to the previous patch, many comments
+ got making no sense. Thanks to Harinath.
+
+2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : actually I mean this patch.
+
+2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : Create _current clone only when required. So just set
+ null when MoveNextCore() succeeded (except for some cases that
+ _current is _nav, such as SelfIterator).
+
+2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : SlashIterator.RequireSorting is always false. Whether
+ it has to collect nodes in prior or not and whether it might return
+ nodes in inconsistent order is different matter.
+ (It still needs to store nodes when either of branches requires
+ sorting, because they might return the same node later.)
+
+2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : reduced some extraneous ComparePosition() that could
+ be written as IsSamePosition(). ParentIterator doesn't have to be
+ RequireSorting.
+
+2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : reimplemented AncestorIterator and
+ AncestorOrSelfIterator just to collect parents and not to move to
+ siblings. In some cases like thousands of siblings, it used to be
+ so slow, while we usually don't have so deep ancestors.
+
+2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : warning removal. Added Optimize() which is not
+ implemented at all.
+ * Tokenizer.cs : warning elimination
+
+2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathEditableNavigator.cs, XPathChangeNavigator.cs,
+ IXPathEditable.cs : more removal of oldies.
+
+2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NodeChangedEventArgs.cs, NodeChangedEventHandler.cs : removed oldies.
+
+2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Tokenizer.cs : just use raw string instead of char[].
+ * XPathNavigator.cs : reuse NameTable when creating XmlTextReader.
+
+2004-11-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs :
+ - Made copy constructor certainly different from other constructors.
+ - Position is never computed in each derived type. All MoveNext() are
+ now MoveNextCore().
+ - Most of the protected members could just be private.
+
+2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs, XPathNavigator.cs : hold raw expression field for
+ get_Expression. It is preparation for expression optimization.
+
+2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : SimpleIterator._current could be cloned only when
+ it is required.
+
+2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : Some removal of Clone() were harmless.
+
+2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs : now all the new stuff that used to be in 2.0 are
+ reverted.
+ * XPathEditableNavigator.cs : It will be removed. Right now modified
+ a bit to pass build.
+ * XPathNavigator.cs : Added members that are merged from
+ XPathEditableNavigator. Updated members name.
+
+2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs :
+ - Added WrapperIterator to return BaseIterator in such case that
+ variable reference is resolved to XPathNodeIterator. This fixes
+ bug #68267.
+ - Path ".." is reverse axis (actually no effect).
+ - Fixed DescendantIterator.Clone() that missed "_finished" field.
+ * Expression.cs :
+ In ExprVariable.Evaluate(), use WrapperIterator() for custom
+ XPathNodeIterator.
+
+2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : Init(string, XmlSchemaType) is private.
+
+2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : missing Init() definition for float and string;
+ latter one resulted in infinite loop in Init(object,XmlSchemaType).
+
+2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs : TypedValue could be implemented.
+ * XPathEditableNavigator.cs : removed some MonoTODO since now there
+ are implementations.
+
+2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : All .ctor() are separeted from Init().
+ In .ctor(object, XmlSchemaType):
+ - For lists that contains just one item, Init() recursively.
+ - For XPathAtomicValue, Init() recursively for its content fields.
+ For Value and TypedValue, consider typecode from XmlSchemaType.
+
+2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathEditableNavigator.cs :
+ AppendChild(xmlReader) ignored nodes after than first one, and
+ resulted in infinite loop.
+ Added get_OuterXml overrides. set_OuterXml should not move to
+ parent before deleting current.
+
+2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : Value was not returning expected value when
+ it is created as new XPathAtomicValue (object, XmlSchemaType).
+ Compute stringValue and reuse.
+ * XPathNavigator.cs : Temporarily stubbed as to ignore SchemaInfo
+ (for checking XQuery implementation).
+
+2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : Handle .ctor() with object parameter more
+ precisely (still not enough, for list argument).
+ Removed commended blocks.
+
+2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : DateTime should be convertible to string.
+ Use schemaType's TypeCode for .ctor() that takes object.
+ * XPathNavigator.cs : copied get_InnerXml from XPathEditableNavigator.
+ * XPathEditableNavigator.cs : set_InnerXml should be different (new)
+ property from get_InnerXml. Removed get_InnerXml and get_OuterXml
+ overrides.
+
+2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs, XPathNavigator.cs : Eliminate MS.Internal.Xml.*.
+
+2004-08-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathEditableNavigator.cs : implemented some editor support methods.
+
+2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs :
+ - For .NET 2.0, added a switch to support new XPathDocument2.
+ If switch is off, then it uses DTM.
+ - Implemented remaining 2.0 bits (except for Obsolete ones).
+
+ To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
+ (It is still too unstable to pass all nunit tests and standalone XSLT
+ tests).
+
+2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs : Implemented ReadSubtree().
+
+2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs : for .ctor() and .ctor(XmlNameTable), now it
+ creates Mono.Xml.XPath.XPathEditableDocument and thus supports
+ IXPathEditable.CreateEditor().
+
+2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathEditableNavigator.cs : Implemented InsertAfter() and
+ PrependChild(); they are virtual, not abstract.
+ * XPathNavigator.cs :
+ Implemented many 2.0 virtual properties and methods that were
+ abstract in 1.x.
+ Implemented some Select() methods that uses IXmlNamespaceResolver.
+ Implemented most of ValueAsXxx() using XQueryConvert.
+ IsNode is always true. Implemented OuterXml and WriteSubtree() (but
+ actually they don't work because it depends on ReadSubtree()).
+
+2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs : added missing && not-likely-to-be-removed members.
+ * XPathEditableNavigator.cs : added BuildSubTree().
+ * XPathException.cs : added missing methods. Hide Message in NET_2_0.
+
+2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNodeIterator.cs : implemented 2.0 GetEnumerator().
+
+2004-07-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathExpression.cs, Expression.cs :
+ Added SetContext(IXmlNamespaceResolver).
+ * NodeChangedEventArgs.cs : Added missing [MonoTODO].
+ * XPathAtomicValue.cs : Halfly implemented.
+ * XPathDocument.cs : Added 2.0 members.
+ * XPathDocumentNodeChangedAction.cs : updated member names.
+ * XPathEditableNavigator.cs : Added missing 2.0 members and MonoTODO.
+ * XPathNavigator.cs : Added missing 2.0 members.
+ Fixed some members as virtual->override.
+
+2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlNodeChageType.cs, XmlChangeFilters.cs : fixed enum values.
+ * XPathResultType.cs : marked [MonoFIX] on .Navigator.
+
+2004-07-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs, Iterator.cs, XPathNavigator.cs :
+ Use IXmlNamespaceResolver for net 2.0. Removed unused code.
+ * XPathEditableNavigator.cs : fixed namespace.
+ * XPathNavigator.cs :
+ Fixed inheritance. Added missing MonoTODO.
+ Removed old .net 1.2 code.
+
+2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs : Globalization.
+ * Iterator.cs : In SlashIterator.MoveNext() position might keep 0
+ in case of empty list. Thus extraneous iteration might happened.
+ Removed unused (and clone unsafe) EnumeratorIterator.
+
+2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.s : The previous patch is still incomplete to close.
+
+2004-06-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathDocument.cs : close self-opened XmlTextReader in .ctor().
+
+2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : LookupNamespace() only allows already-atomized names.
+ * XPathEditableNavigator.cs : removed incorrect set_OuterXml() and
+ set_InnerXml().
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs : Add XPathNavigator input support for ToBoolean()
+ and ToNavigator().
+ * Expression.cs : In Equality comparison, evaluate XPathNavigator in
+ the same as well as NodeSet. This fixes bug #59134.
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathAtomicValue.cs : missed NET_2_0.
+
+2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * IXPathChangeNavigable.cs,
+ IXPathEditable.cs,
+ NodeChangedEventArgs.cs,
+ NodeChangedEventHandler.cs,
+ XPathAtomicValue.cs,
+ XPathChangeNavigator.cs,
+ XPathDocumentNodeChangedAction.cs,
+ XPathEditableNavigator.cs,
+ XPathItem.cs,
+ XmlChangeFilters.cs,
+ XmlNodeChangeType.cs : added NET_2_0 classes.
+ * XPathDocument.cs,
+ XPathNavigator.cs : updated NET_2_0 members.
+
+2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : We should not catch all kind of exception. Just
+ throwing any kind of exception would be preferable.
+ Added support for XPathNavigator values.
+
+2004-05-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs : Removed MonoTODO. done.
+ * Expression.cs : handle XPathResultType.Navigator in some places and
+ removed MonoTODO. Mark MonoTODO with explicit comments (though they
+ are mostly pointing out possibilities of optimization).
+ Removed extra check that depended on the old bugs.
+ * XPathResultType.cs : Fixed .Navigator that had the same value as
+ .String.
+
+2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Parser.jay : made class internal.
+
+2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs, Iterator.cs : Considered detached nodes, the
+ result of MoveToParent() should be checked.
+
+2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs : Only child and attribute axes are allowed for
+ Matches().
+ * Expression.cs : Added IsPositional property.
+ * DefaultContext.cs : Added some overrides.
+
+2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathNavigator.cs : no, its still not ok. comment out now.
+
+2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Expression.cs : Added EvaluatedNodeType and NeedAbsoluteMatching
+ to reduce extraneous Matches() trial.
+ * Iterator.cs : Removed unused MergedIterator.
+ * XPathNavigator.cs : Optimized Matches() not to evaluate ancestors
+ unnecessarily. (Test with NeedAbsoluteMatching).
+
+2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Iterator.cs : Added overriden Count properties for some iterators
+ (this fixes the half of #50678).
+ Added ListIterator class (which can reduce GetEnumerator()).
+ In some places we can omit clone for Current property, so added
+ some check logic (It has no effect as yet).
+ * Expression.cs, DefaultContext.cs :
+ use ListIterator instead of EnumeratorIterator.
+
+2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs, Expression.cs, Iterator.cs :
+ tiny foreach elimination.
+
+2004-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs : trivial processing order fix.
+
+2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DefaultContext.cs : Avoid exception if possible.
+ * Iterator.cs : Fixed PrecedingSiblingIterator.MoveNext(). When the
+ nav was positioned at the first, it incorrectly points itself.
+ Don't add names to name table while it is useless and expensive.
+
+2004-01-08 Nick Drochak <ndrochak@ieee.org>
+
+ * Iterator.cs: Removed unused variable.
+
+2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+ * Parser.jay : now it supresses error output from jay.
+ * DefaultContext.cs : (XPathFunctionSubstring) exclude -Infinity.
+ * Tokenizer.cs : better error message.
+ * XPathDocument.cs : Use XmlValidatingReader to support id() function.
+ (just found MS.NET actually supports it)
+
+2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+ * Iterator.cs : On its iteration, moving Current must not affect to
+ MoveNext(). To assure this, Current must be a clone of navigator.
+ Removed unused code.
+
2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* Tokenizer.cs : Removed some TODOs. (trivial ;-)