Subject: Re: Feature Request - Node Set Processing (long) From: James Clark <jjc@xxxxxxxxxx> Date: Mon, 18 Jan 1999 09:33:37 +0700 |
"G. Ken Holman" wrote: > (4) - so, I need to walk the source tree at each level of interest and > determine if where I am (or my ancestor module is) is where I was before I > started walking, and at each step render different information calculated > from where I am walking: > > current node = page being rendered > current module node = ancestor-or-self(intro|module|exit) > For each node in (/course/intro > /course/module > /course/exit) ;first button bar > { > if( node = current module node ) > render green button without hyperlink > else > render blue button with hyperlink > } > For each node in (/course/module/lesson) ;second button bar > { > if( node = current node ) > render green button without hyperlink > else > render blue button with hyperlink > } If XSL had local constants/variables, you could express exactly that algorithm: ... <xsl:constant name="current-node-name" value="{@id}"/> <xsl:constant name="current-module-name" value="{ancestor-or-self(intro|module|exit)/@id}"/> <xsl:for-each select="/course/intro|/course/module|/course/exit"> <xsl:choose> <xsl:when test="@id=constant(current-module-name)"> <!-- render green button without hyperlink --> </xsl:when> <xsl:otherwise> <!-- render blue button with hyperlink --> </xsl:otherwise> </xsl:choose> </xsl:for-each> <xsl:for-each select="/course/module/lession"> <xsl:choose> <xsl:when test="@id=constant(current-node-name)"> <!-- render green button without hyperlink --> </xsl:when> <xsl:otherwise> <!-- render blue button with hyperlink --> </xsl:otherwise> </xsl:choose> </xsl:for-each> James XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Feature Request - Node Set Proc, G. Ken Holman | Thread | Re: Feature Request - Node Set Proc, G. Ken Holman |
Re: Feature Request - Node Set Proc, G. Ken Holman | Date | Re: Processing Modes..., Geoff Nolan |
Month |