The 'Document' in Document-Oriented Messaging is another great post from mnot on why XML (and the Infoset and XML Schema) are good for surface syntax but not data modeling.
Norm Walsh argues in Is RDF/XML Good for Anything? that the RDF/XML serialization might be good for RDF "core dumps" but not for authoring data.
An earlier mnot post prompted me to write on the XML Infoset, XML Schemas, RDF and RDF Schemas. I think it combines a lot of what mnot is saying with a lot of what Norm is saying.
That doesn't necessarily mean either Norm or Mark would agree with me but I continue to believe that:
- XML is surface syntax
- XML Infoset is about surface syntax
- XML schemas written in XML Schema or Relax NG are schemas for surface syntax
- RDF is about underlying data models
- RDF schemas written in RDFS, OWL, etc are schemas for data models
- it should be possible to map arbitrary XML to RDF (and back again)
- such a mapping could be expressed in the XML schema itself
- the default serialization of RDF as XML should not be the principal way RDF is interchanged
I therefore believe that when one develops a vocabulary (or "application" in the SGML sense of the term) it should include:
- a schema for the RDF in something like OWL
- a schema for the XML in something like RELAX NG
- a mapping between the two (and RELAX NG should support inclusion of this mapping)
UPDATE (2004/08/06): I need to work out where XMI fits in all of this.