[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: path quesion
Perhaps I was lucky ! Kay Michael wrote: > There is no way in standard XSLT of constructing an XPath expression from a > string (other than by writing a stylesheet to generate another stylesheet). This worked for me on Oracle v2.0.2.8. (my earlier posting showed a full example) : <!-- Store the cross reference data --> <xsl:variable name="CRData" select="document('twodocs01b.xml')"/> <!-- Set the name of the element we want to look up --> <xsl:variable name="CRElement">Name</xsl:variable> <!-- Display the cross reference value using the current element value as selection --> <xsl:value-of select="$CRData/Root/Item[text()=current()]/*[name()=$CRElement]/text()"/> This allowed a dynamic lookup to the second file. Repeating the value-of with $CRElement set to a different element name brought back the required data. Similar code worked using attributes in the main and cross reference files to provide the 'keys', ie. [text()=current()] was replaced by [@key=current()/@key]. Is this legal ? Am I right in thinking that you cannot use a variable as an element name in a path component except at the top level, i.e. $CRElement in the above is OK but replacing Root or Item with a variable reference is what is not allowed ? I hope the above is legal. Coming from a database background I see such techniques as wholly necessary tools, if there is something wrong I would like to know. As you say, the fact that something works doesn't always make it right ! Nick Browne Slipstone Ltd P.S. Isn't the above just a variation on 'the old sort hack' ? 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
|