You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by Justin Thomas <ju...@brynnandjustin.com> on 2010/03/24 22:09:19 UTC

SVG Versions and DOCTYPE

Just joined the forum; apologies if this question has been asked (I couldn't
find anything in a Google search indicating it had been).

I've noticed that Batik claims to support SVG 1.1.  However, the
SVG_SYSTEM_ID and SVG_VERSION constants conform to SVG 1.0 and Batik
generates the DTD and version parameters in the outputted document according
to those values.  Is that the correct behavior?  I'm using Batik 1.7 within
a Java web application to generate SVG images.

Also, is there any way to insert ProcessingInstructions in a created
document to instruct a browser to use a CSS xml-stylesheet?  I've tried
every permutation I can think of to insert the values, and Batik seems to
just ignore my efforts.

Thanks!
Justin

Re: SVG Versions and DOCTYPE

Posted by Justin Thomas <ju...@brynnandjustin.com>.
Thanks Thomas; I'll take a look at that.  I ended up using the Batik  
generated SVG as an intermediate file that I then reprocessed using  
JDOM to modify the SVG to suit my needs (I also needed to define some  
custom attributes to specific SVG entities prior to the document - I  
use some custom tags to embed data for handling by JavaScript and the  
W3C validator complains if I don't properly define them ahead of  
time.  :) ).

Sent from my iPhone
On Apr 5, 2010, at 3:51 AM, thomas.deweese@kodak.com wrote:

> Hi Justin,
>
> Justin Thomas <ju...@brynnandjustin.com> wrote on 03/24/2010  
> 05:09:19 PM:
>
> > I've noticed that Batik claims to support SVG 1.1.  However, the
> > SVG_SYSTEM_ID and SVG_VERSION constants conform to SVG 1.0 and Batik
> > generates the DTD and version parameters in the outputted document
> > according to those values.  Is that the correct behavior?  I'm using
> > Batik 1.7 within a Java web application to generate SVG images.
>
>     For the purposes of this output it's 1.0 compliant (really SVG 1.1
> added modularization and clarifications) so I think it's correct to  
> write
> the earliest version of SVG to which the document conforms, don't  
> you think?
>
> > Also, is there any way to insert ProcessingInstructions in a created
> > document to instruct a browser to use a CSS xml-stylesheet?  I've
> > tried every permutation I can think of to insert the values, and
> > Batik seems to just ignore my efforts.
>
>    You don't say but I assume you are using the SVGGraphics2D class to
> create the SVG?  If so you can't create Processing instructions in  
> that
> class, but if you retrieve the generated DOM from the SVGGraphics2D
> (using getRoot) then you can add ProcessingInstrutions your self and  
> use
> the batik.dom.util.DOMUtilities class to output the updated document
> (that might also let you change the SYSTEM_ID as well).

Re: SVG Versions and DOCTYPE

Posted by th...@kodak.com.
Hi Justin,

Justin Thomas <ju...@brynnandjustin.com> wrote on 03/24/2010 05:09:19 PM:

> I've noticed that Batik claims to support SVG 1.1.  However, the 
> SVG_SYSTEM_ID and SVG_VERSION constants conform to SVG 1.0 and Batik
> generates the DTD and version parameters in the outputted document 
> according to those values.  Is that the correct behavior?  I'm using
> Batik 1.7 within a Java web application to generate SVG images.

    For the purposes of this output it's 1.0 compliant (really SVG 1.1
added modularization and clarifications) so I think it's correct to write
the earliest version of SVG to which the document conforms, don't you 
think? 

> Also, is there any way to insert ProcessingInstructions in a created
> document to instruct a browser to use a CSS xml-stylesheet?  I've 
> tried every permutation I can think of to insert the values, and 
> Batik seems to just ignore my efforts.

   You don't say but I assume you are using the SVGGraphics2D class to
create the SVG?  If so you can't create Processing instructions in that
class, but if you retrieve the generated DOM from the SVGGraphics2D 
(using getRoot) then you can add ProcessingInstrutions your self and use
the batik.dom.util.DOMUtilities class to output the updated document
(that might also let you change the SYSTEM_ID as well).