hi, instead of using this image.setAttributeNS(null, "xlink:href","resources/l7726col.gif"); see below.
quote from earlier mailing list message, "Finally, for attributes which belong to a specific namespace, like the the href attribute on the <image> element, you have to use the setAttributeNS method with the XLink namespace. For example, assuming img references an <image> DOM Element, you can modify the href as follows: img.setAttributeNS(xlinkNS, "xlink:href", "myImage.jpg") where xlinkNS is equal to "http://www.w3.org/1999/xlink" " Regards Tonny Kohar http://www.kiyut.com On Tue, 2003-10-14 at 23:58, Gold Martin wrote: > hello, > > I have written an Interactor to load raster images into the canvas. > When I click into the SVG-Canvas to load the raster image I get the > following error message: > The attribute 'xlink:href' of the element <image> is required > > > The header of my SVG-file looks like this: > <?xml version='1.0' standalone='no'?> > <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20001102//EN' > 'http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd'> > <svg contentScriptType="text/ecmascript" width="700" > xmlns:xlink="http://www.w3.org/1999/xlink" zoomAndPan="magnify" > contentStyleType="text/css" viewBox="4280000 -5620000 350000 400000" > height="700" preserveAspectRatio="xMidYMid meet" > xmlns="http://www.w3.org/2000/svg" version="1.0"> > ... > > > The code in the update queue of my interactor to show the raster image looks > like that: > public void mousePressed(MouseEvent e) { > final JSVGCanvas svgCanvas = (JSVGCanvas) e.getSource(); > > beendet = true; > if ((e.getModifiers() & java.awt.event.InputEvent.BUTTON1_MASK) != > 0) > { > try { > > svgCanvas.getUpdateManager().getUpdateRunnableQueue().invokeAndWait( > new Runnable() { > public void run() { > > svgCanvas.setRenderingTransform(svgCanvas.getRenderingTransform()); > > final Document document = svgCanvas.getSVGDocument(); > final Element svgRoot = document.getDocumentElement(); > final String svgNS = > SVGDOMImplementation.SVG_NAMESPACE_URI; > > Element gruppe = document.createElementNS(svgNS, "g"); > gruppe.setAttributeNS(null, "id", svgCanvas.RASTER_ID); > gruppe.setAttributeNS(null, "transform", new String > ("translate(4350366.25,-5365852.82)")); > gruppe.setAttributeNS(null, "visibility", "visible"); > svgRoot.appendChild(gruppe); > Element image = document.createElementNS(svgNS, "image"); > image.setAttributeNS(null, "xlink:href", > "resources/l7726col.gif"); > image.setAttributeNS(null, "x", new String ("0")); > image.setAttributeNS(null, "y", new String ("0")); > image.setAttributeNS(null, "width", "28117.8"); > image.setAttributeNS(null, "height","26035.0"); > gruppe.appendChild(image); > } > }); > } catch (Exception ex) { > ex.printStackTrace(); > } > } > } > > > You can see the xlink namespace in my document is declared. > So why do I get this error message ? > What I'm doing wrong ? > > Best regards and thanks for your help, > Martin > > > --------------------------------------------------------------------- > 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]