Kevin Thiele wrote:
Dear list_eners
<XML data modeling spec proposal>...
I'm not competent to address the proposal, but I would like to try to influence the directions that may emerge from it in several ways:
(a).On theoretical and practical grounds, DTD's are now understood to be a weak way to describe the schemata (small 'S') of XML documents. The specialists should argue about whether RDF or XML-Schema's (uppercase 'S') work better (or try each on for size) and if there is a compelling reason to have a DTD then derive one from the Schema. Aside from (or perhaps actually because of) the lack of typing, inheritance, and ordering mechanisms, DTDs add restrictions on the kinds of schema inference that can be made from particular XML documents that might be a query result, and because of that make it less straightforward to mediate between the answers to queries on two different databases. These issues are explored in the book "Data on the Web" by Abitoul et al., and in the literature behind it.
(b). Mixed content (a mixture of text and elements) is a really bad idea, as is well known in the SGML community. Our own limited experience has been that dealing with it in display code necessitates to code obscurely. I can't tell whether anything in the proposal would lead this way. Maybe some pseudo-code XML-like examples would enlighten.
(c). One should keep in mind that queries can be constructed by software, not just by people. The latter are far better than the former at resolving ambiguity and supplying reasonable defaults. So for example, we should always ask at the end if we have given enough to formulate queries and interpret their answers in a non-interactive fashion.
Put another way, data exchange is a minor reason to adopt XML compared to its utility for the construction of queries and the interpretation of their answers. (Here's a trivial example, soon to be easily fixed: the data returned by the experimental XML facility at ITIS*ca conforms to a DTD in all but one case: that where there is no data matching the query. In that case, it returns the same HTML "sorry no answer" page that the html interface does, thereby requiring an XML application to have special knowledge of this case---which would not bother a human at all but sure startled our little application.)
Bob Morris