Hi Folks, Awesome discussion! Thank you! Let’s summarize: 1. Does XML and XML Namespaces have an underlying data model?
These answers have been put forward:
1.1 XML and Namespaces have an
implicit data model. 2. Should a data model be created before defining a syntax? These answers have been put forward: 2.1 Every syntax
must have an underlying data model - it is unwise to define a syntax without an underlying data model. 2.2 It takes time and money to create a data model, the delay could result in an early death of a project. So, define the syntax first and later write a document
which describes the data model that is implicit in the syntax. 2.3 Different users will want to view and operate on the syntax in different ways – different users want different data models. So, do not create a data model.
Instead, just create a syntax (“transfer syntax”) and let users define their own data model. 3. What is modern-day thinking on this issue of syntax and data models? The XSLT and XQuery working group saw benefits to first creating a data model and then defining syntax. Furthermore, the XSLT and XQuery working group did their
work long after the XML and Namespaces specification was completed. I suspect that the XSLT/XQuery working group had realized the mistakes of XML and Namespaces and decided to avoid them by developing a data model first. So, it appears that modern-day
W3C practice and modern-day computer science practice is this: Always create a data model before defining a syntax. Do you agree? 4. Bakeoff: XML and Namespaces versus XSLT, XQuery, and XPath XSLT, XQuery, and XPath clearly have an underlying data model – the XDM. Furthermore, the data model was clearly created before the syntax was defined. With XML
and Namespaces the relationship between data model and syntax is not so clear. So, this seems like a great opportunity to quantify the benefits of creating a data model before defining a syntax. Any thoughts on how to do this? /Roger |