I get the error (only one region-body...) if I attempt to generate the PDF 
using the XML/XSLT files. 

If I generate and then try to render?the FO file, I also get the "padding must 
be zero" error.

We didn't read the tutorial section?well enough; It also says that padding and 
border-width properties must be zero.
?
In my defense, looks like we should get the same error regardless of which 
technique we used. The original error confused us.?However, with everyone's 
help, it's fixed.

Thanks,


-----Original Message-----
From: Jeremias Maerki <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thu, 10 Jul 2008 3:05 pm
Subject: Re: padding-top property



When I copy/paste your layout-master-set into a hello-world FO file and
run it I don't get that error message. Instead I get the one I was
expecting:
  Border and padding for region "body" must be '0' (See 6.4.13 in XSL 1.0).

padding-* does not apply to fo:region-body. See:
http://www.w3.org/TR/xsl11/#fo_region-body

On 10.07.2008 21:49:05 macsmaker wrote:
> We have found an issue with the padding-top property used in the region-body 
object in FOP 0.94. Bear in mind we are newbies, and, while it appears from the 
W3C website this property can be used with region-body, maybe it can't. Also 
the 
Apache FOP Compliance Page implies full support for this property starting at 
0.94. 
> 
> We have found this using either the command line or deployed in a war file 
(using tomcat).
> 
> If we use the padding-top property in fo:region-body, we get an error. If we 
remove it, the PDF is generated correctly.
> 
> Here is a snippet of the XSLT file (I did not include the XML file):
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
> exclude-result-prefixes="msxsl" xmlns:fo="http://www.w3.org/1999/XSL/Format";>
>     <xsl:strip-space elements="*" />
>     <xsl:variable name="borderWidthStyle">1.3px solid black</xsl:variable>
>     <xsl:variable name="labelFontStyle">bold 11pt helvetica</xsl:variable>
>     <xsl:variable name="bodyFontStyle">11pt helvetica</xsl:variable>
>     <xsl:variable name="headerBackgroundColor">#C0C0C0</xsl:variable>
>     <xsl:template match="WorkOrder">
>         <fo:root>
>             <fo:layout-master-set>
>                 <fo:simple-page-master master-name="all-pages" 
page-width="8.5in" page-height="11in" margin-top=".2in"   
> margin-bottom=".2in" margin-left=".5in"  margin-right=".5in">
>                     <fo:region-body region-name="body" margin-top="0.2in" 
padding-top=".2in"/>
>                     <fo:region-before region-name="header" 
> text-align="center" 
extent="0.3
in" display-align="before" />
>                     <fo:region-after region-name="footer" text-align="center" 
extent="0.5in" display-align="before" />
>                 </fo:simple-page-master>
>             </fo:layout-master-set>
>             <xsl:call-template name="PageOne" />
>             <xsl:apply-templates select="Task" />
>         </fo:root>
>     </xsl:template>
> 
> Here this command line:
> d:\fop-0.94>fop -xsl XSLT_WorkOrderFile.xslt -xml XML_WorkOrderFile.xml -pdf 
wo.pdf -v
> 
> Here is the output:
> "-d -xsl XSLT_WorkOrderFile.xslt -xml XML_WorkOrderFile.xml -pdf wo.pdf -v"
> FOP Version 0.94
> Jul 10, 2008 2:35:26 PM org.apache.fop.cli.Main startFOP
> SEVERE: Exception
> javax.xml.transform.TransformerException: 
> org.apache.fop.fo.ValidationException:
>  Error(Unknown location): For fo:simple-page-master, only one fo:region-body 
may
>  be declared.
>         at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:168)
>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>         at org.apache.fop.cli.Main.main(Main.java:197)
> ---------
> javax.xml.transform.TransformerException: 
> org.apache.fop.fo.ValidationException:
>  Error(Unknown location): For fo:simple-page-master, only one fo:region-body 
may
>  be declared.
>         at 
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResul
> t.java:725)
>         at 
> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(
> ElemApplyTemplates.java:425)
>         at 
> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
> tes.java:216)
>         at 
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Tr
> ansformerImpl.java:2339)
>         at 
> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Tran
> sformerImpl.java:2160)
>         at 
> org.apache.xalan.transformer.TransformerImpl.transformNode(Transforme
> rImpl.java:1213)
>         at org.apache.xalan.transformer.TransformerImpl.transfo
rm(TransformerImp
> l.java:668)
>         at 
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
> l.java:1129)
>         at 
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
> l.java:1107)
>         at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:165)
>         at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
>         at org.apache.fop.cli.Main.startFOP(Main.java:166)
>         at org.apache.fop.cli.Main.main(Main.java:197)
> Caused by: org.apache.fop.fo.ValidationException: Error(Unknown location): 
> For 
f
> o:simple-page-master, only one fo:region-body may be declared.
>         at 
> org.apache.xalan.transformer.ResultTreeHandler.flushElem(ResultTreeHa
> ndler.java:870)
>         at 
> org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTre
> eHandler.java:954)
>         at 
> org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeH
> andler.java:308)
>         at 
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResul
> t.java:716)
>         ... 12 more
> 
> I also ran it generating the FO file to see if there is more than one 
region-body generated. I can find only one. Snippet from the top of the FO file:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
>  <fo:layout-master-set>
>   <fo:simple-page-master margin-right=".5in" margin-left=".5in" 
margin-bottom=".2in" margin-top=".2in" page-height="11in" 
> page-width="8.5in" master-name="all-pages">
>   <fo:region-body padding-top=".2in" margin-top="0.2in" region-name="body"/>
>   <fo:region-before display-align="before" extent="0.3in" text-align="center" 
region-name="header"/>
>   <fo:region-after display-align="before" extent="0.5in" text-align="center" 
> region-name="footer"/></fo:simple-page-master></fo:layout-master-set>
> ..
> ..
> ..
> 
> It's probably not a bug, just a newbie-error.
> Thanks,
> Pete



Jeremias Maerki


---------------------------------------------------------------------
To u
nsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to