- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 19 Jan 2006 13:12:45 -0600
- To: www-svg@w3.org
I'm not quite sure what the "Relative to absolute IRI conversion" attribute normalization possibility really means. For example, consider the following markup (the "svg" prefix is bound to the SVG namespace; the "xlink" prefix is bound to the XLink 1.0 namespace) found in a document with document URI <http://www.example.com/>: <svg:a xlink:href="relative.txt"/> If I getAttributeNS the xlink:href attribute, what values is a conforming SVG UA allowed to return? Is "relative.txt" allowed? What about "http://www.example.com/relative.txt"? Now consider the following slightly modified markup: <svg:a xlink:href="relative.txt" xml:base="subdir/"/> In this case, if I getAttributeNS the xlink:href attribute, is "http://www.example.com/subdir/relative.txt" an allowed value? If so, then does this mean that the value that getAttributeNS returns for xlink:href depends dynamically on the value of xml:base? More precisely, given the markup and script (still located at the same document URI): <svg:a xml:id="id" xlink:href="relative.txt"> <svg:script> <![CDATA[ var a = document.getElementById("id"); var first = a.getAttributeNS("http://www.w3.org/1999/xlink", "href"); a.setAttributeNS("http://www.w3.org/XML/1998/namespace", "base", "subdir/"); var second = a.getAttributeNS("http://www.w3.org/1999/xlink", "href"); a.setAttributeNS("http://www.w3.org/1999/xlink", "href", second); a.setAttributeNS("http://www.w3.org/XML/1998/namespace", "base", ""); var third = a.getAttributeNS("http://www.w3.org/1999/xlink", "href"); ]]> </svg:script> can |first| and |second| end up with different values? Can |second| and |third| end up with different values? Note that the only thing that happened between |second| and |third| is that I set xml:base, then set an attribute to the value it already had, then unset xml:base; the net effect really should not be that the value of the attribute in question changed... Or is the intent that URI normalization happens at parse time only and thus xml:base doesn't affect URIs in SVG 1.2 unless they're specified via setAttributeNS dynamically? At the very least these issues should be clarified. As an implementor, I can't tell what's a valid behavior here. -Boris
Received on Thursday, 19 January 2006 20:05:57 UTC