Hi all,

this is my first post to this mailing list and I’m new to Batik and SVG ☺

My situation is as follows: I got an existing intranet application that uses 
SVG for a complex graph/workfloweditor. Currently this is running fine in IE 6+ 
IE 8 using the Adobe SVG Viewer Plugin 3.0. As support for this plugin has 
ended quite some time ago, my task is to find a suitable replacement and I 
stumpled across Batik which I find to be very powerful indeed.

However, I got 2 main problems in getting my existing SVGs run in an Applet 
with JSVGCanvas:

1) The Adobe Plugin is currently embedded into an HTML page via the embed-tag. 
This enables all scripts in the SVGs to access all Html-Elements/Javascripts  
from the OUTER HTML page and vice versa. That means I can define a Javascript 
object in a script block on the HTML and use it inside the Javascript of the 
SVG out of the box. Or for example I can get hold of a DIV-Element from the 
outer HTML page by calling something like

parent.document.getElementById(<divId>);

from within javscript inside SVG.

No discussion on whether this is a good design or concept – fact is, that the 
Javascript in the existing SVGs heavily relies on Javascript blocks and 
Elements of the surrounding HTML page. My question is: Is there a way to 
achieve the same effect when using an Applet with JSVGCanvas to display the 
SVGs? Probably not.

However, I could surpass this by calling a method from my Applet from inside 
the SVG's Javascript (as I can get hold of Elements of the HTML page from my 
Applet). The question is: How to access The JSVGCanvas or the Applet object 
from javascript within SVG? Is there a way, maybe via the Rhino engine?

2) A related problem is the current communication. Within the Adobe plugin, I 
can access the browsers XmlHttpRequest object and use it for ajax-like 
communication from within the SVG. This doesn't work within the Applet with 
JSVGCanvas. Isn't there something like a lightweight XmlHttpRequest object 
available in Batik? If not, would it be possible to call some Java code from 
within the SVGs Javascript to build some similar communication and how does 
this work? Would security settings deny this (can't use signed Applets) if I 
only would connect to the same server/codedbase? Ajax-like communication within 
the svg is awesome, it makes the graph/workfloweditor quite fast with the Adobe 
Plugin - this would be a point Batik could really benefit from when it comes to 
developer and customer acceptance!

Many thanks in advance for any helping comments on these problems.

Greetings,
Roland

Reply via email to