2004-11-14 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.XPath / ChangeLog
1 2004-11-14  Atsushi Enomoto <atsushi@ximian.com>
2
3         * XPathEditableDocument.cs : WriteStartElement() should not expect
4           that there is an OwnerDocument (current node might be document).
5
6 2004-10-29  Atsushi Enomoto <atsushi@ximian.com>
7
8         * XPathEditableDocument.cs : internalize classes.
9
10 2004-10-28  Atsushi Enomoto <atsushi@ximian.com>
11
12         * XPathEditableDocument.cs : fixed wrong recursion problem.
13
14 2004-10-22  Atsushi Enomoto <atsushi@ximian.com>
15
16         * XPathEditableDocument.cs :
17           Now it implements updated version of .NET 2.0.
18           .ctor() should accept XmlNode, instead of XmlDocument.
19
20 2004-10-09  Atsushi Enomoto <atsushi@ximian.com>
21
22         * XPathNavigatorReader.cs : should be NET_2_0.
23
24 2004-10-08  Atsushi Enomoto <atsushi@ximian.com>
25
26         * XPathNavigatorReader.cs : IsDefault considers IXmlSchemaInfo
27           (it is anyways not implemented as yet.)
28
29 2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
30
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.
34
35 2004-10-05  Atsushi Enomoto <atsushi@ximian.com>
36
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.
41
42 2004-10-04  Atsushi Enomoto <atsushi@ximian.com>
43
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.
49
50 2004-10-04  Atsushi Enomoto <atsushi@ximian.com>
51
52         * XPathNavigatorReader.cs : When the reader's root node is not of type
53           Root, it incorrectly skipped the node itself.
54
55 2004-09-06  Atsushi Enomoto <atsushi@ximian.com>
56
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
67
68 2004-09-01  Atsushi Enomoto <atsushi@ximian.com>
69
70         * XPathNavigatorReader.cs : on GetAttributeNavigator(int), namespace
71           node could be this XmlReader's attribute node.
72
73 2004-08-02  Atsushi Enomoto <atsushi@ximian.com>
74
75         * XPathDocument2.cs : new IXPathNavigable implementation
76           XPathDocument2Navigator.cs : new XPathNavigator implementation
77           XPathDocument2Editable.cs : new XPathEditableNavigator implementation
78
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
81         tests).
82
83 2004-07-30  Atsushi Enomoto <atsushi@ximian.com>
84
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).
93
94 2004-07-30  Atsushi Enomoto <atsushi@ximian.com>
95
96         * XPathNavigatorReader.cs : fixed GetAttributeNavigator() that
97           incorrectly used MoveToNextAttribute().
98
99 2004-07-29  Atsushi Enomoto <atsushi@ximian.com>
100
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.
108
109 2004-07-28  Atsushi Enomoto <atsushi@ximian.com>
110
111         * Added XPathEditableDocument.cs.
112           - XPathEditableDocument provides IXPathEditable.
113           - XmlDocumentEditableNavigator implements XPathEditableNavigator
114             that supports CreateAttributes(), AppendChild() and so on.
115
116           It is nothing more than hack, and as an XPathEditableNavigator
117           provider for XPathDocument, it will be replaced by something.
118
119 2004-07-13  Atsushi Enomoto <atsushi@ximian.com>
120
121         * Added XPathNavigatorReader.cs.
122
123 2004-06-06  Atsushi Enomoto <atsushi@ximian.com>
124
125         * DTMXPathDocumentBuilder.cs : Close XmlTextReader strictly. It might
126           raise an error after opening stream and before try-catch.
127
128 2004-05-20  Atsushi Enomoto <atsushi@ximian.com>
129
130         * Pattern.cs : don't throw System.Exception. Delegate error handling to
131           the only one caller CompilePattern().
132
133 2004-05-12  Atsushi Enomoto <atsushi@ximian.com>
134
135         * Pattern.cs : made class internal.
136
137 2004-02-26  Atsushi Enomoto <atsushi@ximian.com>
138
139         * DTMXPathDocumentBuilder.cs : Close XmlReader when we passed uri.
140
141 2004-02-18  Atsushi Enomoto <atsushi@ximian.com>
142
143         * LocationPathPattern.cs : Implemented easy XPathNavigator cache on
144           predicate evaluation in Matches().
145
146 2004-02-17  Atsushi Enomoto <atsushi@ximian.com>
147
148         * KeyPattern.cs, Pattern.cs : removed using decls.
149
150 2004-02-17  Atsushi Enomoto <atsushi@ximian.com>
151
152         * LocationPathPattern.cs : Optimized Matches(). For non-positional
153           patterns, it never iterates predicate, just evaluate boolean.
154
155 2004-02-16  Atsushi Enomoto <atsushi@ximian.com>
156
157         * DTMXPathDocument.cs,
158           DTMXPathDocumentBuilder.cs,
159           DTMXPathDocumentWriter.cs,
160           DTMXPathNavigator.cs,
161           DTMXPathNode.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.
166
167 2004-02-13  Atsushi Enomoto <atsushi@ximian.com>
168
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.)
178
179 2004-01-27  Atsushi Enomoto <atsushi@ximian.com>
180
181         * DTMXPathDocumentBuilder.cs : Namespace nodes are incorrectly created.
182           This fix should make XPathDocument compatible with XmlDocument.
183
184 2004-01-26  Atsushi Enomoto <atsushi@ximian.com>
185
186         * DTMXPathDocument.cs : CreateNavigator() should return the first root
187           as a clone.
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.
193
194 2003-12-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
195
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.
199
200 2003-11-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
201
202         * KeyPattern.cs : Matches() should iterate candidate keys to the end.
203
204 2003-11-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
205
206         * IdPattern.cs,
207           KeyPattern.cs : Implemented Matches(), overrode DefaultPriority,
208           modified inheritance.
209         * Pattern.cs : Added id and key pattern support.
210
211 2003-11-02  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
212
213         * DTMXPathNavigator.cs : Fixed MoveToNamespace() that might result in
214           infinite loop.
215
216 2003-10-04  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
217
218         * DTMXPathDocumentBuilder.cs : Bugfix for whitespace handling.
219
220 2003-10-01  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
221
222         * Added DTMXPathNode.cs.
223         * Fundamental changes in whole DTM stuff. Node information is now array
224           of "node struct" instead of individual arrays.
225
226 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
227
228         * Pattern.cs: save the parser (will reduce memory allocation when
229         Jackson's jay patch is committed).
230
231 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
232
233         * Pattern.cs: Typo, when i got //a i was giving off /
234         * LocationPathPattern.cs: Append to the tail, not head.
235
236 2003-09-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
237
238         * DTMXPathNavigator.cs,
239           DTMXPathDocument.cs,
240           DTMXPathDocumentBuilder.cs : Added IXmlLineInfo support. Removed
241           node's extraneous schemaType. Some code reformatting.
242
243 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
244
245         * Pattern.cs: Support static context.
246
247 2003-08-25 Ben Maurer  <bmaurer@users.sourceforge.net>
248
249         * DTMXPathNavigator.cs: Allocate valueBuilder on first use.
250
251 2003-08-14  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
252
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.
258
259 2003-07-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
260
261         * DTMXPathDocumentBuilder.cs :
262           Fixed Read() that sets nodes' parent incorrectly.
263
264 2003-07-17  Peter Williams  <peter@newton.cx>
265
266         * DTMXPathDocumentBuilder.cs: csc.exe is more stringent about namespaces
267         than mcs. We need to disambiguate System.Math from Mono.Math here.
268
269 2003-06-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
270
271         * Initial checkin.
272         * Added ChangeLog, DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs
273           and DTMXPathNavigator.cs.
274