Re: [xsl] setting attributes based on values

Subject: Re: [xsl] setting attributes based on values
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Tue, 22 May 2001 10:33:46 -0400
You use the xsl:attribute instruction to add an attribute to an element that
was opened with xsl:element.  So something like this should work:

<xsl:element name='input'>
    <xsl:attribute name='type' select='type'/>
    <xsl:if test="checked='false'">
        <xsl:attribute name='checked' select='checked'/>
    </xsl:if>
</xsl:element>


Cheers,

Tom P

[Alex Black]

> hi all,
>
> This works:
>
>     <xsl:template match="input[type = 'checkbox']">
>         <xsl:if test="checked='true'">
>             <input name="{name}" type="{type}" checked="{checked}"
> value="{value}"/>
>         </xsl:if>
>         <xsl:if test="checked='false'">
>             <input name="{name}" type="{type}" value="{value}"/>
>         </xsl:if>
>         <xsl:value-of select="label" />
>     </xsl:template>
>
>
> This does not:
>
>     <xsl:template match="input[type = 'checkbox']">
>         <input name="{name}" type="{type}" value="{value}"/>
>         <xsl:if test="checked='true'">
>             <xsl:attribute name="checked">true</xsl:attribute>
>         </xsl:if>
>         <xsl:value-of select="label" />
>     </xsl:template>
>
> Which would be nice.
>
> I'm trying to check the value of the element "checked" - test to see if it
> is true - if so, then I need to add the attribute. otherwise the attribute
> can't appear.
>
> Is there an elegant way to do this, or do I have to use that top bit of
code
> :)



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


Current Thread