Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Unable to update variable >Thread Next - Re: Unable to update variable Re: Unable to update variableTo: NULL Date: 6/3/2008 9:47:00 AM On Jun 3, 11:35 am, Kevin <Kevin.S.Par...@alumni.utexas.net> wrote: > 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/xsl:otherwise 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> > <xsl:otherwise> > <xsl:variable name="page-time-stamp" select="$time-stamp"/> > </xsl:otherwise> > </xsl:choose> > > <fo:page-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> I figured it out. I needed to restructure the variable definition of page-time-stamp. <xsl:variable name="page-time-stamp"> <xsl:choose> <xsl:when test="@time-stamp"> <xsl:value-of select="@time-stamp"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$time-stamp"/> </xsl:otherwise> </xsl:choose> </xsl:variable> | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
