2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XAttribute.cs : escape whitespace chars in ToString().

2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs : for DateTimeOffset, use XmlConvert to format string.

2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs : format float and double values as round-trippable.

2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs : to create an XNode from an object, do not use ToString()
	  directly. Handle TimeSpan in xsd manner.

2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
	  DateTime seem also support general conversion (parse) from strings.

2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs, XElement.cs, XAttribute.cs : unlike XmlConvert, casts to
	  boolean seem also to handle case-insensitive true/false strings.

2010-01-09  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : add DateTimeOffset implicit operator.
	  Patch by Tiaan Geldenhuys.

2009-11-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeWriter.cs : avoid prefix NRE on WriteStartAttribute().

2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>

	* XContainer.cs : when replacing nodes, add contents first and then
	  remove them, so that the arguments are first unlinked and then
	  no node ends up to be added. Fixed bug #541098.

2009-09-22  Mike Feldman and Stephen A. Jazdzewski <steve@jazd.com>

	* XUtil.cs: This patch fixes the '"False" is not a valid boolean
	value' exception in System.Xml.XmlConverter when using output from
	System.Linq.XUtil.  XUtil incorrectly uses "False" and "True"
	instead of "false" and "true" on boolean attributes.

2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XDocument.cs : XmlReaderSettings on XmlReader may be null.
	  Fixed bug #496285.

2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XDocument.cs : fix SaveOptions behavior in Save() with filename.
	  Fixed bug #527421.

2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : consider default namespace in GetNamespaceOfPrefix().
	* XNodeReader.cs : 3.5 RTM does not return empty string for undefined
	  namespace URI with the argument prefix in LookupNamespace().

2009-09-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XObject.cs : do not throw AE when target object is not found in
	  Annotation(). Fixed bug #527887.

2009-08-02  Jb Evain  <jbevain@novell.com>

	* XElement.cs: fix the monotouch build.

2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : do not possibly return null as the Prefix value.
	  Fixed bug #524084.

2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : a couple of properties did not return correct
	  value for EOF state.

2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : do not return element's IsEmpty on attributes.

2009-07-20  Jb Evain  <jbevain@novell.com>

	* XNodeNavigator.cs: do not compile for a NET_2_1 profile.

2009-05-07  Sebastien Pouliot  <sebastien@ximian.com>

	* XElement.cs: Use XmlReaderSettings.DtdProcessing property instead
	of ProhibitDtd for NET_2_1 code.

2009-05-07  Jb Evain  <jbevain@novell.com>

	* XElement.cs (Load (XmlReader,LoadOptions)): prevent a NRE if
	the provided XmlReader doesn't have existing settings.
	Fixes #501589.

2009-04-03  Federico Di Gregorio <fog@initd.org>

	* XNode.cs: fixed XDocumentType to keep the value of SYSTEMID
	when parsing XML from file.

2009-03-02  Chris Toshok  <toshok@ximian.com>

	* XNodeReader.cs: 2.1 has HasValue.

2009-02-23  Jb Evain  <jbevain@novell.com>

	* XUtil.cs (ToString): properly stringify datetimes.

2009-01-22  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : oops, experimental code remained and caused test
	  failure.

2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : iterate all attributes and see if there is
	  applicable ns prefix for current element. Fixed bug #466423.

2009-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XDocument.cs : fix wrong indentation handling.

2008-11-19  Jb Evain  <jbevain@novell.com>

	* XNodeReader: build on NET_2_1.

2008-10-14  Sebastien Pouliot  <sebastien@ximian.com>

	* XContainer.cs (AddFirst): Avoid stackoverflow (infinite recursion).

2008-06-18  Nestor Salceda  <nestor.salceda@gmail.com>

	* XUtil.cs: Support XText in Clone (). Fixes bug #401325.

2008-05-22  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs : refactoring Clone(). Support XAttribute too.
	* XNode.cs, XElement.cs, XContainer.cs : when adding a node that is
	  already attached to another node, create a clone of it and add it
	  to the tree instead of adding argument node. Fixed bug #392063.
	  in XElement .ctor(XElement), copy attributes too.

2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>

	* XName.cs: Use String.IsNullOrEmpty inside 2.0 code.
	[Found using Gendarme]

2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs, XElement.cs, XUtil.cs, XDocument.cs, XContainer.cs:
	  Add[Before|After]Self() now also checks argument node and joins
	  concatenating strings.

2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs : fixed AddAfterSelf() to process order of inserted
	  collection correctly (it could have resulted in reverse order).

2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XContainer.cs, XElement.cs, XNode.cs, XUtil.cs :
	  made several refactoring on handling "content" items in couple of
	  Add*() methods. Attributes should be allowed in XElement.Add(),
	  while they should be rejected in XNode.Add*Self().
	  Similarly, Add() and SetValue() should reject any invalid content
	  items.
	  Add() should also append string content to the last node when the
	  last node is text.

2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XUtil.cs : added ExpandArray() and marked some members as wrong.
	* XStreamingElement.cs : removed use of ToNodes().

2008-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XStreamingElement.cs : couple of fixes:
	  - object[] args are params.
	  - Fixed WriteContents(object[],XmlWriter) wrong iteration.
	  - do not write xmldecl when it does not exist (OmitXmlDeclaration).

2008-04-30  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs, XNode.cs : XNode.ReadFrom() should not reuse
	  XElement.Load() which may create wrapper XmlReader.

2008-02-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : Value is rather a value in XPath semantics than
	  the textual xml representation. Fixed bug #360858.

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeDocumentOrderComparer.cs : ancestor/descendant comparison was
	  broken for some cases.
	* Extensions.cs : implemented InDocumentOrder<T>().

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XName.cs : implemented GetObjectData(). It is however incompatible
	  with .NET (yet?).
	* XNodeNavigator.cs : SchemaInfo is null.

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XStreamingElement.cs : it was almost already implemented.
	* XElement.cs : finish .ctor(XStreamingElement).

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs, XElement.cs, XStreamingElement.cs, XContainer.cs,
	  XUtil.cs : one-object to one-XNode conversion is wrong. It could
	  be one-or-more nodes (i.e. when object is IEnumerable).

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNamespace.cs : make Get() and GetName() table-based.

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeNavigator.cs : MoveToId() is not supported in this class.
	* XElement.cs : allow DTD by default.

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs XElement.cs XObject.cs XDocument.cs XContainer.cs :
	  support LoadOptions.SetLineInfo and LoadOptions.SetBaseUri.

2008-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeNavigator.cs : oops, MoveToNext() always returned false.

2008-02-11  Miguel de Icaza  <miguel@novell.com>

	* XAttribute.cs, XElement.cs: typecasting operators that take
	values that can be null (nullable types and string) should not
	throw an exception if the XAttribute is null, but return null instead.

	* Added awesome test suite using awesome C-x ( C-x ) C-x e based
	code generation.

2008-02-10  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : .ctor(XName,object) was trying to set args as its
	  content, not as its own fields.
	* XNodeWriter.cs : check null ns and replace it with "".
	  Now that IsEmpty is true, set IsEmpty as false explicitly
	  when WriteFullEndElement() is called.

2008-02-09  Miguel de Icaza  <miguel@novell.com>

	* XNamespace.cs: implement.

2008-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : when it is created from non-document XNode, do
	  not go beyond the source node. Fixed bug #356522 (the third case).

2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : NodeType should return None at Initial state.
	  Fixed bug #356522.

2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : when created from non-document node, the first
	  call to Read() should not move the node to its first child.

2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : Probably fixed (reopened) bug #356522.
	  NamespaceURI for "xmlns" attribute was "", which should be
	  http://www.w3.org/2000/xmlns/ (in XAttribute its namespace is "").

2008-01-29  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs, XNamespace.cs, XNodeNavigator.cs, XAttribute.cs,
	  XNodeReader.cs, XName.cs, XNodeWriter.cs :
	  XNamespace.Blank -> XNamespace.None (and .None is implemented.)

2008-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : Fixed bug #356522. Attribute name retrieval was
	  wrong.

2008-01-26  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeReader.cs : fixed GetAttribute() that wrongly resulted in
	  returning "" instead of null. Fixed bug #335975.

2007-11-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XStreamingElement.cs : implement some members.

2007-11-23  Marek Safar  <marek.safar@gmail.com>

	* XElement.cs, XNamespace.cs, XStreamingElement.cs, XObject.cs,
	XDocument.cs: API update.
	
	* XObjectChangeEventHandler.cs: Removed.

2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs : use ConformanceLevel.Auto for ToString().
	  Fixed bug #336927.

2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs, XAttribute.cs : implemented missing explicit operators.
	* XNamespace.cs : Blank is not public anymore.

2007-08-26  Marek Safar  <marek.safar@gmail.com>

	* XElement.cs : Implemented explicit operators.
	
2007-05-08  Atsushi Enomoto  <atsushi@ximian.com>

	* XNamespace.cs : added missing implicit operator.

2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeNavigator.cs : implemented XPathNavigator (untested!)

2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XContainer.cs
	  XNodeWriter.cs : implemented CreateWriter().
	* XElement.cs : when writing default xmlns attribute, namespace URI
	  should be w3c xmlns URI (unlike blank in XLinq's context).

2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs
	  XNodeReader.cs : implemented XNode.CreateReader().
	* XDeclaration.cs : removed extra code.
	* XElement.cs : support explicit IsEmpty value (like XmlElement).
	* XProcessingInstruction.cs : null check.

2007-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XElement.cs : implemented namespace retrieval, and
	  ReplaceAttributes().

2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeDocumentOrderComparer.cs : implemented.
	* XObject.cs : Owner is internally referenced now.

2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XNodeEqualityComparer.cs : implemented.

2007-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs
	  XDocument.cs
	  XElement.cs
	  XContainer.cs
	  XUtil.cs : added members for schema support.
	  Shrink object array so that sequential strings are concatenated.

2007-05-04  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs : Nodes() is safe for removal of current item.
	* XElement.cs : Attributes() is safe for ditto. Removed unused code.
	* XUtil.cs : ToString() handles any type of object.
	* Extensions.cs : implemented everything but sorter.
	* XAttribute.cs : SetValue() and ToString() are done.
	* XNode.cs : set missing tree link info in AddBeforeSelf() and
	  AddAfterSelf(). ReplaceWith() are done.

2007-05-04  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs
	  XElement.cs
	  XAttribute.cs
	  XObject.cs
	  XContainer.cs : Attribute support. Fixed Document property.

2007-05-03  Atsushi Enomoto  <atsushi@ximian.com>

	* XNode.cs
	  XElement.cs
	  XDocument.cs
	  XContainer.cs : some basic tree implementation.
	  Removed list-based code. Fixed erroneous reader settings.
	* XDeclaration.cs : removed extra space in ToString().
	* XNamespace.cs : added operator overloads.
	* XName.cs : implemented ToString().

2007-05-03  Atsushi Enomoto  <atsushi@ximian.com>

	yuck, I was updating things based on March CTP, not Beta1 ...
	* LoadOptions.cs
	  SaveOptions.cs
	  XStreamingElement.cs : new missing files.
	* XNode.cs
	  XDeclaration.cs
	  XElement.cs
	  XObject.cs
	  XDocument.cs
	  XDocumentType.cs
	  XContainer.cs : thus, updated again.
	* XName.cs
	  XNamespace.cs : updates, plus some implementation.

2007-05-02  Atsushi Enomoto  <atsushi@ximian.com>

	* XText.cs
	  XNode.cs
	  XDeclaration.cs
	  XElement.cs
	  XObjectChangeEventArgs.cs
	  XNodeEqualityComparer.cs
	  XComment.cs
	  XObject.cs
	  XNodeDocumentOrderComparer.cs
	  XCData.cs
	  XObjectChange.cs
	  XObjectChangeEventHandler.cs
	  XDocument.cs
	  XProcessingInstruction.cs
	  XDocumentType.cs
	  XContainer.cs : new files (split from System.Xml.Linq.cs).
	* System.Xml.XLinq.cs : removed old file.
	* XAttribute.cs
	  Extensions.cs
	  XIterators.cs
	  XNamespace.cs : updated to Orcas beta1 API. The entire code just
	  does not work. The API updates are mostly for testing compilers.

2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>

	* XElementSequence.cs, Extensions.cs : renamed former to latter.

2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>

	* XElementSequence.cs, Makefile : build fix for recent gmcs updates,
	  and some more implementation.

2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>

	* System.Xml.XLinq.cs, XName.cs : a few updates from years ago.
	* XNamespace.cs : new file. not correct at all for now.

2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>

	* XAttribute.cs, System.Xml.XLinq.cs, XIterators.cs, XUtil.cs,
	  XName.cs, XElementSequence.cs: namespaces have chanced as well.

2006-02-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XElementSequence.cs : implemented (not sure if it works).
	* XName.cs : strict null comparison.
	* XIterators.cs : (XFilterIterator) check attribute XName as well.
	* System.Xml.XLinq.cs : solved FIXMEs.

2005-09-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XAttribute.cs, XIterators.cs, XName.cs, XElementSequence.cs,
	  System.Xml.XLinq.cs :
	  Minimum implementation to run ms XLinqIntro.

