[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XSLT eval()
> Have there been discussions with regard to adding the > equivalent of the JavaScript eval() function to XSLT / XPath as either a core > function or as an add-on extension function? Saxon 5.2 provides an evaluate() extension function which does exactly this. > > Instead, if we could write: > > <xsl:param name="COLUMN select="name"/> > ... > <xsl:for-each select="item"> > <xsl:sort select="extensionFunctionNamespace:eval( $COLUMN )"/> > ... > > this would provide the best of both worlds, no? The Saxon syntax is <xsl:param name="COLUMN" select="'name'"/> ... <xsl:for-each select="item"> <xsl:sort select="saxon:evaluate( $COLUMN )"/> The quotes round 'name' are important: saxon:evaluate() takes as argument a String containing an expression; if you omitted the quotes, expression 'name' would be evaluated in the context of the <xsl:param> statement, not the <xsl:sort> statement. Incidentally, provided the sort key is restricted to be a child element of <item>, and in the absence of namespaces, someone previously posted the solution <xsl:sort select="*[name()=$COLUMN]"/> 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
|