Thanks
for correcting!
Quite
an inconsistency in the API. I would not have spotted it
myself.
Kari
-----Original Message-----Hello Kari,
From: Vincent Hardy [mailto:[EMAIL PROTECTED]
Sent: 11 July 2003 02:11
To: Batik Users
Subject: Re: Loading images in ECMA scripts
setAttributeNS takes a qualified name, and the namespace prefix and colon are optional in a qualified name. So both "href" and "xlink:href" are legal according to the DOM specification. My point was that "xlink:href" was correct, not that "href" was incorrect.
getAttributeNS takes a 'local name' as a second attribute. So for getAttributeNS, only 'href' is ok. getAttributeNS(xlinkNS, "xlink:href") is not working because there is no attribute with local name 'xlink:href'.
So you can do:
image.setAttributeNS(xlinkNS, "xlink:href", "http://whatever");
image.setAttributeNS(xlinkNS, "href", "http://whatever2");
String href = image.getAttributeNS(xlinkNS, "href");
as you found out in your experimentations,
Regards,
Vincent.
Kari Hoijarvi wrote:
Thanks for info. Surprise to me. I have always used local names with the second parameter, when scripting adobe plugin. I just tested this with ASV3, and setting works. For my surprise, getting does not. image.setAttributeNS(xlinkNS, "xlink:href", "http://whatever"); image.getAttributeNS(xlinkNS, "xlink:href") is not there image.getAttributeNS(xlinkNS, "href") == "http://whatever"; Yet another bug in ASV3? I wonder then what's wrong then with the original script. In my experience, checking that no parameter is undefined has solved a lot of problems. Kari -----Original Message----- From: Vincent Hardy [mailto:[EMAIL PROTECTED]] Sent: 10 July 2003 08:29 To: Batik Users Subject: Re: Loading images in ECMA scripts Actually, the second parameter on setAttributeNS takes a qualified name, so "xlink:href" is correct for the second attribute. There are examples using this syntax in the CVS repository (e.g., samples/tests/spec/scripting/use.svg). Vincent. Kari Hoijarvi wrote:Try image.setAttributeNS(xlinkNS, "href", url); without the "xlink:" in the attribute name. The namespace is identified by the namespace URI only. Kari -----Original Message----- From: Jens Heidrich [mailto:[EMAIL PROTECTED]] Sent: 10 July 2003 04:05 To: [EMAIL PROTECTED] Subject: Loading images in ECMA scripts Hello, we are using SVG in order to display charts, that use _javascript_ to support some simple interaction. We discovered a strange behavior when trying to change the "href" attribute of an image by an ECMA script: function load_image(url) { image = document.getElementById("image"); image.setAttributeNS(xlinkNS, "xlink:href", url); } Our aim was to change the image by clicking on a certain SVG element. According to the squiggle DOM Viewer the DOM is adapted accordingly by the script (that is, it includes an attribute "xlink:href" and the corresponding, transmitted URL), but the displayed image is still the same (and shows the image of the old URL). Other attribute changes (like size or position) seem to work as expected. We discovered this while using Batik 1.5 beta4b and beta5. We are running Batik under Windows 2000, JDK 1.4.1_01. Any help will be appreciated. Regards, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]