forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Odlind" <Steve.Odl...@TouchClarity.com>
Subject RE: How do I add a custom fo.xsl
Date Fri, 19 Jan 2007 14:13:05 GMT
Hi Thorsten,

>>Please try exchanging cocoon:/{1}{2}.xml with your location and I
>>suspect it will work fine.

I wasn't sure what should replace "cocoon:/{1}{2}.xml". I tried the
following:

Copied the block in main\webapp\sitemap.xmap you referred to in your
previous mail and changed it to the following.

<!-- generate .fo from .xml for the special case  -->
<map:match pattern="**aNewFile.fo">
...
 <map:aggregate element="site">
  <map:part src="cocoon:/skinconf.xml"/>
  <map:part src="{project:content.xdocs}{1}aNewFile.xml"/>
 </map:aggregate>
....

This did not work. Executing the "forrest" command still gives the same
error message ("BROKEN: org.apache.fop.apps.FOPException: No flow in
page-sequence "). Navigating to http://localhost:8888/aNewFile.fo fails
with the error message "null".

Hopefully, I have just made a simple mistake.

Thanks again,

Steve


-----Original Message-----
From: Thorsten Scherler
[mailto:thorsten.scherler.ext@juntadeandalucia.es] 
Sent: 18 January 2007 11:17
To: user@forrest.apache.org
Subject: Re: How do I add a custom fo.xsl

On Thu, 2007-01-18 at 10:32 +0000, Steve Odlind wrote:
> Hi Thorsten,
> 
> >>Makes me think, looking at the common one I find
> >>  <xsl:include href="pdfoutline.xsl"/>
> >>  <xsl:include href="footerinfo.xsl"/>
> >>did you still have this include and it get resolved correctly?
> 
> The include is still there, but not sure if it is resolved correctly.
> How do I check if it is correctly resolved? It points to the correct
> location, anyway.

Are you sure that it is the right location?
<xsl:include href="../../skins/common/xslt/fo/pdfoutline.xsl"/>

{project:resources.stylesheets} being
src/documentation/resources/stylesheets would mean you have  the
following in your project:
src/documentation/skins/common/xslt/fo/pdfoutline.xsl

is this the case?

To test whether it is the include please try the following. Copy both
includes in the dir where you have the main xsl and and include like:
<xsl:include href="pdfoutline.xsl"/>

If this makes a difference then it is a location problem and you just
fixed it. 

I am not sure whether that is the cause since I would expect the
transformer to throw an exception if he could not resolve the include.

...but wait I think I found the problem.

> 
> >>The error is not saying much. I need to see the fo and the xsl to
> better
> >>analyze the problem.
> 
> I have attached the .fo and XSL files. 

Cheers that helped a lot:

<xsl:variable name="text-align" 
                select="string(//skinconfig/pdf/page/@text-align)"/> 

If you have the sitemap match like you described in your original mail
then you do not add //skinconfig to the stream.

You would need to aggregate the skinconf to your stream.

See forrest core sitemap.xmap
...
<!-- generate .fo from .xml  -->
      <map:match type="regexp" pattern="^(.*?)([^/]*).fo$">
...
 <map:aggregate element="site">
  <map:part src="cocoon:/skinconf.xml"/>
  <map:part src="cocoon:/{1}{2}.xml"/>
 </map:aggregate>
....

Please try exchanging cocoon:/{1}{2}.xml with your location and I
suspect it will work fine.

HTH

P.S. You are welcome, thanks for your patience. 

salu2


Mime
View raw message