Search This Blog

Tuesday, January 8, 2008

The Design Goals of XML

Recently, I have heard several times people quoting the XML goals to
support various opinions on what makes a good or bad markup language
(schema). In particular, [the XML Specification] goal #10 Terseness is
of minimal importance gets used to claim that abbreviated element names
go against the spirit of XML -- a blithe spirit indeed. But if we look
at the XML Spec, we see that these are not general goals for XML
documents to follow, but goals for the committee designing XML the
technology: they are explicitly design goals... Looking at the goals
[and see Tim Bray's comments in the Annotated Version of the XML spec]
you can see that most of the goals are specific responses to problems
either with SGML or with the SGML process at ISO then. ISO standards
were supposed to have 10 year reviews which would be an opportunity for
changes to be addressed, outside the ordinary maintenance process. But
some influential and vital members of the ISO group had been committed
to keeping SGML unchanged for as long as possible, and many of the
other members who wanted change wanted changes that would support
technologies such as ISO HyTime better: these would be changes that
made SGML more complicated and varigated rather than simpler, to the
frustration of all... [John Cowan replies:] Two failures of the XML
process: It would have been better to require that public identifiers
be URIs, thus allowing system identifiers to continue their historic
function of being local addresses for things. Instead, we have public
ids limited to the charset of formal public ids, but nobody uses (or
knows how to use) FPIs. The XML Recommendation should have made clear
that the purpose of attributes of type NOTATION was to specify the
data type of the content of an element, rather than allowing this
function to be reinvented as 'xsi:type'... More Information

No comments: