Lists Home |
Date Index |
It started in the XML design itself when it was noted
that DTDs are weakly typed. That aspect was preserved
until the design for a replacement for DTDs was undertaken
and described as "DTDs with stronger types". If you do
a search on XML Schema Vs DTDs, you will note that many
of the articles are rehashes of Norm Walsh's
XML.COM article in which the notion that strong typing
can be a hazard is never presented:
"DTDs can be used to define content models (the valid order and nesting of elements)
and, to a limited extent, the datatypes of attributes, but they have a number of obvious limitations:
They are written in a different (non-XML) syntax.
They have no support for namespaces.
They only offer extremely limited datatyping. DTDs can only express the datatype of attributes in terms of explicit enumerations and a few coarse string formats, there's no facility for describing numbers, dates, currency values, and so forth. Furthermore, DTDs have no ability to express the datatype of character data in elements.
They have a complex and fragile extension mechanism based on little more than string substitution.
The worst thing about the DTD extension mechanism (parameter entities) is that it doesn't really make relationships explicit. Two elements defined to have the same content models aren't the same thing in any explicit way. Likewise, a group of attributes defined as a parameter entity and reused aren't logically a group, they're just "coincidentally" a group. "
Which began to circulate in forms such as:
"As useful as DTDs are, they aren't really designed for handling
the XML domain. The major concern most developers have with DTDs
is the lack of good type-checking. Also, DTDs are created in a
strange and seemingly archaic format. They have only a limited
capability in describing the document structure in terms of how
many elements can nest within other elements."
It is lack of namespace support that one might find more
compelling. But in essence, the ideas were amplified by
repetition (the danger of the web and using reference
based searching such as Google), and have become dogma
instead of lore.
The argument has gone round in markup circles for as long as there
have been markup systems. In the days when WYSIWYG
ruled the world, arguments for and against SGML in
favor of or against WYSIWYG often came down to data
typing, also known as, separation of data from processing.
The OOPMen were particularly enamored of strong typing
and particularly antagonistic to DTD-constrained document
types. They preferred serialization but noted that without
strong typing, it wouldn't work as well as it could with it.
From: Uche Ogbuji [mailto:email@example.com]
XML has proven invaluable as an undecorated bridge to the ultimately
responsible human, which I argue is its greatest strength. I'm not sure how
or when this goodness came under attack from considerations of "wizards". I
guess, as Simon St.Laurent said, it was probably right after XML took off and
the recalcitrant mainstream programming types realized they had not quite
signed up to what they expected.