[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] strange for-each/list behavior
Can anyone explain why this happens? --- in.xml --- <root> <value name="A"> <other name="B"/> </value> <value name="C"> <other name="D"/> <other name="D"/> <other name="D"/> <other name="B"/> </value> <value name="C"/> <value name="C"/> <value name="C"/> <value name="A"/> <value name="A"/> <value name="A"/> </root> -------------- --- strange1.xsl --- <?xml version="1.0"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:variable name="list" select="/root/value | /root/value/other"/> <xsl:template match="/root"> <xsl:for-each select="$list"> <xsl:variable name="i" select="@name"/> <xsl:variable name="j" select="$list[@name=$i]/@name"/> <xsl:value-of select="$list[@name=$i]/@name"/><xsl:text> </xsl:text> </xsl:for-each> </xsl:template> </xsl:transform> ------------------- --- strange2.xsl --- <?xml version="1.0"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:variable name="list" select="/root/value | /root/value/other"/> <xsl:template match="/root"> <xsl:for-each select="$list"> <xsl:variable name="i" select="@name"/> <xsl:variable name="j" select="$list[@name=$i]/@name"/> <xsl:value-of select="$j"/><xsl:text> </xsl:text> </xsl:for-each> </xsl:template> </xsl:transform> ------------------- While transforming in.xml with strange1.xsl will a singular "A", in.xml transformed with strange2.xsl will reproduce the entire list of letters from in.xml. This was executed using Xalan version 2.4.1. Carl 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
|