[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Conditional Assigining
> > <xsl:variable name="ID">-1</xsl:variable> > <xsl:for-each select="Section[parentID='0']"> > <xsl:if test="$ID=-1"> > <xsl:variable name="ID" select="sectionID" /> > </xsl:if> > id <xsl:value-of select="$ID"/> > XSLT isn't a sequential programming language, you are trying to use it as if it were. You can't do things in one iteration of xsl:for-each that affect subsequent iterations, because there is no such thing as "subsequent" in a non-sequential language. (See my XSLT Programmer's Reference for an essay on the subject...) Instead you want something like <xsl:for-each select="Section[parentID='0']"> <xsl:choose> <xsl:when test="preceding-sibling::Section[parentID='0']"> <xsl:value-of select="preceding-sibling::Section[parentID='0'][1]"/> </xsl:when> <xsl:otherwise>-1</xsl:otherwise> </xsl:choose> </xsl:for-each> That works because it expresses the output as a function of the input. Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|