xsl-list
[Top] [All Lists]

Re: Easy one! variables & documents)

2003-04-30 15:20:21
I GOT IT!!!!!!

     <xsl:for-each select="@*">
     <xsl:variable name="name" select="name()"/>
        <tr>
        <td><!-- lookup text for display in xml template -->
        <xsl:value-of select="$xmTmplt[(_at_)name=$name]/@text"/></td>
     <td>
        ....

Is this the way to do it?  Did I need to declare the variable name, or could
I have accessed name directly from the select?

Thanks for the help.
Karl


----- Original Message -----
From: "Karl J. Stubsjoen" <karl(_at_)azprogolf(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Wednesday, April 30, 2003 3:07 PM
Subject: Re: [xsl] Easy one! variables & documents)


Okay, I got that.
Now I am having trouble... I need to select from this external doc the
value
of one of the nodes.  So, I'm within the context of another template, and
from this template there is an attribute @Name, who's value will match one
of the values from the external doc.  I'm trying to get the @Text value
from
the external doc where the @Name matches in both.  So:

     <xsl:for-each select="@*">
        <tr>
        <td><!-- lookup text for display in xml template -->
        <xsl:value-of select="$xmTmplt/[(_at_)name=name()]/text"/>
        </td>

...  doesn't work : (

Here is my variable decleration, which I've tested and it works:

<xsl:variable name='xmTmplt'
select="document('usr_member.xml')/FLDS/FLD"/>

Karl

----- Original Message -----
From: "Rick Taylor" <taylor(_at_)ppdm(_dot_)org>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Wednesday, April 30, 2003 2:38 PM
Subject: Re: [xsl] Easy one! variables & documents)


Karl,

I didn't notice the copy-of that you have in the variable.  Try the
following to yield a nodeset that you can apply a for-each to.

<xsl:variable name="xmTmplt"select="document('usr_member.xml')//FLDS"/>

-rick


At 02:07 PM 4/30/03 -0700, you wrote:
I am reading an external xml document into a variable at the very top o
f
my
stylesheet (is this legal?)... later I loop through this document.. but
I
don't know how to access the variable in a select statement (it doesn't
like
the $ in the select statement).  Here's the code:

<xsl:variable name="xmTmplt"><xsl:copy-of
select="document('usr_member.xml')//FLDS"/></xsl:variable>




<xsl:template name="TEMP">
<hr/>
 <xsl:for-each select="xmTmplt/FLD">
    <xsl:text>testing..</xsl:text>
 </xsl:for-each>
<hr/>
</xsl:template>

Should yield:
testing..testing..testing..testing..testing..testing..

Thanks,
Karl


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Rick Taylor
XML Developer
PPDM Association


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>