Subject: RE: M.Kay XSLT book, p. 120 Curly braces question From: Kay Michael <Michael.Kay@xxxxxxx> Date: Mon, 31 Jul 2000 12:13:33 +0100 |
> 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[2]/Feature[4]'. 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
M.Kay XSLT book, p. 120 Curly brace, Gert Bultman | Thread | AW: Passing an URL as a parameter w, Schmitt, Christian |
running msxml3 from command line, Sebastian Rahtz | Date | XSL to popolate Popup Navigator App, Cristobal Galiano Fe |
Month |