2004-02-09 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.XPath / ChangeLog
index be89aecdfb1940643502194d2dc238eacecce7a6..763b1122b674bbe9f71b640a7c91b00c9cda1edc 100644 (file)
@@ -1,3 +1,268 @@
+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 :