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]
