After nearly one month of hacking, ADO.NET and XML things should be improved than before.
ReadXml() now handles schema inference and data reading in different stages, and thus it now does not load the entire document to XmlDocument when ReadMode is specified to ignore schema.
InferXmlSchema() is implemented - yes, its core had been implemented in ReadXml(), but somewhat improved. It now distinguishes DataSet element and DataTable element. Simple type element columns can be ignored or even removed when a conflicting DataTable element (that is, whose name is the same as the column's mapped name and has DataTable structure) appeared.
ReadXmlSchema() now should identify whether the element definition is for DataSet or DataTable more precisely, and relationship handling should be improved.
XmlDataDocument now does not use GetElementsByTagName() frequently and thus two column elements that have the same name and in different table row element can be treated correctly. In construction time, nodes are not loaded to another XmlDocument anymore.
Since most of the features above are independent from basic DataSet stuff, they could be run and tested under MS.NET. For example, XmlDataReader.cs that implements ReadXml() can be used under MS.NET to fill DataSet faster than MS's ReadXml(). XmlSchemaDataImporter.cs that implements ReadXmlSchema() can be used to handle "fixed" value in attributes more correctly than MS's ReadXmlSchema().
Since am updating the whole stuff asynchronously, DataSet and XML feature were so corrupt in these two or three weeks, but now it is/should be time for them to be stable. So if you are using DataSet and XML feature, please try them and tell me if it worked or not.
BTW I love corcompare tools that is so helpful to check how my TypedDataSetGenerator implementation is APIwise-completed. I put the API comparison Here (the page is not complete enough to handle script events).
Posted by atsushi at May 17, 2004 09:16 PMGreat to see you finally got the stuff to work! Really cool that ReadXml() is faster than Microsoft's implementation as well. Looking forward to trying it.
Posted by: Asbjørn Ulsberg on May 18, 2004 12:21 PM