Re: TAG Comments on XHTML 2.0 and HLink

  Given that MathML and SVG already
  use XLink for hypertext references, that would seem to be precedent
  for using XLink in XHTML.

I can't speak for SVG but I'm not sure that MathML should really be seen
as a precedent here. The situation is rather different.

MathML makes no great use of linking it's just that when mathml is
embedded in some other vocabulary it is often useful to be able to link
out of and in to the MathML fragments.

In this context it is quite natural to the user that some "foreign"
markup to specify linking should be layered over MathML, and we used
Xlink because it was there (or more exactly it seemed like it would soon
be there). 

The situation in XHTML is rather different. Linking is in many ways the
main point of HTML: it's what justifies the "H" after all. I think that
expecting users to visibly pull in linking from a foreign namespace is
basically saying that (X)HTML is dead. The benefits of (X)HTML over
arbitrary CSS-styled and xlink-linked XML would be small to none.

Even for MathML, Xlink has some problems. Xlink as specified requires not
only xlink:href but (for simple links) xlink:type="simple". As MathML
only really supports the use of simple links it would be nice if this
attribute could be defaulted in the dtd (or schema). In theory it could,
but given dtd or current XML schema technology giving this default would
force that this attribute would be defaulted on _every_ element node
whether or not the element was being used as a link and had an
xlink:href. (MathML allows Xlink attributes on any element.)
In something like mathml which has a very large amount of element markup
relative to character data, this could cause a very large increase in
any DOM or similar model of the object even if no xlink is actually
used.

To avoid this the DTD at 
http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
does not default the xlink type attribute, it just declares it as
#IMPLIED. Thus means that to conform to the xlink spec the user must
explicty use this attribute (in addition to xlink:href) on every
link. (Although in practice mozilla, at least, doesn't seem to require
this).

A general TAG statement that using common linking functionality across
W3C XML specifications would be a good thing would not I think be
controversial, however it isn't at all clear to me that Xlink as it
stands is quite ready for such use. It provides a good basis for
describing linking semantics, but there has to be some mapping layer
to user syntax which is more flexible than attribute defaulting in a
DTD or schema. Whether or not Hlink is the best solution isn't really
the issue, I think it is addressing a clear problem. It may be that
using Xlink (even unmodified) turns out to be best solution, or it may
not but it seems to me far too early to kill off investigations
into possibilities for syntax mapping to specify linking behaviour.

David

(co-editor of MathML2 and current maintainer of the MathML DTD, but
speaking for myself, not on behalf of the Math WG)

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

Received on Thursday, 26 September 2002 11:29:57 UTC