Wed Feb 24 15:47:16 CET 2010 Paolo Molaro <lupus@ximian.com>
[mono.git] / mcs / class / System.Xml.Linq / System.Xml.Linq / ChangeLog
1 2010-02-12  Miguel de Icaza  <miguel@novell.com>
2
3         * XStreamingElement.cs: Avoid an extra indirect call, by calling
4         the target methods directly.
5         
6         * XDocument.cs, XElement.cs, XStreamingElement.cs: Fix the
7         setting of the Indent flag, since this is an enumeration, testing
8         against SaveOptions.None was incorrect.  Check on the actual flag.
9
10         * XElement.cs, XDocument.cs, XStreamingElement.cs: Add support for
11         the new .NET 4.0 Save methods and the new OmitDuplicateNamespaces
12         flag to SaveOptions.
13
14         * XElement.cs, XDocument.cs, XNamespace.cs: Sprinkle
15         CLSCompliantAttribute to match the compare page.
16
17         * SaveOptions.cs: New setting for 4.0 OmitDuplicateNamespaces.
18
19 2010-02-09  Sebastien Pouliot  <sebastien@ximian.com>
20
21         * XUtil.cs: Avoid using ToLowerInvariant since it is not 
22         available in Silverlight.
23
24 2010-02-09  Chris Toshok  <toshok@ximian.com>
25
26         * XDocument.cs: add the Load (Stream) overloads.
27
28 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
29
30         * XAttribute.cs : escape whitespace chars in ToString().
31
32 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
33
34         * XUtil.cs : for DateTimeOffset, use XmlConvert to format string.
35
36 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * XUtil.cs : format float and double values as round-trippable.
39
40 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
41
42         * XUtil.cs : to create an XNode from an object, do not use ToString()
43           directly. Handle TimeSpan in xsd manner.
44
45 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
46
47         * XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
48           DateTime seem also support general conversion (parse) from strings.
49
50 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
51
52         * XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
53           boolean seem also to handle case-insensitive true/false strings.
54
55 2010-01-09  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * XElement.cs : add DateTimeOffset implicit operator.
58           Patch by Tiaan Geldenhuys.
59
60 2009-11-27  Atsushi Enomoto  <atsushi@ximian.com>
61
62         * XNodeWriter.cs : avoid prefix NRE on WriteStartAttribute().
63
64 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
65
66         * XContainer.cs : when replacing nodes, add contents first and then
67           remove them, so that the arguments are first unlinked and then
68           no node ends up to be added. Fixed bug #541098.
69
70 2009-09-22  Mike Feldman and Stephen A. Jazdzewski <steve@jazd.com>
71
72         * XUtil.cs: This patch fixes the '"False" is not a valid boolean
73         value' exception in System.Xml.XmlConverter when using output from
74         System.Linq.XUtil.  XUtil incorrectly uses "False" and "True"
75         instead of "false" and "true" on boolean attributes.
76
77 2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>
78
79         * XDocument.cs : XmlReaderSettings on XmlReader may be null.
80           Fixed bug #496285.
81
82 2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>
83
84         * XDocument.cs : fix SaveOptions behavior in Save() with filename.
85           Fixed bug #527421.
86
87 2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>
88
89         * XElement.cs : consider default namespace in GetNamespaceOfPrefix().
90         * XNodeReader.cs : 3.5 RTM does not return empty string for undefined
91           namespace URI with the argument prefix in LookupNamespace().
92
93 2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>
94
95         * XObject.cs : do not throw AE when target object is not found in
96           Annotation(). Fixed bug #527887.
97
98 2009-08-02  Jb Evain  <jbevain@novell.com>
99
100         * XElement.cs: fix the monotouch build.
101
102 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
103
104         * XNodeReader.cs : do not possibly return null as the Prefix value.
105           Fixed bug #524084.
106
107 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
108
109         * XNodeReader.cs : a couple of properties did not return correct
110           value for EOF state.
111
112 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * XNodeReader.cs : do not return element's IsEmpty on attributes.
115
116 2009-07-20  Jb Evain  <jbevain@novell.com>
117
118         * XNodeNavigator.cs: do not compile for a NET_2_1 profile.
119
120 2009-05-07  Sebastien Pouliot  <sebastien@ximian.com>
121
122         * XElement.cs: Use XmlReaderSettings.DtdProcessing property instead
123         of ProhibitDtd for NET_2_1 code.
124
125 2009-05-07  Jb Evain  <jbevain@novell.com>
126
127         * XElement.cs (Load (XmlReader,LoadOptions)): prevent a NRE if
128         the provided XmlReader doesn't have existing settings.
129         Fixes #501589.
130
131 2009-04-03  Federico Di Gregorio <fog@initd.org>
132
133         * XNode.cs: fixed XDocumentType to keep the value of SYSTEMID
134         when parsing XML from file.
135
136 2009-03-02  Chris Toshok  <toshok@ximian.com>
137
138         * XNodeReader.cs: 2.1 has HasValue.
139
140 2009-02-23  Jb Evain  <jbevain@novell.com>
141
142         * XUtil.cs (ToString): properly stringify datetimes.
143
144 2009-01-22  Atsushi Enomoto  <atsushi@ximian.com>
145
146         * XElement.cs : oops, experimental code remained and caused test
147           failure.
148
149 2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * XElement.cs : iterate all attributes and see if there is
152           applicable ns prefix for current element. Fixed bug #466423.
153
154 2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * XDocument.cs : fix wrong indentation handling.
157
158 2008-11-19  Jb Evain  <jbevain@novell.com>
159
160         * XNodeReader: build on NET_2_1.
161
162 2008-10-14  Sebastien Pouliot  <sebastien@ximian.com>
163
164         * XContainer.cs (AddFirst): Avoid stackoverflow (infinite recursion).
165
166 2008-06-18  Nestor Salceda  <nestor.salceda@gmail.com>
167
168         * XUtil.cs: Support XText in Clone (). Fixes bug #401325.
169
170 2008-05-22  Atsushi Enomoto  <atsushi@ximian.com>
171
172         * XUtil.cs : refactoring Clone(). Support XAttribute too.
173         * XNode.cs, XElement.cs, XContainer.cs : when adding a node that is
174           already attached to another node, create a clone of it and add it
175           to the tree instead of adding argument node. Fixed bug #392063.
176           in XElement .ctor(XElement), copy attributes too.
177
178 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
179
180         * XName.cs: Use String.IsNullOrEmpty inside 2.0 code.
181         [Found using Gendarme]
182
183 2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * XNode.cs, XElement.cs, XUtil.cs, XDocument.cs, XContainer.cs:
186           Add[Before|After]Self() now also checks argument node and joins
187           concatenating strings.
188
189 2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>
190
191         * XNode.cs : fixed AddAfterSelf() to process order of inserted
192           collection correctly (it could have resulted in reverse order).
193
194 2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>
195
196         * XContainer.cs, XElement.cs, XNode.cs, XUtil.cs :
197           made several refactoring on handling "content" items in couple of
198           Add*() methods. Attributes should be allowed in XElement.Add(),
199           while they should be rejected in XNode.Add*Self().
200           Similarly, Add() and SetValue() should reject any invalid content
201           items.
202           Add() should also append string content to the last node when the
203           last node is text.
204
205 2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>
206
207         * XUtil.cs : added ExpandArray() and marked some members as wrong.
208         * XStreamingElement.cs : removed use of ToNodes().
209
210 2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>
211
212         * XStreamingElement.cs : couple of fixes:
213           - object[] args are params.
214           - Fixed WriteContents(object[],XmlWriter) wrong iteration.
215           - do not write xmldecl when it does not exist (OmitXmlDeclaration).
216
217 2008-04-30  Atsushi Enomoto  <atsushi@ximian.com>
218
219         * XElement.cs, XNode.cs : XNode.ReadFrom() should not reuse
220           XElement.Load() which may create wrapper XmlReader.
221
222 2008-02-12  Atsushi Enomoto  <atsushi@ximian.com>
223
224         * XElement.cs : Value is rather a value in XPath semantics than
225           the textual xml representation. Fixed bug #360858.
226
227 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * XNodeDocumentOrderComparer.cs : ancestor/descendant comparison was
230           broken for some cases.
231         * Extensions.cs : implemented InDocumentOrder<T>().
232
233 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
234
235         * XName.cs : implemented GetObjectData(). It is however incompatible
236           with .NET (yet?).
237         * XNodeNavigator.cs : SchemaInfo is null.
238
239 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
240
241         * XStreamingElement.cs : it was almost already implemented.
242         * XElement.cs : finish .ctor(XStreamingElement).
243
244 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
245
246         * XNode.cs, XElement.cs, XStreamingElement.cs, XContainer.cs,
247           XUtil.cs : one-object to one-XNode conversion is wrong. It could
248           be one-or-more nodes (i.e. when object is IEnumerable).
249
250 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
251
252         * XNamespace.cs : make Get() and GetName() table-based.
253
254 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * XNodeNavigator.cs : MoveToId() is not supported in this class.
257         * XElement.cs : allow DTD by default.
258
259 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
260
261         * XNode.cs XElement.cs XObject.cs XDocument.cs XContainer.cs :
262           support LoadOptions.SetLineInfo and LoadOptions.SetBaseUri.
263
264 2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>
265
266         * XNodeNavigator.cs : oops, MoveToNext() always returned false.
267
268 2008-02-11  Miguel de Icaza  <miguel@novell.com>
269
270         * XAttribute.cs, XElement.cs: typecasting operators that take
271         values that can be null (nullable types and string) should not
272         throw an exception if the XAttribute is null, but return null instead.
273
274         * Added awesome test suite using awesome C-x ( C-x ) C-x e based
275         code generation.
276
277 2008-02-10  Atsushi Enomoto  <atsushi@ximian.com>
278
279         * XElement.cs : .ctor(XName,object) was trying to set args as its
280           content, not as its own fields.
281         * XNodeWriter.cs : check null ns and replace it with "".
282           Now that IsEmpty is true, set IsEmpty as false explicitly
283           when WriteFullEndElement() is called.
284
285 2008-02-09  Miguel de Icaza  <miguel@novell.com>
286
287         * XNamespace.cs: implement.
288
289 2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>
290
291         * XNodeReader.cs : when it is created from non-document XNode, do
292           not go beyond the source node. Fixed bug #356522 (the third case).
293
294 2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>
295
296         * XNodeReader.cs : NodeType should return None at Initial state.
297           Fixed bug #356522.
298
299 2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>
300
301         * XNodeReader.cs : when created from non-document node, the first
302           call to Read() should not move the node to its first child.
303
304 2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * XNodeReader.cs : Probably fixed (reopened) bug #356522.
307           NamespaceURI for "xmlns" attribute was "", which should be
308           http://www.w3.org/2000/xmlns/ (in XAttribute its namespace is "").
309
310 2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>
311
312         * XElement.cs, XNamespace.cs, XNodeNavigator.cs, XAttribute.cs,
313           XNodeReader.cs, XName.cs, XNodeWriter.cs :
314           XNamespace.Blank -> XNamespace.None (and .None is implemented.)
315
316 2008-01-28  Atsushi Enomoto  <atsushi@ximian.com>
317
318         * XNodeReader.cs : Fixed bug #356522. Attribute name retrieval was
319           wrong.
320
321 2008-01-26  Atsushi Enomoto  <atsushi@ximian.com>
322
323         * XNodeReader.cs : fixed GetAttribute() that wrongly resulted in
324           returning "" instead of null. Fixed bug #335975.
325
326 2007-11-27  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * XStreamingElement.cs : implement some members.
329
330 2007-11-23  Marek Safar  <marek.safar@gmail.com>
331
332         * XElement.cs, XNamespace.cs, XStreamingElement.cs, XObject.cs,
333         XDocument.cs: API update.
334         
335         * XObjectChangeEventHandler.cs: Removed.
336
337 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
338
339         * XNode.cs : use ConformanceLevel.Auto for ToString().
340           Fixed bug #336927.
341
342 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
343
344         * XElement.cs, XAttribute.cs : implemented missing explicit operators.
345         * XNamespace.cs : Blank is not public anymore.
346
347 2007-08-26  Marek Safar  <marek.safar@gmail.com>
348
349         * XElement.cs : Implemented explicit operators.
350         
351 2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * XNamespace.cs : added missing implicit operator.
354
355 2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>
356
357         * XNodeNavigator.cs : implemented XPathNavigator (untested!)
358
359 2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>
360
361         * XContainer.cs
362           XNodeWriter.cs : implemented CreateWriter().
363         * XElement.cs : when writing default xmlns attribute, namespace URI
364           should be w3c xmlns URI (unlike blank in XLinq's context).
365
366 2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>
367
368         * XNode.cs
369           XNodeReader.cs : implemented XNode.CreateReader().
370         * XDeclaration.cs : removed extra code.
371         * XElement.cs : support explicit IsEmpty value (like XmlElement).
372         * XProcessingInstruction.cs : null check.
373
374 2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>
375
376         * XElement.cs : implemented namespace retrieval, and
377           ReplaceAttributes().
378
379 2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>
380
381         * XNodeDocumentOrderComparer.cs : implemented.
382         * XObject.cs : Owner is internally referenced now.
383
384 2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>
385
386         * XNodeEqualityComparer.cs : implemented.
387
388 2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>
389
390         * XNode.cs
391           XDocument.cs
392           XElement.cs
393           XContainer.cs
394           XUtil.cs : added members for schema support.
395           Shrink object array so that sequential strings are concatenated.
396
397 2007-05-04  Atsushi Enomoto  <atsushi@ximian.com>
398
399         * XNode.cs : Nodes() is safe for removal of current item.
400         * XElement.cs : Attributes() is safe for ditto. Removed unused code.
401         * XUtil.cs : ToString() handles any type of object.
402         * Extensions.cs : implemented everything but sorter.
403         * XAttribute.cs : SetValue() and ToString() are done.
404         * XNode.cs : set missing tree link info in AddBeforeSelf() and
405           AddAfterSelf(). ReplaceWith() are done.
406
407 2007-05-04  Atsushi Enomoto  <atsushi@ximian.com>
408
409         * XNode.cs
410           XElement.cs
411           XAttribute.cs
412           XObject.cs
413           XContainer.cs : Attribute support. Fixed Document property.
414
415 2007-05-03  Atsushi Enomoto  <atsushi@ximian.com>
416
417         * XNode.cs
418           XElement.cs
419           XDocument.cs
420           XContainer.cs : some basic tree implementation.
421           Removed list-based code. Fixed erroneous reader settings.
422         * XDeclaration.cs : removed extra space in ToString().
423         * XNamespace.cs : added operator overloads.
424         * XName.cs : implemented ToString().
425
426 2007-05-03  Atsushi Enomoto  <atsushi@ximian.com>
427
428         yuck, I was updating things based on March CTP, not Beta1 ...
429         * LoadOptions.cs
430           SaveOptions.cs
431           XStreamingElement.cs : new missing files.
432         * XNode.cs
433           XDeclaration.cs
434           XElement.cs
435           XObject.cs
436           XDocument.cs
437           XDocumentType.cs
438           XContainer.cs : thus, updated again.
439         * XName.cs
440           XNamespace.cs : updates, plus some implementation.
441
442 2007-05-02  Atsushi Enomoto  <atsushi@ximian.com>
443
444         * XText.cs
445           XNode.cs
446           XDeclaration.cs
447           XElement.cs
448           XObjectChangeEventArgs.cs
449           XNodeEqualityComparer.cs
450           XComment.cs
451           XObject.cs
452           XNodeDocumentOrderComparer.cs
453           XCData.cs
454           XObjectChange.cs
455           XObjectChangeEventHandler.cs
456           XDocument.cs
457           XProcessingInstruction.cs
458           XDocumentType.cs
459           XContainer.cs : new files (split from System.Xml.Linq.cs).
460         * System.Xml.XLinq.cs : removed old file.
461         * XAttribute.cs
462           Extensions.cs
463           XIterators.cs
464           XNamespace.cs : updated to Orcas beta1 API. The entire code just
465           does not work. The API updates are mostly for testing compilers.
466
467 2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>
468
469         * XElementSequence.cs, Extensions.cs : renamed former to latter.
470
471 2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>
472
473         * XElementSequence.cs, Makefile : build fix for recent gmcs updates,
474           and some more implementation.
475
476 2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>
477
478         * System.Xml.XLinq.cs, XName.cs : a few updates from years ago.
479         * XNamespace.cs : new file. not correct at all for now.
480
481 2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>
482
483         * XAttribute.cs, System.Xml.XLinq.cs, XIterators.cs, XUtil.cs,
484           XName.cs, XElementSequence.cs: namespaces have chanced as well.
485
486 2006-02-11  Atsushi Enomoto  <atsushi@ximian.com>
487
488         * XElementSequence.cs : implemented (not sure if it works).
489         * XName.cs : strict null comparison.
490         * XIterators.cs : (XFilterIterator) check attribute XName as well.
491         * System.Xml.XLinq.cs : solved FIXMEs.
492
493 2005-09-20  Atsushi Enomoto  <atsushi@ximian.com>
494
495         * XAttribute.cs, XIterators.cs, XName.cs, XElementSequence.cs,
496           System.Xml.XLinq.cs :
497           Minimum implementation to run ms XLinqIntro.
498