Subject: Re: path quesion From: Nick Browne <NickBrowne@xxxxxxxxxxxxxxx> Date: Sun, 02 Jul 2000 22:52:48 +0100 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: sort default, Kay Michael | Thread | RE: path quesion, Kay Michael |
RE: sort default, Kay Michael | Date | RE: path quesion, Kay Michael |
Month |