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