2004-12-03 Marek Safar <marek.safar@seznam.cz>
[mono.git] / mcs / class / System.XML / Mono.Xml.XPath / ChangeLog
index 6b63f92dd9f915e5e115129d928127ad9e6485fb..ee22e538f254553c046bc7e09308774b09f26534 100644 (file)
@@ -1,3 +1,234 @@
+2004-11-30  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocumentWriter.cs,
+         DTMXPathDocumentBuilder.cs,
+         DTMXPathNode.cs : SchemaType on attribute is not used.
+
+2004-11-26  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs,
+         KeyPattern.cs : warning removal
+
+2004-11-19  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : changed to be compatible with that is
+         contained in Mono.Xml.Ext.dll.
+
+2004-11-14  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathEditableDocument.cs : WriteStartElement() should not expect
+         that there is an OwnerDocument (current node might be document).
+
+2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathEditableDocument.cs : internalize classes.
+
+2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathEditableDocument.cs : fixed wrong recursion problem.
+
+2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathEditableDocument.cs :
+         Now it implements updated version of .NET 2.0.
+         .ctor() should accept XmlNode, instead of XmlDocument.
+
+2004-10-09  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : should be NET_2_0.
+
+2004-10-08  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : IsDefault considers IXmlSchemaInfo
+         (it is anyways not implemented as yet.)
+
+2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : Actually all other kind of nodes than
+         Element and Root must be treated as "start node only" as well as
+         attributes and namespaces.
+
+2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathDocument2Editable.cs : for WriteAttributes(), use
+         CreateAttributesWriter() that creates attribute tree XmlWriter.
+       * XPathNavigatorReader.cs : the reader was missing attributes when
+         it is created with an element node that has attriibutes.
+
+2004-10-04  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : It can reject attribute and namespace
+         nodes as its input (It is used only for WriteNode(), InsertBefore()
+         and so on, which are not intended to be used with attribute nodes).
+         On Initial state, it was Element that should check IsEmptyElement,
+         and Root should just go to the first child node.
+
+2004-10-04  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : When the reader's root node is not of type
+         Root, it incorrectly skipped the node itself.
+
+2004-09-06  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathDocument2.cs, XPathDocument2Editable.cs:
+         Redesigned API. Child node list should not be required (it also
+         harms performance). Reduced extraneous methods for XPathNavigator
+         / XPathEditableNavigator implementation support.
+       * XPathEditableDocument.cs : event registration was missing (due to
+         XPathDocument changes, it might not be required anymore though).
+       * XPathNavigatorReader.cs :
+         Namespace nodes were not handled correctly.
+         EOF handling was incorrect.
+         Reduced extraneous clone from MoveTo/GetAttribute(int) and
+
+2004-09-01  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : on GetAttributeNavigator(int), namespace
+         node could be this XmlReader's attribute node.
+
+2004-08-02  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathDocument2.cs : new IXPathNavigable implementation
+         XPathDocument2Navigator.cs : new XPathNavigator implementation
+         XPathDocument2Editable.cs : new XPathEditableNavigator implementation
+
+       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-30  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathNavigator.cs :
+         Fixed IsSamePosition(). currentAttr is not always the same as
+         that of other when current is not attribute. Ditto for currentNS
+         (when current is not namespace).
+       * XPathNavigatorReader.cs : Fixed NodeType - 1) When attribute value is
+         being consumed, then node type should be Text, and 2) Root node is
+         usually mapped to Document, but XmlReader never returns Document,
+         just None (both on Initial state and EndOfFile state).
+
+2004-07-30  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs : fixed GetAttributeNavigator() that
+         incorrectly used MoveToNextAttribute().
+
+2004-07-29  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XPathNavigatorReader.cs :
+         - it is used only in 2.0 classes.
+         - It now behaves as a fragment reader.
+         - Depth is optimized not to call Clone() and MoveToParent().
+         - AttributeCount could be counted only once in Read().
+         - ReadState transition is adjusted to be same as other XmlReaders.
+         - name strings now return "" on initial state.
+
+2004-07-28  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Added XPathEditableDocument.cs.
+         - XPathEditableDocument provides IXPathEditable.
+         - XmlDocumentEditableNavigator implements XPathEditableNavigator
+           that supports CreateAttributes(), AppendChild() and so on.
+
+         It is nothing more than hack, and as an XPathEditableNavigator
+         provider for XPathDocument, it will be replaced by something.
+
+2004-07-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Added XPathNavigatorReader.cs.
+
+2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocumentBuilder.cs : Close XmlTextReader strictly. It might
+         raise an error after opening stream and before try-catch.
+
+2004-05-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Pattern.cs : don't throw System.Exception. Delegate error handling to
+         the only one caller CompilePattern().
+
+2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Pattern.cs : made class internal.
+
+2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocumentBuilder.cs : Close XmlReader when we passed uri.
+
+2004-02-18  Atsushi Enomoto <atsushi@ximian.com>
+
+       * LocationPathPattern.cs : Implemented easy XPathNavigator cache on
+         predicate evaluation in Matches().
+
+2004-02-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * KeyPattern.cs, Pattern.cs : removed using decls.
+
+2004-02-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * LocationPathPattern.cs : Optimized Matches(). For non-positional
+         patterns, it never iterates predicate, just evaluate boolean.
+
+2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocument.cs,
+         DTMXPathDocumentBuilder.cs,
+         DTMXPathDocumentWriter.cs,
+         DTMXPathNavigator.cs,
+         DTMXPathNode.cs :
+           Made classes internal by default (still publicly available with
+           OUTSIDE_SYSTEM_XML switch). Removed unused "position" field.
+           Optimized DTMXPathNavigator.Value a bit.
+       * LocationPathPattern.cs : Modified some fields to private.
+
+2004-02-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Added DTMXPathDocumentWriter.cs. It supports DTMXPathNavigator as
+         the resulting document tree.
+       * DTMXPathDocumentBuilder.cs : Code refactory (to get closer to dtm
+         writer and commonify tasks they both should do). Reduced initial
+         array size (400 to 200, for attribute 800 to 200), and extending 
+         size from 2x to 4x (to reduce _times_ of allication copy).
+       * DTMXPathNode.cs : (and all above) added experimental "DTM_CLASS"
+         switch, which changes nodes from struct to class. (It will reduce
+         memory consumption by 2/3, but will also reduce speed by 2/3.)
+
+2004-01-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocumentBuilder.cs : Namespace nodes are incorrectly created.
+         This fix should make XPathDocument compatible with XmlDocument.
+
+2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
+
+       * DTMXPathDocument.cs : CreateNavigator() should return the first root
+         as a clone.
+       * DTMXPathNavigator.cs : ComparePosition() incorrectly compared 
+         attributes and namespaces orders.  Implemented IsSamePosition() more
+         efficient.  MoveToFirstNamespace() should return false when the 
+         current node is either attribute or namespace.  Fixed IsDescendant()
+         which looks resulted in incorrect behavior.
+
+2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTMXPathDocumentBuilder.cs : Removed supportsID argument and always
+         assumes to support IDs when specified XmlValidatingReader.
+         Quick fix for NullReferenceException when type was null.
+
+2003-11-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * KeyPattern.cs : Matches() should iterate candidate keys to the end.
+
+2003-11-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * IdPattern.cs,
+         KeyPattern.cs : Implemented Matches(), overrode DefaultPriority,
+         modified inheritance.
+       * Pattern.cs : Added id and key pattern support.
+
+2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * DTMXPathNavigator.cs : Fixed MoveToNamespace() that might result in
+         infinite loop.
+
 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
 
        * DTMXPathDocumentBuilder.cs : Bugfix for whitespace handling.