Verbosity of XHTML 2 (was Re: XHTML 2.0 and Xlinks (again))

Christian Wolfgang Hujer <Christian.Hujer@itcqis.com> wrote:

> > Seems to me that people are silently balking at the thought of trying to
> > convince the world to use xlink:href="" instead of href="". The little
> > syntactical issues are the hardest to overcome, especially as that xlink
> > namespace prefix will have to be declared somewhere, and few HTML authors
> > understand (or are even aware of) namespaces.
> 
> Declaration:
> what about
> <!ATTLIST html
> 	...
> 	xmlns:xlink	CDATA	'http://www.w3.org...' #FIXED
> >

That won't work for user agents which don't fetch the external DTD subset.
You could write it in the internal DTD subset, but then of course it
doesn't make authors' life easier.  XHTML 1.x declared fixed namespace
URI for the XHTML namespace in DTDs, but still, the conformance
section requires that you must put that namespace declaration
explicitly in the instance so that it would work for non-validating
processors which don't read external DTD subset.

Technically I have little concern over verbosity of XLink, but I have
grave concern over the level of verbosity of XHTML 2 in order to be
politically correct.  We would have to use XML Schema in XHTML 2
anyway, but unless people don't need so-called "character" entities
anymore, we would still have to use DTD since XML Schema doesn't
provide that facility.  Using XLink - okay, someday we might be
able to overcome technical obstacles.  Scrap image / imagemap and
use SVG - well, might be interesting.  But the net result is that
authors would have to write something like the following before
starting to write any real content:

  <?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/css" href="xhtml2.css"?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "xhtml2.dtd"[
  <!ATTLIST html
      xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation CDATA #IMPLIED
  >
  <!-- loooong list of redundant ATTLIST declarations for ID
       ...
  -->
  ]>
  <html xmlns="http://www.w3.org/2002/06/xhtml2" xml:lang="en"
        xmlns:ev="http://www.w3.org/2001/xml-events"
        xmlns:xfm="http://www.w3.org/2002/01/xforms"
        xmlns:xlink="http://www.w3.org/1999/xlink"
        xmlns:svg="http://www.w3.org/2000/svg"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2 xhtml2.xsd ...">
    ...
  </html>

Probably using external DTD subset for declaring entities is bogus,
authors would have to explicitly list all necessary entity declarations
so that those entities can be processed by user agents which don't fetch
the external DTD subset.

This is the cost of being architecturally consistent and robust.
I wish XHTML 2 to remain simple, and I fear this level of verbosity 
is enough to blow away all the benefits of XHTML 2 for ordinary authors.
I'm willing to be told that my worries are needless ...

Regards,
-- 
Masayasu Ishikawa / mimasa@w3.org
W3C - World Wide Web Consortium

Received on Sunday, 11 August 2002 10:18:29 UTC