Use cases for XML failure (was Re: #2 Re: [SML] Whether to support Attribute or not?)

Joe Lapp jlapp at
Sun Nov 28 03:13:54 GMT 1999

At 06:23 PM 11/27/1999 -0500, Gavin Thomas Nicol wrote:
>Come up with some use cases where XML simply *cannot* be deployed in a
>handheld device [...]

I don't think functionality is the issue.  The issue is
complexity, and complexity always comes at a price.

My primary issues with XML have to do with its focus
on markup for publishing.  We use XML for data, and
the XML spec forces XML-for-data engines to support
XML-for-publishing requirements (eg. entities).  We
might do better focusing on data requirements and
calling the language Data Markup Language (DML).

Even so, Jon Bosak and the other initiators of XML
are to be highly commended for creating a technology
whose applicability reached far beyond its original
intent, even if it isn't always a perfect match.

If XML were truly a simple markup language, there
would be little need for engineers to seek out someone
else's parser in order to work with XML; writing the 
parser would be trivial.  I have written an XML parser
and know that doing so is a long and laborous task.
And when you're done it takes countless tests to make
sure you're truly compliant, and non-compliance issues
always seem to pop up.  XML is not simple.

One might argue that once XML parsers are a commodity
(as they are today, except for high performance parse
tree generators), the simplicity of implementation
becomes moot.  Nothing could be further from the truth.
I am forever answering questions for our employees and
our customers about why you have to do certain things
and about why you cannot do others.  This is a huge
waste of everybody's time; it shouldn't be that hard.

Often of these complexities arise again when we design
technologies that work with XML.  Uh oh, attribute
names and element type names are in different spaces,
how do we represent two spaces and how do we address
them?  Uh oh, entity references are legitimate parts
of a document, and sometimes people may need to work
with them as a unit, so how do we give access to both
the logical and physical representations.  (Uh oh, an
argument has just erupted on which pieces are logical
and which physical and whether there really is a
distinction at all.)  Uh oh, I have to attach a value
to a label, but I'm not sure whether to use content
or an attribute value; I'll read up on the issue and
ask our XML guru -- drats, all that research didn't
help.  Uh oh, these documents have CDATA sections are
distinct children of the same parent element, and I
don't know whether they must be distinctly addressable.
Uh oh, I didn't realize that attributes are normalized;
now I have to redesign my DTD using elements.  Uh oh,
this element contains mixed content, and I'm not sure
which semantic labels, if any, apply to the text.

(I would argue against allowing mixed content in DML;
whitespace would be used only for pretty printing.)

Joe Lapp              (Looking for some good people to help design
Senior Engineer        and build the Internet's business-to-business
webMethods, Inc.       XML infrastructure.  We are 100% Java.)
jlapp at 

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list