Hi Yasmin,
Your test code worked fine for me with one change, you had:
Element e =
doc.createElementNS(SVGNS,"spot");
This isn't right you want:
Element e =
doc.createElementNS(SVGNS,"circle");
Which is odd because an earlier e-mail had 'circle'
I tested by opening 'samples/mapSpain.svg'. I think two of your circles
still didn't show because mapSpain isn't quite large enough but the ones
that should show did.
[EMAIL PROTECTED] wrote on 03/12/2006 02:07:00 PM:
> I've just attached the java file only!
>
> Tx
> yasmin
>
>
>
>
>
>
>
> > Hi Yasmin,
> >
> > [EMAIL PROTECTED] wrote on 03/12/2006 10:45:17 AM:
> >
> >> Now when I run my code I get the following error:
> >>
> >> org.w3c.dom.DOMException: The current document is unable to create an
> >> element of the requested type (namespace: http://www.w3.org/2000/svg,
> >> name: spot).
> >
> > Batik's DOM implementation prevents you from creating elements in
the
> > SVG Namespace that aren't part of the SVG specification.
> >
> > As far as path forward, I would suggest taking the code to create
the
> > circles and put it in a small example that just puts of the canvas
> > (with any old document) and a button that adds a list of preset
circles.
> >
> > Then with all the code together I can either spot the error or
> > run it and debug why it isn't working for you.
> >
> >>
> >> at org.apache.batik.dom.AbstractNode.createDOMException(Unknown
> > Source)
> >>
> >> at
> > org.apache.batik.dom.svg.SVGDOMImplementation.createElementNS(Unknown
> >> Source)
> >>
> >> at org.apache.batik.dom.svg.SVGOMDocument.createElementNS(Unknown
> > Source)
> >>
> >> at mypackage22.KeyAccidentClient$4.run(KeyAccidentClient.java:349)
> >>
> >> at org.apache.batik.util.RunnableQueue.run(Unknown Source)
> >>
> >> at java.lang.Thread.run(Thread.java:534)
> >>
> >> Pls advice.
> >>
> >> Thx
> >>
> >> yasmin
> >>
> >>
> >>
> >>
> >> > Hi Yasmin,
> >> >
> >> > [EMAIL PROTECTED] wrote on 03/12/2006 06:04:36 AM:
> >> >
> >> >> When I tried putting a line to test if the code is running, the
code
> >> > does
> >> >> run, but apparently it does not create any elements, here's what I
> >> > tested:
> >> >>
> >> >> System.out.println("This is just testing :" +
> >> > g.getAttribute("circleGroup"));
> >> >>
> >> >> and nothing prints for g.getAttribute ...
> >> >
> >> > This is expected, I think you want to use:
> >> > g.getAttributeNS(null, "id");
> >> >
> >> > This should result in the string 'circleGroup'.
> >> >
> >> >> > [EMAIL PROTECTED] wrote on 03/11/2006 05:44:31 PM:
> >> >> >
> >> >> >> I did initially try to add the red circles to the svg document
> >> >> >> programatically, infact I think you emailed me a snippet of
your
> > code
> >> >> >> but it doesn't work, the code compiles but does not display the
> >> >> >> red-circles, I tried to repaint my canvas, that don't work...
> > here's
> >> >> >> the code I'm using maybe you might be able to spot where I'm
> > making
> >> >> >> the error...
> >> >> >
> >> >> > The code looks pretty good. You aren't that far from a
> >> >> > standalone example, this would help me help you...
> >> >> >
> >> >> >> //I added this in my constructor
> >> >> >> canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
> >> >> >
> >> >> > This must be done _before_ you set the document on the
canvas.
> >> >> >
> >> >> >> //The following code I added in my ActionListener triggred by a
> >> > button
> >> >> >
> >> >> > Are you sure this code runs? Some println's might help make
> > sure
> >> >> > that your spots list isn't empty for some reason, etc. You
don't
> >> >> > need to 'repaint' the canvas.
> >> >> >
> >> >> >>
canvas.getUpdateManager().getUpdateRunnableQueue().invokeLater(new
> >> >> >> Runnable() {
> >> >> >>
> >> >> >> public void run()
> >> >> >> {
> >> >> >> SVGDocument doc =
canvas.getSVGDocument();
> >> >> >> String SVGNS =
> > "http://www.w3.org/2000/svg";
> >> >> >> Iterator i = spots.iterator();
> >> >> >> Element g =
> >> > doc.getElementById("circleGroup");
> >> >> >> if (g == null)
> >> >> >> {
> >> >> >> g = doc.createElementNS(SVGNS,"g");
> >> >> >> g.setAttributeNS(null, "id",
> >> > "circleGroup");
> >> >> >> doc.getRootElement().appendChild(g);
> >> >> >> }
> >> >> >>
> >> >> >>
> >> >> >> while (i.hasNext())
> >> >> >> {
> >> >> >> Point2D pt2d = (Point2D) i.next();
> >> >> >> Element e =
> >> >> > doc.createElementNS(SVGNS,"circle");
> >> >> >> e.setAttributeNS(null,"cx",""+pt2d.getX());
> >> >> >> e.setAttributeNS(null,"cy",""+pt2d.getY());
> >> >> >> e.setAttributeNS(null,"r","8");
> >> >> >> e.setAttributeNS(null,"fill","Red");
> >> >> >> g.appendChild(e);
> >> >> >> }
> >> >> >> }
> >> >> >> });
> >> >> >>
> >> >> >> canvas.repaint();
> >> >> >
> >> >> >
> >> >> >
> > ---------------------------------------------------------------------
> >> >> > 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]
> >
> >
> >
> [attachment "TestProgram.java" deleted by Thomas E. DeWeese/449433/EKC]
> ---------------------------------------------------------------------
> 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]