1 2010-02-12 Miguel de Icaza <miguel@novell.com>
3 * XStreamingElement.cs: Avoid an extra indirect call, by calling
4 the target methods directly.
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.
10 * XElement.cs, XDocument.cs, XStreamingElement.cs: Add support for
11 the new .NET 4.0 Save methods and the new OmitDuplicateNamespaces
14 * XElement.cs, XDocument.cs, XNamespace.cs: Sprinkle
15 CLSCompliantAttribute to match the compare page.
17 * SaveOptions.cs: New setting for 4.0 OmitDuplicateNamespaces.
19 2010-02-09 Sebastien Pouliot <sebastien@ximian.com>
21 * XUtil.cs: Avoid using ToLowerInvariant since it is not
22 available in Silverlight.
24 2010-02-09 Chris Toshok <toshok@ximian.com>
26 * XDocument.cs: add the Load (Stream) overloads.
28 2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
30 * XAttribute.cs : escape whitespace chars in ToString().
32 2010-01-12 Atsushi Enomoto <atsushi@ximian.com>
34 * XUtil.cs : for DateTimeOffset, use XmlConvert to format string.
36 2010-01-12 Atsushi Enomoto <atsushi@ximian.com>
38 * XUtil.cs : format float and double values as round-trippable.
40 2010-01-12 Atsushi Enomoto <atsushi@ximian.com>
42 * XUtil.cs : to create an XNode from an object, do not use ToString()
43 directly. Handle TimeSpan in xsd manner.
45 2010-01-12 Atsushi Enomoto <atsushi@ximian.com>
47 * XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
48 DateTime seem also support general conversion (parse) from strings.
50 2010-01-12 Atsushi Enomoto <atsushi@ximian.com>
52 * XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
53 boolean seem also to handle case-insensitive true/false strings.
55 2010-01-09 Atsushi Enomoto <atsushi@ximian.com>
57 * XElement.cs : add DateTimeOffset implicit operator.
58 Patch by Tiaan Geldenhuys.
60 2009-11-27 Atsushi Enomoto <atsushi@ximian.com>
62 * XNodeWriter.cs : avoid prefix NRE on WriteStartAttribute().
64 2009-11-17 Atsushi Enomoto <atsushi@ximian.com>
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.
70 2009-09-22 Mike Feldman and Stephen A. Jazdzewski <steve@jazd.com>
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.
77 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
79 * XDocument.cs : XmlReaderSettings on XmlReader may be null.
82 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
84 * XDocument.cs : fix SaveOptions behavior in Save() with filename.
87 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
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().
93 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
95 * XObject.cs : do not throw AE when target object is not found in
96 Annotation(). Fixed bug #527887.
98 2009-08-02 Jb Evain <jbevain@novell.com>
100 * XElement.cs: fix the monotouch build.
102 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
104 * XNodeReader.cs : do not possibly return null as the Prefix value.
107 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
109 * XNodeReader.cs : a couple of properties did not return correct
112 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
114 * XNodeReader.cs : do not return element's IsEmpty on attributes.
116 2009-07-20 Jb Evain <jbevain@novell.com>
118 * XNodeNavigator.cs: do not compile for a NET_2_1 profile.
120 2009-05-07 Sebastien Pouliot <sebastien@ximian.com>
122 * XElement.cs: Use XmlReaderSettings.DtdProcessing property instead
123 of ProhibitDtd for NET_2_1 code.
125 2009-05-07 Jb Evain <jbevain@novell.com>
127 * XElement.cs (Load (XmlReader,LoadOptions)): prevent a NRE if
128 the provided XmlReader doesn't have existing settings.
131 2009-04-03 Federico Di Gregorio <fog@initd.org>
133 * XNode.cs: fixed XDocumentType to keep the value of SYSTEMID
134 when parsing XML from file.
136 2009-03-02 Chris Toshok <toshok@ximian.com>
138 * XNodeReader.cs: 2.1 has HasValue.
140 2009-02-23 Jb Evain <jbevain@novell.com>
142 * XUtil.cs (ToString): properly stringify datetimes.
144 2009-01-22 Atsushi Enomoto <atsushi@ximian.com>
146 * XElement.cs : oops, experimental code remained and caused test
149 2009-01-20 Atsushi Enomoto <atsushi@ximian.com>
151 * XElement.cs : iterate all attributes and see if there is
152 applicable ns prefix for current element. Fixed bug #466423.
154 2009-01-20 Atsushi Enomoto <atsushi@ximian.com>
156 * XDocument.cs : fix wrong indentation handling.
158 2008-11-19 Jb Evain <jbevain@novell.com>
160 * XNodeReader: build on NET_2_1.
162 2008-10-14 Sebastien Pouliot <sebastien@ximian.com>
164 * XContainer.cs (AddFirst): Avoid stackoverflow (infinite recursion).
166 2008-06-18 Nestor Salceda <nestor.salceda@gmail.com>
168 * XUtil.cs: Support XText in Clone (). Fixes bug #401325.
170 2008-05-22 Atsushi Enomoto <atsushi@ximian.com>
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.
178 2008-05-18 Sebastien Pouliot <sebastien@ximian.com>
180 * XName.cs: Use String.IsNullOrEmpty inside 2.0 code.
181 [Found using Gendarme]
183 2008-05-12 Atsushi Enomoto <atsushi@ximian.com>
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.
189 2008-05-12 Atsushi Enomoto <atsushi@ximian.com>
191 * XNode.cs : fixed AddAfterSelf() to process order of inserted
192 collection correctly (it could have resulted in reverse order).
194 2008-05-12 Atsushi Enomoto <atsushi@ximian.com>
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
202 Add() should also append string content to the last node when the
205 2008-05-12 Atsushi Enomoto <atsushi@ximian.com>
207 * XUtil.cs : added ExpandArray() and marked some members as wrong.
208 * XStreamingElement.cs : removed use of ToNodes().
210 2008-05-12 Atsushi Enomoto <atsushi@ximian.com>
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).
217 2008-04-30 Atsushi Enomoto <atsushi@ximian.com>
219 * XElement.cs, XNode.cs : XNode.ReadFrom() should not reuse
220 XElement.Load() which may create wrapper XmlReader.
222 2008-02-12 Atsushi Enomoto <atsushi@ximian.com>
224 * XElement.cs : Value is rather a value in XPath semantics than
225 the textual xml representation. Fixed bug #360858.
227 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
229 * XNodeDocumentOrderComparer.cs : ancestor/descendant comparison was
230 broken for some cases.
231 * Extensions.cs : implemented InDocumentOrder<T>().
233 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
235 * XName.cs : implemented GetObjectData(). It is however incompatible
237 * XNodeNavigator.cs : SchemaInfo is null.
239 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
241 * XStreamingElement.cs : it was almost already implemented.
242 * XElement.cs : finish .ctor(XStreamingElement).
244 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
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).
250 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
252 * XNamespace.cs : make Get() and GetName() table-based.
254 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
256 * XNodeNavigator.cs : MoveToId() is not supported in this class.
257 * XElement.cs : allow DTD by default.
259 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
261 * XNode.cs XElement.cs XObject.cs XDocument.cs XContainer.cs :
262 support LoadOptions.SetLineInfo and LoadOptions.SetBaseUri.
264 2008-02-11 Atsushi Enomoto <atsushi@ximian.com>
266 * XNodeNavigator.cs : oops, MoveToNext() always returned false.
268 2008-02-11 Miguel de Icaza <miguel@novell.com>
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.
274 * Added awesome test suite using awesome C-x ( C-x ) C-x e based
277 2008-02-10 Atsushi Enomoto <atsushi@ximian.com>
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.
285 2008-02-09 Miguel de Icaza <miguel@novell.com>
287 * XNamespace.cs: implement.
289 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
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).
294 2008-01-29 Atsushi Enomoto <atsushi@ximian.com>
296 * XNodeReader.cs : NodeType should return None at Initial state.
299 2008-01-29 Atsushi Enomoto <atsushi@ximian.com>
301 * XNodeReader.cs : when created from non-document node, the first
302 call to Read() should not move the node to its first child.
304 2008-01-29 Atsushi Enomoto <atsushi@ximian.com>
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 "").
310 2008-01-29 Atsushi Enomoto <atsushi@ximian.com>
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.)
316 2008-01-28 Atsushi Enomoto <atsushi@ximian.com>
318 * XNodeReader.cs : Fixed bug #356522. Attribute name retrieval was
321 2008-01-26 Atsushi Enomoto <atsushi@ximian.com>
323 * XNodeReader.cs : fixed GetAttribute() that wrongly resulted in
324 returning "" instead of null. Fixed bug #335975.
326 2007-11-27 Atsushi Enomoto <atsushi@ximian.com>
328 * XStreamingElement.cs : implement some members.
330 2007-11-23 Marek Safar <marek.safar@gmail.com>
332 * XElement.cs, XNamespace.cs, XStreamingElement.cs, XObject.cs,
333 XDocument.cs: API update.
335 * XObjectChangeEventHandler.cs: Removed.
337 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
339 * XNode.cs : use ConformanceLevel.Auto for ToString().
342 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
344 * XElement.cs, XAttribute.cs : implemented missing explicit operators.
345 * XNamespace.cs : Blank is not public anymore.
347 2007-08-26 Marek Safar <marek.safar@gmail.com>
349 * XElement.cs : Implemented explicit operators.
351 2007-05-08 Atsushi Enomoto <atsushi@ximian.com>
353 * XNamespace.cs : added missing implicit operator.
355 2007-05-06 Atsushi Enomoto <atsushi@ximian.com>
357 * XNodeNavigator.cs : implemented XPathNavigator (untested!)
359 2007-05-06 Atsushi Enomoto <atsushi@ximian.com>
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).
366 2007-05-06 Atsushi Enomoto <atsushi@ximian.com>
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.
374 2007-05-06 Atsushi Enomoto <atsushi@ximian.com>
376 * XElement.cs : implemented namespace retrieval, and
379 2007-05-05 Atsushi Enomoto <atsushi@ximian.com>
381 * XNodeDocumentOrderComparer.cs : implemented.
382 * XObject.cs : Owner is internally referenced now.
384 2007-05-05 Atsushi Enomoto <atsushi@ximian.com>
386 * XNodeEqualityComparer.cs : implemented.
388 2007-05-05 Atsushi Enomoto <atsushi@ximian.com>
394 XUtil.cs : added members for schema support.
395 Shrink object array so that sequential strings are concatenated.
397 2007-05-04 Atsushi Enomoto <atsushi@ximian.com>
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.
407 2007-05-04 Atsushi Enomoto <atsushi@ximian.com>
413 XContainer.cs : Attribute support. Fixed Document property.
415 2007-05-03 Atsushi Enomoto <atsushi@ximian.com>
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().
426 2007-05-03 Atsushi Enomoto <atsushi@ximian.com>
428 yuck, I was updating things based on March CTP, not Beta1 ...
431 XStreamingElement.cs : new missing files.
438 XContainer.cs : thus, updated again.
440 XNamespace.cs : updates, plus some implementation.
442 2007-05-02 Atsushi Enomoto <atsushi@ximian.com>
448 XObjectChangeEventArgs.cs
449 XNodeEqualityComparer.cs
452 XNodeDocumentOrderComparer.cs
455 XObjectChangeEventHandler.cs
457 XProcessingInstruction.cs
459 XContainer.cs : new files (split from System.Xml.Linq.cs).
460 * System.Xml.XLinq.cs : removed old file.
464 XNamespace.cs : updated to Orcas beta1 API. The entire code just
465 does not work. The API updates are mostly for testing compilers.
467 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
469 * XElementSequence.cs, Extensions.cs : renamed former to latter.
471 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
473 * XElementSequence.cs, Makefile : build fix for recent gmcs updates,
474 and some more implementation.
476 2007-02-03 Atsushi Enomoto <atsushi@ximian.com>
478 * System.Xml.XLinq.cs, XName.cs : a few updates from years ago.
479 * XNamespace.cs : new file. not correct at all for now.
481 2007-02-03 Atsushi Enomoto <atsushi@ximian.com>
483 * XAttribute.cs, System.Xml.XLinq.cs, XIterators.cs, XUtil.cs,
484 XName.cs, XElementSequence.cs: namespaces have chanced as well.
486 2006-02-11 Atsushi Enomoto <atsushi@ximian.com>
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.
493 2005-09-20 Atsushi Enomoto <atsushi@ximian.com>
495 * XAttribute.cs, XIterators.cs, XName.cs, XElementSequence.cs,
496 System.Xml.XLinq.cs :
497 Minimum implementation to run ms XLinqIntro.