Hi! I've copied this svg from a book, and it works ok with Opera:
<?xml-stylesheet type="text/css" href="CSSButton3.css"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="buttonBase" width="120" height="30" rx="5" ry="5"/>
<use id="buttonNormal" xlink:href="#buttonBase"
class="CSSButtonNormal"/>
<use id="buttonHighlight" xlink:href="#buttonBase"
class="CSSButtonHighlight"/>
<use id="buttonDepressed" xlink:href="#buttonBase"
class="CSSButtonDepressed">
<!--
<animate attributeName="stroke-dashoffset" attributeType="CSS"
from="100%" to="0%" dur="5s" repeatCount="indefinite" />
-->
</use>
</defs>
<g>
<use xlink:href="#buttonNormal" x="100" y="100" id="ButtonNormal">
<set attributeName="xlink:href" attributeType="XML"
to="#buttonHighlight" begin="mouseover;mouseup" end="mouseout"
/>
<set attributeName="xlink:href" attributeType="XML"
to="#buttonDepressed" begin="mousedown" end="mouseup;mouseout"
/>
</use>
</g>
</svg>
The corresponding stylesheet is
.CSSButtonNormal {fill:gray;stroke:black;stroke-width:2;}
.CSSButtonHighlight {fill:white;stroke:black;stroke-width:2;}
.CSSButtonDepressed {fill:black;stroke:black;stroke-width:2;stroke-dasharray:5
5;}
This corresponds to a grey buttom which gets white when the cursor is over and
black when clicked. In squiggle it starts grey and after becoming white once it
remains white and after some time squiggle hangs. I'm using Ubuntu Feisty with
java 6 from sun:
[EMAIL PROTECTED]:~$ /usr/lib/jvm/java-6-sun/bin/java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode)
with Batik 1.7beta1. I get this messages from batik
[EMAIL PROTECTED]:~$ /usr/lib/jvm/java-6-sun/bin/java -jar
/home/bc24us/docs/svg/implementaciones/Batik/batik-1.7/batik-squiggle.jar
Loading document...
Loading document completed in 19 ms
Building document...
Building document completed in 77 ms
Dispatching 'onload'...
Dispatch of 'onload' completed in 17 ms
Rendering document preparation...
Rendering document preparation completed in 2 ms
Rendering document started...
Rendering document completed in 6 ms
Update manager started...
and then it hangs without any exception, except one time, when I got:
Loading document...
Loading document completed in 26 ms
Building document...
Building document completed in 82 ms
Dispatching 'onload'...
Dispatch of 'onload' completed in 17 ms
Rendering document preparation...
Rendering document preparation completed in 2 ms
Rendering document started...
Rendering document completed in 7 ms
Update manager started...
java.lang.OutOfMemoryError: GC overhead limit exceeded
at
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2020)
at
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1996)
at java.util.Calendar.setTimeInMillis(Calendar.java:1104)
at java.util.GregorianCalendar.add(GregorianCalendar.java:971)
at org.apache.batik.anim.timing.TimedElement.fireTimeEvent(Unknown
Source)
at org.apache.batik.anim.timing.TimedElement.selectNewInterval(Unknown
Source)
at org.apache.batik.anim.timing.TimedElement.sampleAt(Unknown Source)
at org.apache.batik.anim.timing.TimedDocumentRoot.seekTo(Unknown Source)
at org.apache.batik.anim.AnimationEngine.tick(Unknown Source)
at org.apache.batik.bridge.SVGAnimationEngine.access$600(Unknown Source)
at
org.apache.batik.bridge.SVGAnimationEngine$AnimationTickRunnable.run(Unknown
Source)
at org.apache.batik.util.RunnableQueue.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Update manager stopped...
Loading document...
Loading document completed in 7 ms
Building document...
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead
limit exceeded
at sun.java2d.SunGraphics2D.getClipBounds(SunGraphics2D.java:1715)
at javax.swing.JComponent.paint(JComponent.java:973)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
at javax.swing.JComponent._paintImmediately(JComponent.java:5052)
at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
at
javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Building document completed in 4752 ms
Dispatching 'onload'...
Dispatch of 'onload' completed in 13 ms
Rendering document preparation...
Rendering document preparation completed in 12 ms
Rendering document started...
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
at
java.awt.image.SinglePixelPackedSampleModel.createDataBuffer(SinglePixelPackedSampleModel.java:220)
at java.awt.image.Raster.createWritableRaster(Raster.java:938)
at
org.apache.batik.gvt.renderer.DynamicRenderer.updateWorkingBuffers(Unknown
Source)
at org.apache.batik.gvt.renderer.DynamicRenderer.repaint(Unknown Source)
at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
at org.apache.batik.swing.gvt.GVTTreeRenderer.run(Unknown Source)
Rendering document failed.
[EMAIL PROTECTED]:~$
For what I understand reading http://xmlgraphics.apache.org/batik/status.html,
this should work, anyway it should not crash. Maybe I'm doing something wrong?
Thanks in advance,
Juan Rodriguez