You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by relluf <na...@relluf.nl> on 2009/09/26 07:22:51 UTC

Re: EmptyStackException when processing embedded svg flowRoot element

Andrew,

Which version of Apache FOP are you using? Could you post a FO document
where you have svg:flowRoot working?  

Using this document;

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
        <fo:simple-page-master margin-bottom="10mm" margin-left="10mm"
            margin-right="10mm" margin-top="10mm"
            master-name="A4-portrait" page-height="297mm"
page-width="210mm">
            <fo:region-body margin-bottom="10mm" margin-top="10mm"/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence font-family="times" font-size="10pt"
master-reference="A4-portrait">
        <fo:flow flow-name="xsl-region-body">
            <fo:block>
                <fo:instream-foreign-object>
                    <svg:svg xmlns:svg="http://www.w3.org/2000/svg"
version="1.2" height="150mm" width="100mm">
                        <svg:flowRoot font-size="16pt">
                            <svg:flowRegion>
                                <svg:path
                                    d="M100,50L50,300L250,300L300,50z"
visibility="hidden"/>
                            </svg:flowRegion>
                            <svg:flowDiv>
                                <svg:flowPara>Tomorrow, and tomorrow, and
tomorrow; creeps in this petty pace from day to day, until the last syllable
of recorded time. And all our yesterdays have lighted fools the way to dusty
death.</svg:flowPara>
                            </svg:flowDiv>
                        </svg:flowRoot>
                    </svg:svg>
                </fo:instream-foreign-object>
            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>


I keep on getting "The current document is unable to create an element of
the requested type (namespace: http://www.w3.org/2000/svg, name:
svg:flowRoot)." message.  After reading
http://www.mail-archive.com/fop-users@xmlgraphics.apache.org/msg11742.html,
I created a custom build of fop-0.95 because in my understanding the current
release does not support/implement SVG 1.2.

I am very suprised to read about your problem, since it seems that I can not
even get at that point.

Thanks,
Ralph


Andrew Pietsch wrote:
> 
> Hi there,
> 
> I'm attempting to embed some SVG containing some flowing text and am
> getting
> a weird EmptyStackException.  Other svg code (rect, text etc) are working
> fine.
> 
> FOP: 0.95
> java version "1.5.0_19"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-306)
> Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode, sharing)
> 
> <fo:instream-foreign-object>
> <svg:svg width="165mm" height="20mm" version="1.2">
>    <svg:flowRoot>
>       <svg:flowRegion>
>          <svg:rect x="0" y="0" width="50" height="20"/>
>       </svg:flowRegion>
>       <svg:flowDiv>
>          <svg:flowSpan>Blah blah blah blah</svg:flowSpan>
>       </svg:flowDiv>
>    </svg:flowRoot>
> </svg:svg>
> </fo:instream-foreign-object>
> 
> Exception:
> Aug 18, 2009 2:32:07 PM org.apache.fop.fo.FOTreeBuilder fatalError
> SEVERE: javax.xml.transform.TransformerException:
> java.util.EmptyStackException
> Aug 18, 2009 2:32:07 PM org.apache.fop.cli.Main startFOP
> SEVERE: Exception
> javax.xml.transform.TransformerException: java.util.EmptyStackException
>         at
> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217)
>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>         at org.apache.fop.cli.Main.main(Main.java:197)
> 
> ---------
> 
> ; SystemID:
> file:///Users/andrew/ieca/homestay/gwt/src/main/resources/pdf/client-report-fo-dev.xsl
> javax.xml.transform.TransformerException: java.util.EmptyStackException
>         at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2405)
>         at
> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270)
>         at
> org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)
>         at
> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>         at org.apache.fop.cli.Main.main(Main.java:197)
> Caused by: java.util.EmptyStackException
>         at java.util.Stack.peek(Stack.java:79)
>         at java.util.Stack.pop(Stack.java:61)
>         at org.apache.xml.utils.DOMBuilder.endElement(DOMBuilder.java:428)
>         at
> org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
>         at
> org.apache.fop.util.DelegatingContentHandler.endElement(DelegatingContentHandler.java:189)
>         at
> org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:169)
>         at
> org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:263)
>         at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1401)
>         at
> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
>         at
> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
>         at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
>         ... 9 more
> 
> 
> Any ideas?
> 
> Thanks
> Andrew
> 
> 

-- 
View this message in context: http://www.nabble.com/EmptyStackException-when-processing-embedded-svg-flowRoot-element-tp25018374p25622437.html
Sent from the FOP - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: EmptyStackException when processing embedded svg flowRoot element

Posted by relluf <na...@relluf.nl>.
First off, I solved my issue by using the lastest trunk of fop-0.95.


cbowditch wrote:
> 
> SVG is processed by Batik, so this is really a Batik problem not a FOP
> one. 
> 

SVG is processed by Batik, true, but the issue is indeed with FOP.  In
current release FOP is not aware of SVG 1.2.  The latest trunk is.


cbowditch wrote:
> 
> Batik doesn't properly support svg:flowRoot, which I know Inkscape uses
> when generating/editing SVG there.
> 

In my experience batik-1.7 does render svg:flowRoot "correctly".  But then
again, what is correctly, as the standard is still in draft.  To verify,
download the lastest binary release of batik-1.7 and open the following
document in batik-squiggle;

<svg:svg xmlns:svg="http://www.w3.org/2000/svg" version="1.2" height="150"
width="100">
	 <svg:flowRoot>
	    <svg:flowRegion>
	        <svg:path d="M100,50L50,300L250,300L300,50z" visibility="hidden"/>
	    </svg:flowRegion>
	    <svg:flowDiv>
	        <svg:flowPara>Tomorrow, and tomorrow, and tomorrow; creeps in this
petty pace from day to day, until the last syllable of recorded time. And
all our yesterdays have lighted fools the way to dusty death.</svg:flowPara>
	    </svg:flowDiv>
	</svg:flowRoot>
</svg:svg>

The latest release of InkScape on the other hand, does fail.


cbowditch wrote:
> 
> You can avoid the error by changing the version attribute on the SVG
> element from 1.0 to 1.2 but Batik still doesn't draw the flowRoot elements
> correctly.
> 

The error is not avoided by that until I started using the trunk of
fop-0.95.


cbowditch wrote:
> 
> I suggest you follow up this issue on batik-users@xmlgraphics.apache.org.
> 

Thanks for the suggestion, but there is no need to.  I got things working as
I want now.


Ralph
-- 
View this message in context: http://www.nabble.com/EmptyStackException-when-processing-embedded-svg-flowRoot-element-tp25018374p25666937.html
Sent from the FOP - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: EmptyStackException when processing embedded svg flowRoot element

Posted by Chris Bowditch <bo...@hotmail.com>.
relluf wrote:
> Andrew,
> 
> Which version of Apache FOP are you using? Could you post a FO document
> where you have svg:flowRoot working?  

SVG is processed by Batik, so this is really a Batik problem not a FOP 
one. Batik doesn't properly support svg:flowRoot, which I know Inkscape 
uses when generating/editing SVG there. You can avoid the error by 
changing the version attribute on the SVG element from 1.0 to 1.2 but 
Batik still doesn't draw the flowRoot elements correctly.

I suggest you follow up this issue on batik-users@xmlgraphics.apache.org.

Thanks,

Chris


> 
> Using this document;
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>     <fo:layout-master-set>
>         <fo:simple-page-master margin-bottom="10mm" margin-left="10mm"
>             margin-right="10mm" margin-top="10mm"
>             master-name="A4-portrait" page-height="297mm"
> page-width="210mm">
>             <fo:region-body margin-bottom="10mm" margin-top="10mm"/>
>         </fo:simple-page-master>
>     </fo:layout-master-set>
>     <fo:page-sequence font-family="times" font-size="10pt"
> master-reference="A4-portrait">
>         <fo:flow flow-name="xsl-region-body">
>             <fo:block>
>                 <fo:instream-foreign-object>
>                     <svg:svg xmlns:svg="http://www.w3.org/2000/svg"
> version="1.2" height="150mm" width="100mm">
>                         <svg:flowRoot font-size="16pt">
>                             <svg:flowRegion>
>                                 <svg:path
>                                     d="M100,50L50,300L250,300L300,50z"
> visibility="hidden"/>
>                             </svg:flowRegion>
>                             <svg:flowDiv>
>                                 <svg:flowPara>Tomorrow, and tomorrow, and
> tomorrow; creeps in this petty pace from day to day, until the last syllable
> of recorded time. And all our yesterdays have lighted fools the way to dusty
> death.</svg:flowPara>
>                             </svg:flowDiv>
>                         </svg:flowRoot>
>                     </svg:svg>
>                 </fo:instream-foreign-object>
>             </fo:block>
>         </fo:flow>
>     </fo:page-sequence>
> </fo:root>
> 
> 
> I keep on getting "The current document is unable to create an element of
> the requested type (namespace: http://www.w3.org/2000/svg, name:
> svg:flowRoot)." message.  After reading
> http://www.mail-archive.com/fop-users@xmlgraphics.apache.org/msg11742.html,
> I created a custom build of fop-0.95 because in my understanding the current
> release does not support/implement SVG 1.2.
> 
> I am very suprised to read about your problem, since it seems that I can not
> even get at that point.
> 
> Thanks,
> Ralph
> 
> 
> Andrew Pietsch wrote:
>> Hi there,
>>
>> I'm attempting to embed some SVG containing some flowing text and am
>> getting
>> a weird EmptyStackException.  Other svg code (rect, text etc) are working
>> fine.
>>
>> FOP: 0.95
>> java version "1.5.0_19"
>> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-306)
>> Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode, sharing)
>>
>> <fo:instream-foreign-object>
>> <svg:svg width="165mm" height="20mm" version="1.2">
>>    <svg:flowRoot>
>>       <svg:flowRegion>
>>          <svg:rect x="0" y="0" width="50" height="20"/>
>>       </svg:flowRegion>
>>       <svg:flowDiv>
>>          <svg:flowSpan>Blah blah blah blah</svg:flowSpan>
>>       </svg:flowDiv>
>>    </svg:flowRoot>
>> </svg:svg>
>> </fo:instream-foreign-object>
>>
>> Exception:
>> Aug 18, 2009 2:32:07 PM org.apache.fop.fo.FOTreeBuilder fatalError
>> SEVERE: javax.xml.transform.TransformerException:
>> java.util.EmptyStackException
>> Aug 18, 2009 2:32:07 PM org.apache.fop.cli.Main startFOP
>> SEVERE: Exception
>> javax.xml.transform.TransformerException: java.util.EmptyStackException
>>         at
>> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217)
>>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
>>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>>         at org.apache.fop.cli.Main.main(Main.java:197)
>>
>> ---------
>>
>> ; SystemID:
>> file:///Users/andrew/ieca/homestay/gwt/src/main/resources/pdf/client-report-fo-dev.xsl
>> javax.xml.transform.TransformerException: java.util.EmptyStackException
>>         at
>> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2405)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)
>>         at
>> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
>>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
>>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>>         at org.apache.fop.cli.Main.main(Main.java:197)
>> Caused by: java.util.EmptyStackException
>>         at java.util.Stack.peek(Stack.java:79)
>>         at java.util.Stack.pop(Stack.java:61)
>>         at org.apache.xml.utils.DOMBuilder.endElement(DOMBuilder.java:428)
>>         at
>> org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
>>         at
>> org.apache.fop.util.DelegatingContentHandler.endElement(DelegatingContentHandler.java:189)
>>         at
>> org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:169)
>>         at
>> org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:263)
>>         at
>> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1401)
>>         at
>> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
>>         at
>> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
>>         at
>> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
>>         ... 9 more
>>
>>
>> Any ideas?
>>
>> Thanks
>> Andrew
>>
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org