K
Kevin
I am having difficulty updating a variable page-time-stamp in the
following snippit. The variable time-stamp is initialized from the
attribute time-stamp from the log element. Some of the page elements
(children of log) in my XML source have a time-stamp attribute, so I
want to use the time-stamp from the page for the page-time-stamp
value. I use an xsl:choose/xsl:when/xsltherwise combination to setup
an if/else statement to select the page-time-stamp value. When I run
this template, the page-time-stamp value never changes. I only
displays the initial time-stamp value from the log element. Can anyone
help me?
Kevin
<xsl:template match="log">
<xsl:variable name="application-name" select="@application-name"/>
<xsl:variable name="application-version" select="@application-
version"/>
<xsl:variable name="time-stamp" select="@time-stamp"/>
<xsl:variable name="application-string">
<xsl:value-of select="$application-name"/><xsl:text> v</
xsl:text><xsl:value-of select="$application-version"/>
</xsl:variable>
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="standard-page" page-
height="8.5in" page-width="11.0in" margin-top="0.5in" margin-
bottom="0.5in" margin-left="0.5in" margin-right="0.5in">
<fo:region-body region-name="xsl-region-body" margin-top="0.25in"/ <fo:region-before region-name="xsl-region-before" extent="0.25in"/ </fo:simple-page-master>
</fo:layout-master-set>
<xsl:for-each select="page">
<xsl:variable name="page-number" select="position()"/>
<xsl:choose>
<xsl:when test="@time-stamp">
<xsl:variable name="page-time-stamp" select="@time-stamp"/>
</xsl:when>
<xsltherwise>
<xsl:variable name="page-time-stamp" select="$time-stamp"/>
</xsltherwise>
</xsl:choose>
<foage-sequence master-reference="standard-page">
<xsl:if test="$page-number > 1">
<fo:static-content flow-name="xsl-region-before">
<fo:table font-family="Helvetica, sans-serif" font-
size="8pt" inline-progression-dimension="100%" table-layout="fixed">
<fo:table-body>
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block><xsl:value-of
select="$application-string"/></fo:block>
</fo:table-cell>
<fo:table-cell text-align="center">
<fo:block><xsl:value-of select="$page-
time-stamp"/></fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>Page <xsl:value-of
select="$page-number"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:static-content>
</xsl:if>
following snippit. The variable time-stamp is initialized from the
attribute time-stamp from the log element. Some of the page elements
(children of log) in my XML source have a time-stamp attribute, so I
want to use the time-stamp from the page for the page-time-stamp
value. I use an xsl:choose/xsl:when/xsltherwise combination to setup
an if/else statement to select the page-time-stamp value. When I run
this template, the page-time-stamp value never changes. I only
displays the initial time-stamp value from the log element. Can anyone
help me?
Kevin
<xsl:template match="log">
<xsl:variable name="application-name" select="@application-name"/>
<xsl:variable name="application-version" select="@application-
version"/>
<xsl:variable name="time-stamp" select="@time-stamp"/>
<xsl:variable name="application-string">
<xsl:value-of select="$application-name"/><xsl:text> v</
xsl:text><xsl:value-of select="$application-version"/>
</xsl:variable>
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="standard-page" page-
height="8.5in" page-width="11.0in" margin-top="0.5in" margin-
bottom="0.5in" margin-left="0.5in" margin-right="0.5in">
<fo:region-body region-name="xsl-region-body" margin-top="0.25in"/ <fo:region-before region-name="xsl-region-before" extent="0.25in"/ </fo:simple-page-master>
</fo:layout-master-set>
<xsl:for-each select="page">
<xsl:variable name="page-number" select="position()"/>
<xsl:choose>
<xsl:when test="@time-stamp">
<xsl:variable name="page-time-stamp" select="@time-stamp"/>
</xsl:when>
<xsltherwise>
<xsl:variable name="page-time-stamp" select="$time-stamp"/>
</xsltherwise>
</xsl:choose>
<foage-sequence master-reference="standard-page">
<xsl:if test="$page-number > 1">
<fo:static-content flow-name="xsl-region-before">
<fo:table font-family="Helvetica, sans-serif" font-
size="8pt" inline-progression-dimension="100%" table-layout="fixed">
<fo:table-body>
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block><xsl:value-of
select="$application-string"/></fo:block>
</fo:table-cell>
<fo:table-cell text-align="center">
<fo:block><xsl:value-of select="$page-
time-stamp"/></fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>Page <xsl:value-of
select="$page-number"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:static-content>
</xsl:if>