Integrating XLink into other markup - schema constraints on allowed values.

Hello everyone,

Firstly, congratulations to XML Core WG on XLink 1.1 advancing to CR.

I have been reading the diff-marked version with interest, looking to
clarify a question we had as an SVG Last Call comment.

It seems to me that the xlink show and actuate attributes, which are
optional, cannot be used to overide the semantics of a given element. Is
that correct? I certainly hope so. I am lead to believe this by section
4.4

http://www.w3.org/TR/2006/CR-xlink11-20060328/Overview-diff.html#integrating

  Finally, while this specification identifies the minimum constraints
  on XLink markup, schemas that use XLink are free to tighten these
  constraints. The use of XLink does not absolve a valid document from
  conforming to the constraints expressed in its governing schema.

I SVG we have around 10 elements that are XLink simple links. In most
cases the values of show and actuate are constrained by the DTD (SVG 1.0
and 1.1) or schema (1.2) to exactly one value - in the DTD these are
#FIXED - thus giving us what we want - show and actuate are optional,
and if you use them on a particuar svg element you can only use the
range of values (a range of one, in most cases) on a given element.
  
As a concrete example, I can't  do things like

<svg:image xlink:href="something.png" xlink:show="replace"
              xlink:actuate="onload"/>

(which would take an image element and turn it into an element that
prevents the svg from displaying, instead replacing it with
something.png

or, worse, an element that is not any sort of link at all

<svg:linearGradient xlink:href="something.xml" xlink:actuate="onLoad"/>

which turns a gradient definition, which does not even render, into a
hyperlink.

And I can't do that because the relevant specification does not license
those combinations. Right?

I notice a comment on a related subject from Norm
http://lists.w3.org/Archives/Public/public-xml-core-wg/2006Jan/0042.html
and Paul
http://lists.w3.org/Archives/Public/public-xml-core-wg/2006Jan/0035

and I see useful language in 4.5 of the CR spec
http://www.w3.org/TR/2006/CR-xlink11-20060328/Overview-diff.html#legacy

  If an element allows such possibly conflicting markup to occur, it
  should specify the semantics of the result.

Now, that is about a mixture of legacy and XLink markup, but I assume
the same is true of XLink markup in combinations that the language
designers (if the language that uses XLink) did not want and expressed
that in their schema?

Yes, I have read the new warnings about attribute defaulting in schemas.

Your thoughts would be appreciated on this.

-- 
 Chris Lilley                    mailto:chris@w3.org
 Chair, W3C SVG Working Group
 W3C Graphics Activity Lead
 Co-Chair, W3C Hypertext CG

Received on Tuesday, 28 March 2006 22:41:10 UTC