Experience Report [1]: Modularization of XHTML

Dear HTML WG (et al.),
This is an implementation experience report in reply to the Modularization
of XHTML [http://www.w3.org/TR/xhtml-modularization] specification going to
Candidate Recommendation:
"[1] An XML Schema Version of Modularization - Issues that must be addressed
before PR".

I strongly disagree with the methods of implementation (as confused by the
"qname" principles of asserting namespaces - Section D.2.1) outlined in
whole in sections 4 and D of the aforementioned document, and submit that
there be an XML Schema implementation of Modularization before the
specification goes to PR.
I realise that this is a burning issue within the W3C, but as one of the
more experienced public implementers and followers of Modularization
(perhaps too outspoken), my reasons are well founded:

In section D of the modularization spec, it says to implement Modularization
using a menagerie of XML DTD 'programming'. The main problem is Section D.2,
which complicates the matter by providing a very odd fashion for defining
the namespaces for use throughout user defined DTDs. This is too much of a
burden and undermines the very original intention of the Modularization
specification:
i.e.
"This modularization provide a means for subsetting and extending XHTML, a
feature needed for extending XHTML's reach onto emerging platforms."

Due to the difficulties in using DTD modules to "subset and extend XHTML",
the plug and play feature of Modularization has been decimated.
Consider building a new module for XLink with this specification. I have
written such an example: http://xhtml.waptechinfo.com/modules/xlink/ and I
must say that coming from someone who has so much background experience in
Modularization, it was a nightmare.
If we used XML Schema, we could simply reference it into a document in the
following fashion:-
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'
 xmlns:xlink='http://xhtml.waptechinfo.com/modules/xlink/schema.xsd'
 xsi:schemaLocation="http://www.w3.org/1999/xhtml html.xsd"
  > [...]

i.e. to add a (simple) module in its own namespace takes on the form of an
addition of one simple line!
Adding attributes, elements, and even entire modules becomes a thing of ease
again and reinstates the original purpose of Modularization. There is no
need for esoteric 'qname' files and the like to make this usable and valid;
it is inherent in the document that the namespace has been declared using
Schema principles that are well-established, and validate on XSV (see
examples in [2] below).
Note that for this to work, an XML Schema version of XHTML 1.1 and
Modularization would be needed. I realise that this would slow down the PR
of Modularization, but there are already said schemas being developed by the
WG, and I believe it is crucial that an XML Schema implementation of
Modularization be provided. There are also many ways in which Modularization
of XML Schema may be achieved (references available upon request, as some
are member only).

"This appendix will contain instructions on how to define XML Schema modules
that are compatible with the XHTML Modularization implementation via XML
Schema [XMLSCHEMA] when the XML Schema becomes a W3C approved
recommendation."
Then please either hold back PR until such a time as these sections are
completed, or give us an informative section (reference guide and [full]
examples) on how to do it; for the benefit of the public developers such as
myself that will have to use this.

For further examples of how implementation of Modularization using XML
Schema is much more efficient and foolproof than XML DTD, please see:-
[1] http://xhtml.waptechinfo.com/xhtmlschema/
[2] http://www.w3.org/XML/2000/04schema-hacking/comment-test.html
[3] http://www.w3.org/XML/2000/04schema-hacking/
The directory URI [3] contains many examples of mixed vocabularies: XHTML
with SMIL, MathML, SVG etc., and all are much simpler to use than if they
were combined using XML DTDs.
Another excellent reason for having an XML Schema implementation of
Modularization is simply that many people find it easier to construct,
write, and use, XML Schemas: see section 4.

I must say that an XML Schema version would be alongside, and not a
replacement to, the DTD version. The main reason for having both versions is
that namespace implementation of XML Schemas are far easier than the qname
system in XML DTDs, but also it would be nice to compare the two possible
versions.

Once again I state that I am emphatically opposed to Modularization going to
Proposed Recommendation before an XML Schema based implementation is
available. This is based on a great amount of experience with using the
Modularization of XHTML specification.

Kindest Regards,
Sean B. Palmer
WAP Tech Info - http://www.waptechinfo.com/

Received on Saturday, 21 October 2000 05:52:22 UTC