2004-11-30 Atsushi Enomoto * DTMXPathDocumentWriter.cs, DTMXPathDocumentBuilder.cs, DTMXPathNode.cs : SchemaType on attribute is not used. 2004-11-26 Atsushi Enomoto * XPathNavigatorReader.cs, KeyPattern.cs : warning removal 2004-11-19 Atsushi Enomoto * XPathNavigatorReader.cs : changed to be compatible with that is contained in Mono.Xml.Ext.dll. 2004-11-14 Atsushi Enomoto * XPathEditableDocument.cs : WriteStartElement() should not expect that there is an OwnerDocument (current node might be document). 2004-10-29 Atsushi Enomoto * XPathEditableDocument.cs : internalize classes. 2004-10-28 Atsushi Enomoto * XPathEditableDocument.cs : fixed wrong recursion problem. 2004-10-22 Atsushi Enomoto * XPathEditableDocument.cs : Now it implements updated version of .NET 2.0. .ctor() should accept XmlNode, instead of XmlDocument. 2004-10-09 Atsushi Enomoto * XPathNavigatorReader.cs : should be NET_2_0. 2004-10-08 Atsushi Enomoto * XPathNavigatorReader.cs : IsDefault considers IXmlSchemaInfo (it is anyways not implemented as yet.) 2004-10-05 Atsushi Enomoto * 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 * 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 * 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 * XPathNavigatorReader.cs : When the reader's root node is not of type Root, it incorrectly skipped the node itself. 2004-09-06 Atsushi Enomoto * 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 * XPathNavigatorReader.cs : on GetAttributeNavigator(int), namespace node could be this XmlReader's attribute node. 2004-08-02 Atsushi Enomoto * 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 * 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 * XPathNavigatorReader.cs : fixed GetAttributeNavigator() that incorrectly used MoveToNextAttribute(). 2004-07-29 Atsushi Enomoto * 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 * 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 * Added XPathNavigatorReader.cs. 2004-06-06 Atsushi Enomoto * DTMXPathDocumentBuilder.cs : Close XmlTextReader strictly. It might raise an error after opening stream and before try-catch. 2004-05-20 Atsushi Enomoto * Pattern.cs : don't throw System.Exception. Delegate error handling to the only one caller CompilePattern(). 2004-05-12 Atsushi Enomoto * Pattern.cs : made class internal. 2004-02-26 Atsushi Enomoto * DTMXPathDocumentBuilder.cs : Close XmlReader when we passed uri. 2004-02-18 Atsushi Enomoto * LocationPathPattern.cs : Implemented easy XPathNavigator cache on predicate evaluation in Matches(). 2004-02-17 Atsushi Enomoto * KeyPattern.cs, Pattern.cs : removed using decls. 2004-02-17 Atsushi Enomoto * LocationPathPattern.cs : Optimized Matches(). For non-positional patterns, it never iterates predicate, just evaluate boolean. 2004-02-16 Atsushi Enomoto * 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 * 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 * DTMXPathDocumentBuilder.cs : Namespace nodes are incorrectly created. This fix should make XPathDocument compatible with XmlDocument. 2004-01-26 Atsushi Enomoto * 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 * 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 * KeyPattern.cs : Matches() should iterate candidate keys to the end. 2003-11-19 Atsushi Enomoto * IdPattern.cs, KeyPattern.cs : Implemented Matches(), overrode DefaultPriority, modified inheritance. * Pattern.cs : Added id and key pattern support. 2003-11-02 Atsushi Enomoto * DTMXPathNavigator.cs : Fixed MoveToNamespace() that might result in infinite loop. 2003-10-04 Atsushi Enomoto * DTMXPathDocumentBuilder.cs : Bugfix for whitespace handling. 2003-10-01 Atsushi Enomoto * Added DTMXPathNode.cs. * Fundamental changes in whole DTM stuff. Node information is now array of "node struct" instead of individual arrays. 2003-09-21 Ben Maurer * Pattern.cs: save the parser (will reduce memory allocation when Jackson's jay patch is committed). 2003-09-20 Ben Maurer * Pattern.cs: Typo, when i got //a i was giving off / * LocationPathPattern.cs: Append to the tail, not head. 2003-09-14 Atsushi Enomoto * DTMXPathNavigator.cs, DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs : Added IXmlLineInfo support. Removed node's extraneous schemaType. Some code reformatting. 2003-09-13 Ben Maurer * Pattern.cs: Support static context. 2003-08-25 Ben Maurer * DTMXPathNavigator.cs: Allocate valueBuilder on first use. 2003-08-14 Atsushi Enomoto * DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs, DTMXPathNavigator.cs : - Implemented ID support using XmlValidatingReader. - Prefix should be String.Empty even if XmlReader.Prefix is null. 2003-07-23 Atsushi Enomoto * DTMXPathDocumentBuilder.cs : Fixed Read() that sets nodes' parent incorrectly. 2003-07-17 Peter Williams * DTMXPathDocumentBuilder.cs: csc.exe is more stringent about namespaces than mcs. We need to disambiguate System.Math from Mono.Math here. 2003-06-30 Atsushi Enomoto * Initial checkin. * Added ChangeLog, DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs and DTMXPathNavigator.cs.