[xsl] xsl:attribute (was Re: URL query as table data)

Subject: [xsl] xsl:attribute (was Re: URL query as table data)
From: Antonio Bueno <atnbueno@xxxxxxxxxx>
Date: Sun, 17 Feb 2002 18:10:48 +0100
Hello, everybody.

WARNING: XSLT newbie here.

Mike answered to Harry:
MB> Never mind. This is what you're trying to do:
MB>   <A>
MB>     <xsl:attribute name="HREF">
MB>       <xsl:text>http://lookuphost.com/bin/lookup.cgi?term=</xsl:text>
MB>       <xsl:apply-templates/>
MB>     </xsl:attribute>
MB>     <xsl:apply-templates/>
MB>   </A>

I've tried to do the same but instead of A and HREF I was using OPTION
and VALUE. And it didn't work.

I wanted to transform
    <canal id="CP">Canal +</canal>
into
    <option value="CP">Canal +</option>

I'm using MSXML4 and this worked:

<xsl:template match="canal">
    <option>
        <xsl:value-of select="."/>
    </option>
</xsl:template>

But with this I only get:
    <option>Canal +</option>

Then I tried to apply Mike's answer:
    
<xsl:template match="canal">
    <option>
        <xsl:attribute name="value">
            <xsl:value-of select="@id"/>
        </xsl:attribute>
        <xsl:value-of select="."/>
    </option>
</xsl:template>

But it didn't work (the VBScript transformNode() method I'm using gave
me a numeric error).

This is what finally worked:

<xsl:template match="canal">
    <xsl:element name="option">
        <xsl:attribute name="value">
            <xsl:value-of select="@id"/>
        </xsl:attribute>
        <xsl:value-of select="."/>
    </xsl:element>
</xsl:template>

Why doesn't xsl:attribute works in the first try?
Is it something specific from MSXML4?

Thanks in advance
and greetings from Spain
 Antonio

http://www.webcsd.com
mailto:atnbueno@xxxxxxxxxx


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


Current Thread