Hi Eric, this list is about FOP development, not XSLT or XSL-FO questions. That said: - all pages features are nested in the fo:root/fo:layout-master-set element, - while content is nested in fo:root/fo:page-sequence.
Therefore you should process your XML in a 2 passes XSLT: - 1 template for page masters, - 1 template for content. Pascal Le 05/08/2010 14:26, Eric Douglas a écrit : > > If the shell of my XSL looks like this: > <fo:root xmlns:fo="_http://www.w3.org/1999/XSL/Format_ > <http://www.google.com/url?sa=D&q=http://www.w3.org/1999/XSL/Format&usg=AFQjCNHZhPMfx2p6D5n2w5qLURB5k932Cw>"> > <fo:layout-master-set> > <fo:simple-page-master> > <xsl:attribute name="master-name">STANDARD_PAGE</xsl:attribute> > <xsl:attribute name="margin-bottom"><xsl:value-of > select="PAGE_DATA/MARGIN_BOTTOM"/></xsl:attribute> > <fo:region-body> > </fo:region-body> > </fo:simple-page-master> > </fo:layout-master-set> > <fo:page-sequence> > <xsl:attribute name="master-reference">STANDARD_PAGE</xsl:attribute> > <fo:flow> > <xsl:attribute name="flow-name">xsl-region-body</xsl:attribute> > <xsl:for-each select="PAGE_DATA"> > <fo:block> > <xsl:attribute name="break-before">page</xsl:attribute> > <xsl:for-each select="*"> > ... > </xsl:for-each> > </fo:block> > </xsl:for-each> > </fo:flow> > </fo:page-sequence> > </fo:root> > So I have all my data grouped by what to print on each page, under a > PAGE_DATA tag in the XML. Now I'm trying to put a tag under the > PAGE_DATA tag to specify different attributes for each page, such as > the margin-bottom mentioned here. As it is written here, it is using > the value of the MARGIN_BOTTOM tag for the margin-bottom attribute, > but it's only taking the last tag in the XML and applying it to all > pages. How do I change the attributes for each page? > Is there a place where I can set a variable from the XML tag value > which can be processed after the for-each statement and before the > page attributes? >