Excellent stuff. All working now. 

This has raised another issue, potentially a bug, but I'll raise it in a
separate post.

Thanks for all the help,
Dylan

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: 30 May 2006 12:07
To: [email protected]
Cc: [email protected]
Subject: RE: Export to JPG error

Hi Dylan,

"Dylan Browne" <[EMAIL PROTECTED]> wrote on 05/30/2006 06:07:35 
AM:

> Can I confirm what the correct namespaces to use are:

> impl.createDocument(SVGDOMImplementation.SVG_NAMESPACE_URI, "svg", 
null);
> createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI,"rect");

   These are good.

> element.setAttributeNS(SVGDOMImplementation.SVG_NAMESPACE_URI,"stroke", 
"red");

   This is wrong, all SVG attributes are in the 'null' namespace:

       element.setAttributeNS(null, "stroke", "red");

> This all seems to work fine.

    This is surprising Batik should ignore 'stroke' in the SVG 
namespace...

> With my own defined shapes I use the following:
> 
>             Element defs = doc.createElementNS(SVGDOMImplementation.
> SVG_NAMESPACE_URI, SVG12Constants.SVG_DEFS_TAG);
>             Element path_star_filled = doc.
> createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, 
SVG12Constants.SVG_PATH_TAG);

     The above are fine, but all the setAttributeNS calls should be null:

            path_star_filled.setAttributeNS(null, "id", STAR_FILLED);
            path_star_filled.setAttributeNS(null,"stroke-width", "0.3");
            path_star_filled.setAttributeNS(null,"stroke", "black");
            path_star_filled.setAttributeNS(null,"d", "M0,0.9 [...], z");
>             defs.appendChild(path_star_filled);

> And when I make a call to use one of my defined elements I use the 
following:
> 
>             Element plotCh = doc.createElementNS(SVGDOMImplementation.
> SVG_NAMESPACE_URI,SVG12Constants.SVG_USE_TAG);

    This is fine.

>     plotCh.setAttributeNS
>         (SVGDOMImplementation.SVG_NAMESPACE_URI,
>          "xlink:href", "#" + type);

   This needs to set the 'href' attribute in the
XLINK namespace (it's an xlink attribute).

import org.apache.batik.util.XMLConstants;

    plotCh.setAttributeNS
        (XMLConstants.XLINK_NAMESPACE_URI,
         "xlink:href", "#" + type);
 
>             plotCh.setAttributeNS(SVGDOMImplementation.
> SVG_NAMESPACE_URI,"width", new Double(w).toString() + "%");

    One again should be in 'null' namespace (SVG attribute).

> Am I using the wrong name space for my defined elements? 
> Im not sure if its in the definition, or the calling of 
> my definition, or both?

   Your element stuff looks fine, but your attributes are
problematic.

> 

---------------------------------------------------------------------
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]

Reply via email to