documentation for UA interoperability
One of the things we haven't yet discussed (or did I miss something?) is the
interaction between different XML systems and what this might necessitate in
terms of documentation. Since I've spent a large amount of time worrying about
reverse-engineering the HTML DTD, this is something I'd like to get clear from
the beginning in XML. In HTML, there is no need for documentation on elements,
as long as all UAs read and implement the HTML spec. This is not necessarily
the case for XML, where UAs will need documentation on elements to enable
I don't know whether this should be in the XML spec itself, or in ancillary
documentation covering UA conformance. It seems pretty obvious that this has to
be documented, but I think it also needs to be specified how, and what level of
documentation is enough. Note that when I say "DTD fragment", I mean "in
whatever syntax". If I'm too early in bringing this up now, just tell me and
I'll repost at a more suitable stage.
There are two major cases that I have in mind, that could be expanded to cover
other UAs. The words "browser" and "editor" should be taken as meaning generic
applications that have the same requirements.
1) Browser X has special handling capabilities for element YY, and therefore
users who wish to take advantage of these capabilities should author their
documents appropriately. The developers of browser X should write documentation
stating effectively what the expected DTD fragment for element YY is - with
allowed content model, where the element is allowed, and attributes and allowed
ranges for CDATA attribute values. This doesn't mean that the developers of
browser A would have to supply element declarations, just that they could be
trivially written from their documentation.
2) User A has been using element ZZ and wants browser A to do something with
it, e.g. show the content. Style sheets go a long way here, but we also need a
fallback position, much like HTML has, in case there is no information in the
style sheet that refers to element ZZ. In HTML it is stated that UAs should
ignore unknown tags but show the content - we should specify something similar.
The content could be shown according to the style sheet attached to the nearest
ancestor element, or the nearest ancestor that the browser recognises (see
documentation the browser should supply under 1) above).
Lauren Wood, SoftQuad, Inc.