Jamie wrote:
AFAIO the correct syntax is: text2.getFirstChild(). This is the function you
should use in Adobe; from their CurrentSupport.pdf:

The correct syntax according to DOM/SVG is 'text2.firstChild' anything else is not compliant.


"The script engine interface technology available on Netscape for the Macintosh does not support writable attributes on interfaces. To work around this limitation, Adobe SVG Viewer supports additional "get/set" methods for each DOM interface attribute. For cross-browser script compatibility you should always use these methods instead of the writable attributes listed below. For example, to read from and write to the attribute nodeValue on the Node interface, use the methods getNodeValue and setNodeValue, instead."

Does this same syntax work in Batik?

Yes this will work in Batik, but this is _not_ compliant with the DOM/SVG ecma binding. Also I would expect that the above referenced problem is easily solved by using the Adobe script engine rather than the browser native script engine.

    Admittedly this is also in some sense not compliant with the SVG spec
but one attribute in the Adobe namespace is much less of an issue than
dozens of calls (to be honest I can't think of any way this violates
the DOM/SVG specification - well I suspose they should have used the
Adobe engine and allowed the option of switching to the less compliant
browser engine).

BTW you can have your content use the Adobe interpreter with the following
on the outermost SVG element:

     xmlns:a3="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/";
     a3:scriptImplementation="Adobe"

    But at this point we are really off topic and probably better discusses
in the yahoo SVG group.

----- Original Message -----
From: "Denis Bohm" <[EMAIL PROTECTED]>
To: "Batik Users" <[EMAIL PROTECTED]>
Sent: Wednesday, August 27, 2003 12:19 AM
Subject: Re: interperter exception



If I change "text2.firstChild()" to "text2.firstChild" then it works.  I
assume the second form is the correct one?  And that Adobe is just more
forgiving...

----- Original Message -----
From: "Denis Bohm" <[EMAIL PROTECTED]>
To: "Batik Users" <[EMAIL PROTECTED]>
Sent: Tuesday, August 26, 2003 4:06 PM
Subject: interperter exception



I'm trying to do some scripting within Batik and am getting an exception
when trying to call a function on an element.  Anyone have any idea why?
(The same SVG works in the Adobe plugin.)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"; [
]>
<svg width="600" height="400" onload="setText2('foo')">
   <script type="text/ecmascript">
function setText2(text) {
   var text2 = document.getElementById("text2");
   var oldNode = text2.firstChild();
}
   </script>
   <text id="text2" x="60" y="40" text-anchor="end">???</text><text

x="70"


y="40">b/sec</text>
</svg>


TypeError: [EMAIL PROTECTED] is not a function. (Inline <script>

file:/C:/home/denis/sandbox/networkphysics/prototype/sources/com/networkphys
ics/ui/map/demo.svg:-1;

line 10)

at


org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:597)


at


org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:557)


at

org.mozilla.javascript.NativeGlobal.typeError1(NativeGlobal.java:567)


at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1182)

at org.mozilla.javascript.gen.c2.call(Inline <script>

file:/C:/home/denis/sandbox/networkphysics/prototype/sources/com/networkphys
ics/ui/map/demo.svg:-1:10)

at


org.mozilla.javascript.optimizer.OptRuntime.callSimple(OptRuntime.java:275)

at org.mozilla.javascript.gen.c4.call(Event attribute


file:/C:/home/denis/sandbox/networkphysics/prototype/sources/com/networkphys
ics/ui/map/demo.svg:-1

onload:1)

at org.mozilla.javascript.gen.c4.exec(Event attribute


file:/C:/home/denis/sandbox/networkphysics/prototype/sources/com/networkphys
ics/ui/map/demo.svg:-1

onload)

at org.mozilla.javascript.Context.evaluateReader(Context.java:820)

at


org.apache.batik.script.rhino.RhinoInterpreter.evaluate(RhinoInterpreter.jav

a:257)

at


org.apache.batik.bridge.BaseScriptingEnvironment$1.handleEvent(BaseScripting

Environment.java:552)

at


org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.jav

a:268)

at


org.apache.batik.dom.events.EventSupport.dispatchEvent(EventSupport.java:231

)

at

org.apache.batik.dom.AbstractNode.dispatchEvent(AbstractNode.java:455)


at


org.apache.batik.bridge.BaseScriptingEnvironment.dispatchSVGLoad(BaseScripti

ngEnvironment.java:560)

at


org.apache.batik.bridge.BaseScriptingEnvironment.dispatchSVGLoadEvent(BaseSc

riptingEnvironment.java:492)

at


org.apache.batik.bridge.UpdateManager.dispatchSVGLoadEvent(UpdateManager.jav

a:185)

at


org.apache.batik.swing.svg.SVGLoadEventDispatcher.run(SVGLoadEventDispatcher

.java:140)





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



Reply via email to