|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] How to define a xsl:sort's order attribute using a va
I want to sort a list of <person> elements, and define the "select" and "order" attributes of the xsl:sort element using variables, rather than hardcoded values. xml source: <personlist sortBy="name" sortOrder="descending"> <person> <name>Bob</name> <age>40</age> </person> <person> <name>Mary</name> <age>53</age> </person> <person> <name>Arthur</name> <age>22</age> </person> </personlist> Here's an example of what I want to do. Iterate through the list of <person> elements, and sort by the element whose names matches personlist/@sortBy, in the order defined by personlist/@sortOrder: <xsl:template match="personlist"> <xsl:variable name="sortBy"> <xsl:attribute name="value"> <xsl:value-of select="@sortBy"> </xsl:attribute> </xsl:variable> <xsl:variable name="sortOrder"> <xsl:attribute name="value"> <xsl:value-of select="@sortOrder"> </xsl:attribute> </xsl:variable> <xsl:for-each select="person/*[name()=$sortBy]"> <xsl:sort select="." order="$sortOrder"/> <p> <xsl:value-of select="../name"/>  <xsl:value-of select="../age"/> </p> </xsl:for-each> </xsl:template> .. This does not work. I cannot define the value of the order attribute using a variable. Is there any way I can do this? Mike 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
|

Cart








