Invoke ecmascript method from java

VEYSSIERE Nicolas <[email protected]>
Newsgroups gmane.text.xml.batik.user
Message-ID <26017_1305897413_4DD669C5_26017_6603_1_ECB646CBB62FD044927FDEDF0252D3E701E2B46527F2@THSONEA01CMS03P.one.grp>
Hello,

I am unable to call a method from java, here is my test :

SVG :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 70 15" id="svg">
                <script type="application/ecmascript">
                               function lTick()
                               {
                                               .....
                               }
                </script>
                <g>
                               ....
                </g>
</svg>

JAVA :

public class JHorlogeSVGCanvas extends JSVGCanvas
{
                private RhinoInterpreter ecmaInterpreter;

                public JHorlogeSVGCanvas()
                {
                               super();

                               initCanvas();
                }

                private void initCanvas()
                {
                               setURI(getClass().getResource("horloge.svg").toString());
                               setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
                               setBackground(Color.BLACK);
                               setDoubleBuffered(true);
                               setDoubleBufferedRendering(true);
                               setProgressivePaint(true);
                               setRecenterOnResize(true);
                               setOpaque(true);
                               setAnimationLimitingFPS(2);

                               addGVTTreeBuilderListener(new GVTTreeBuilderAdapter()
                               {
                                               @Override
                                               public void gvtBuildStarted(GVTTreeBuilderEvent e)
                                               {
                                               }

                                               @Override
                                               public void gvtBuildCompleted(GVTTreeBuilderEvent e)
                                               {
                                                               ecmaInterpreter = (RhinoInterpreter)bridgeContext.getInterpreter("application/ecmascript");

                                                               try
                                                               {
                                                                              ecmaInterpreter.evaluate("alert(2)");                 // OK
                                                                               ecmaInterpreter.evaluate("lTick ()");                    // error
                                                               }
                                                               catch(InterpreterException e)
                                                               {
                                                                               e.printStackTrace();
                                                               }
                                               }
                               });
                }
}

Here is the error :

org.apache.batik.script.InterpreterException: ReferenceError: " lTick " n'est pas défini (<SVG>#1)

I am using jdk 1.6u24 on windows, with Batik 1.7.


Can someone tell my where is my problem ?

Regards.

--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.