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