RE: M.Kay XSLT book, p. 120 Curly braces question
> I would like to use a > variable or parameter as part of an XPath expression. > However, whereas I can use variables in constructions such as > $doc/FeatureSet[$i]/Feature[$j], where $doc is a nodeset generated by > > <xsl:variable name="doc" select="document(@FeatureFile)"/> > > I cannot use a construction like $doc//$mypointer, where > $mypointer has the value 'FeatureSet/Feature'. To quote my response to another question today: XSLT 1.0 doesn't allow you to construct XPath expressions, or parts of expressions, from strings or variables at run-time. You can sometimes work round it using name(), e.g. select='document("EZ722.xml")/*[name()=$element]' But that doesn't work in this case. Saxon has a more powerful workaround: the saxon:evaluate() extension function. Here you could write: select="saxon:evaluate(concat('$doc/', $mypointer))" > In my xml file which describes my data, I want to include a > reference to the original data that was used in the calculation. I think this is the classic use-case that justifies a feature such as saxon:evaluate(). 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