- From: Patrick Dengler <patd@microsoft.com>
- Date: Thu, 15 Apr 2010 15:20:21 +0000
- To: Erik Dahlstrom <ed@opera.com>, www-svg <www-svg@w3.org>
Thanks Erik,
I knew my code was funky :)
-----Original Message-----
From: Erik Dahlstrom [mailto:ed@opera.com]
Sent: Thursday, April 15, 2010 8:10 AM
To: Patrick Dengler; www-svg
Subject: Re: xlink:href test case
On Thu, 15 Apr 2010 16:51:10 +0200, Patrick Dengler <patd@microsoft.com>
wrote:
> Test case for xlink:href; note the different behaviors across browsers
>
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
> <head>
> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
>
> <script type="text/javascript">
> <![CDATA[
> function testUpdatesetAttrib()
> {
> var err = document.getElementById("err");
> err.setAttribute("xlink:href", "ie7_logo.png" );
> }
> function testUpdatesetAttribNS()
> {
> var err = document.getElementById("err");
> err.setAttributeNS("xlink","href", "ie7_logo.png" );
> }
>
> ]]>
> </script>
> </head>
> <body>
> <svg xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" class="container" width="800"
> height="800" >
> <image xlink:href="ie7_logo2.png" x="200" y="50" width="400"
> height="400" id="err" />
> <image xlink:href="ie7_logo.png" x="600" y="50" width="400"
> height="400" id="err" />
> </svg>
> <input type="button" onclick="testUpdatesetAttrib()" value="Use
> settAttribute()" />
> <input type="button" onclick="testUpdatesetAttrib()" value="Use
> settAttributeNS()" />
> </body>
> </html>
Two points:
- The second button should call testUpdatesetAttribNS.
- The setAttributeNS call should pass a proper namespace URI as the first parameter, "http://www.w3.org/1999/xlink"
The proper behaviour in the setAttribute case is undefined according to DOM 3 Core, for the setAttributeNS("xlink","href", "ie7_logo.png") case that doesn't set the attribute in the correct namespace, so shouldn't change the image (since SVG uses the xlink:href attribute for the image data). If the proper namespace was passed the image should be updated correctly.
Cheers
/Erik
--
Erik Dahlstrom, Core Technology Developer, Opera Software Co-Chair, W3C SVG Working Group Personal blog: http://my.opera.com/macdev_ed
Received on Thursday, 15 April 2010 15:20:55 UTC