1 2004-11-14 Atsushi Enomoto <atsushi@ximian.com>
3 * XPathEditableDocument.cs : WriteStartElement() should not expect
4 that there is an OwnerDocument (current node might be document).
6 2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
8 * XPathEditableDocument.cs : internalize classes.
10 2004-10-28 Atsushi Enomoto <atsushi@ximian.com>
12 * XPathEditableDocument.cs : fixed wrong recursion problem.
14 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
16 * XPathEditableDocument.cs :
17 Now it implements updated version of .NET 2.0.
18 .ctor() should accept XmlNode, instead of XmlDocument.
20 2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
22 * XPathNavigatorReader.cs : should be NET_2_0.
24 2004-10-08 Atsushi Enomoto <atsushi@ximian.com>
26 * XPathNavigatorReader.cs : IsDefault considers IXmlSchemaInfo
27 (it is anyways not implemented as yet.)
29 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
31 * XPathNavigatorReader.cs : Actually all other kind of nodes than
32 Element and Root must be treated as "start node only" as well as
33 attributes and namespaces.
35 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
37 * XPathDocument2Editable.cs : for WriteAttributes(), use
38 CreateAttributesWriter() that creates attribute tree XmlWriter.
39 * XPathNavigatorReader.cs : the reader was missing attributes when
40 it is created with an element node that has attriibutes.
42 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
44 * XPathNavigatorReader.cs : It can reject attribute and namespace
45 nodes as its input (It is used only for WriteNode(), InsertBefore()
46 and so on, which are not intended to be used with attribute nodes).
47 On Initial state, it was Element that should check IsEmptyElement,
48 and Root should just go to the first child node.
50 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
52 * XPathNavigatorReader.cs : When the reader's root node is not of type
53 Root, it incorrectly skipped the node itself.
55 2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
57 * XPathDocument2.cs, XPathDocument2Editable.cs:
58 Redesigned API. Child node list should not be required (it also
59 harms performance). Reduced extraneous methods for XPathNavigator
60 / XPathEditableNavigator implementation support.
61 * XPathEditableDocument.cs : event registration was missing (due to
62 XPathDocument changes, it might not be required anymore though).
63 * XPathNavigatorReader.cs :
64 Namespace nodes were not handled correctly.
65 EOF handling was incorrect.
66 Reduced extraneous clone from MoveTo/GetAttribute(int) and
68 2004-09-01 Atsushi Enomoto <atsushi@ximian.com>
70 * XPathNavigatorReader.cs : on GetAttributeNavigator(int), namespace
71 node could be this XmlReader's attribute node.
73 2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
75 * XPathDocument2.cs : new IXPathNavigable implementation
76 XPathDocument2Navigator.cs : new XPathNavigator implementation
77 XPathDocument2Editable.cs : new XPathEditableNavigator implementation
79 To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
80 (It is still too unstable to pass all nunit tests and standalone XSLT
83 2004-07-30 Atsushi Enomoto <atsushi@ximian.com>
85 * DTMXPathNavigator.cs :
86 Fixed IsSamePosition(). currentAttr is not always the same as
87 that of other when current is not attribute. Ditto for currentNS
88 (when current is not namespace).
89 * XPathNavigatorReader.cs : Fixed NodeType - 1) When attribute value is
90 being consumed, then node type should be Text, and 2) Root node is
91 usually mapped to Document, but XmlReader never returns Document,
92 just None (both on Initial state and EndOfFile state).
94 2004-07-30 Atsushi Enomoto <atsushi@ximian.com>
96 * XPathNavigatorReader.cs : fixed GetAttributeNavigator() that
97 incorrectly used MoveToNextAttribute().
99 2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
101 * XPathNavigatorReader.cs :
102 - it is used only in 2.0 classes.
103 - It now behaves as a fragment reader.
104 - Depth is optimized not to call Clone() and MoveToParent().
105 - AttributeCount could be counted only once in Read().
106 - ReadState transition is adjusted to be same as other XmlReaders.
107 - name strings now return "" on initial state.
109 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
111 * Added XPathEditableDocument.cs.
112 - XPathEditableDocument provides IXPathEditable.
113 - XmlDocumentEditableNavigator implements XPathEditableNavigator
114 that supports CreateAttributes(), AppendChild() and so on.
116 It is nothing more than hack, and as an XPathEditableNavigator
117 provider for XPathDocument, it will be replaced by something.
119 2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
121 * Added XPathNavigatorReader.cs.
123 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
125 * DTMXPathDocumentBuilder.cs : Close XmlTextReader strictly. It might
126 raise an error after opening stream and before try-catch.
128 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
130 * Pattern.cs : don't throw System.Exception. Delegate error handling to
131 the only one caller CompilePattern().
133 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
135 * Pattern.cs : made class internal.
137 2004-02-26 Atsushi Enomoto <atsushi@ximian.com>
139 * DTMXPathDocumentBuilder.cs : Close XmlReader when we passed uri.
141 2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
143 * LocationPathPattern.cs : Implemented easy XPathNavigator cache on
144 predicate evaluation in Matches().
146 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
148 * KeyPattern.cs, Pattern.cs : removed using decls.
150 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
152 * LocationPathPattern.cs : Optimized Matches(). For non-positional
153 patterns, it never iterates predicate, just evaluate boolean.
155 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
157 * DTMXPathDocument.cs,
158 DTMXPathDocumentBuilder.cs,
159 DTMXPathDocumentWriter.cs,
160 DTMXPathNavigator.cs,
162 Made classes internal by default (still publicly available with
163 OUTSIDE_SYSTEM_XML switch). Removed unused "position" field.
164 Optimized DTMXPathNavigator.Value a bit.
165 * LocationPathPattern.cs : Modified some fields to private.
167 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
169 * Added DTMXPathDocumentWriter.cs. It supports DTMXPathNavigator as
170 the resulting document tree.
171 * DTMXPathDocumentBuilder.cs : Code refactory (to get closer to dtm
172 writer and commonify tasks they both should do). Reduced initial
173 array size (400 to 200, for attribute 800 to 200), and extending
174 size from 2x to 4x (to reduce _times_ of allication copy).
175 * DTMXPathNode.cs : (and all above) added experimental "DTM_CLASS"
176 switch, which changes nodes from struct to class. (It will reduce
177 memory consumption by 2/3, but will also reduce speed by 2/3.)
179 2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
181 * DTMXPathDocumentBuilder.cs : Namespace nodes are incorrectly created.
182 This fix should make XPathDocument compatible with XmlDocument.
184 2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
186 * DTMXPathDocument.cs : CreateNavigator() should return the first root
188 * DTMXPathNavigator.cs : ComparePosition() incorrectly compared
189 attributes and namespaces orders. Implemented IsSamePosition() more
190 efficient. MoveToFirstNamespace() should return false when the
191 current node is either attribute or namespace. Fixed IsDescendant()
192 which looks resulted in incorrect behavior.
194 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
196 * DTMXPathDocumentBuilder.cs : Removed supportsID argument and always
197 assumes to support IDs when specified XmlValidatingReader.
198 Quick fix for NullReferenceException when type was null.
200 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
202 * KeyPattern.cs : Matches() should iterate candidate keys to the end.
204 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
207 KeyPattern.cs : Implemented Matches(), overrode DefaultPriority,
208 modified inheritance.
209 * Pattern.cs : Added id and key pattern support.
211 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
213 * DTMXPathNavigator.cs : Fixed MoveToNamespace() that might result in
216 2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
218 * DTMXPathDocumentBuilder.cs : Bugfix for whitespace handling.
220 2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
222 * Added DTMXPathNode.cs.
223 * Fundamental changes in whole DTM stuff. Node information is now array
224 of "node struct" instead of individual arrays.
226 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
228 * Pattern.cs: save the parser (will reduce memory allocation when
229 Jackson's jay patch is committed).
231 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
233 * Pattern.cs: Typo, when i got //a i was giving off /
234 * LocationPathPattern.cs: Append to the tail, not head.
236 2003-09-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
238 * DTMXPathNavigator.cs,
240 DTMXPathDocumentBuilder.cs : Added IXmlLineInfo support. Removed
241 node's extraneous schemaType. Some code reformatting.
243 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
245 * Pattern.cs: Support static context.
247 2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
249 * DTMXPathNavigator.cs: Allocate valueBuilder on first use.
251 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
253 * DTMXPathDocument.cs,
254 DTMXPathDocumentBuilder.cs,
255 DTMXPathNavigator.cs :
256 - Implemented ID support using XmlValidatingReader.
257 - Prefix should be String.Empty even if XmlReader.Prefix is null.
259 2003-07-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
261 * DTMXPathDocumentBuilder.cs :
262 Fixed Read() that sets nodes' parent incorrectly.
264 2003-07-17 Peter Williams <peter@newton.cx>
266 * DTMXPathDocumentBuilder.cs: csc.exe is more stringent about namespaces
267 than mcs. We need to disambiguate System.Math from Mono.Math here.
269 2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
272 * Added ChangeLog, DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs
273 and DTMXPathNavigator.cs.