Hello,

I'm trying to look for the starting element of nodes in another document, store the results of what I find in an xsl:variable and then use the information in the $results variable (get the values of various attributes in the elements returned, etc.)

I can get a start element into $results but, I can't seem to use $results as a node set. I've tried using the nodeset() extension function but still can't seem to get the values of the attributes from within $results.

Does anyone have any suggestions? (Is there a better way to handle the same situation)?

TIA

PS. I've also noticed that even when there are multiple matches I only ever get the first match in document order. How come?

------------------------------------------------------------
Here's an example of what I'm trying to do:

$file contains:
        ...
        <test1 id="1">
                <test2 id="2">
                        <test3 id="3"/>
                </test2>
        </test1>
        ...

xsl stylesheet fragment:

...
<xsl:variable name="results">
        <xsl:for-each select="document($file)//*[local-name() = $x]">
                <xsl:copy>
                        <xsl:copy-of select="@*"/>
                </xsl:copy>
        </xsl:for-each>
</xsl:variable>   
...

if $x = "test2"

then, in $results I get:
        <test2 id="2"/>

Now, I'm trying to get the value of the id attribute.

Here are the things I've tried (but all fail):
        <xsl:value-of select="$results/@id"/>
        
        <xsl:value-of select="exslt:node-set($results)/@id"/>
        <xsl:value-of select="local-name(exslt:node-set($results))/@id"/>




Reply via email to