XLink 1.1: behaviour of simple links without a show attribute

XLink WG,

The current XLink 1.1 WD doesn't indicate clearly how conforming XLink 1.1 
applications should treat a simple link when the 'show' or 'actuate' attributes 
are omitted (at least not in section 5.6 alongside the description of the 
attributes where clarification would be most useful). For example, what behavior 
should result from:

   <foo xlink:href="picture.gif">bar</foo>

Should it be treated as if it had xlink:show="replace"? Or as if it had 
xlink:show="embed"? Or perhaps it's intended to be unspecified and left up to 
the XLink application to decide how to behave?

I think the expected behavior should be made clear, even if just to say 
explicitly that it is unspecified by the XLink specification, and XLink 
applications may behave differently. However, what I'd actually prefer, and what 
I think it would be most helpful, is if some text along the following lines were 
to be added to section 5.6.

   If the show or actuate attributes are not specified, the
   behavior of conforming XLink applications can be determined
   by the specification, if any, governing the namespace of
   the element. In other words, when omitted, conforming XLink
   applications should behave as if the value "other" were
   specified for these attributes. If the behavior is not
   specified by any other specification or by some other
   governing rules, then the behavior is unspecified. In this
   case XLink applications may differ in their behavior.

I think text along these lines would be helpful for two reasons. Firstly it will 
allow some of the conflicts between the SVG specifications (and existing SVG 
content) and XLink to be resolved. For the following elements in the SVG namespace:

   <a xlink:href="foo">bar</a>

the desired behavior is as if xlink:show="replace" and xlink:actuate="onRequest" 
had been specified. But for:

   <image xlink:href="foo"/>

the desired behavior is as if xlink:show="embed" and xlink:actuate="onLoad" had 
been specified. However there is very little (if any) SVG content that 
explicitly specifies the XLink 'show' and 'actuate' attributes. Although the SVG 
1.0 and 1.1 DTDs make these attributes #FIXED, not all UAs load the DTD, and the 
next versions of SVG won't have DTDs.

As well as resolving some of the problems with the use of XLink in SVG, the 
requested change to the XLink 1.1 WD would explicitly allow other specs to use 
XLink without requiring authors of their content to know a great deal about 
XLink, and without requiring them to repeatedly specify the same attributes 
(show and actuate) with the same values on the same elements over and over.

I think both of those would be a good thing.

Best regards,
Jonathan

Received on Wednesday, 18 January 2006 04:51:28 UTC