|
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 |