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

	backport of r133710.

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

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

	backport of 127784.

	* 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.

