OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Xsl:when - Can I pass Conditions at runtime?

(I didn't spot this was xml-dev and originally replied to the sender
only - why does xml-dev default to the sender and not to the list?
Its really annoying... surely its best to have all responses in the

On 3/1/07, binu.idicula@wipro.com <binu.idicula@wipro.com> wrote:
> Hi All,
>    I would like to have a XSLT - which selects some nodes based on
> condition passed from external system.
> <xsl:param name="condition"/>
> <xsl:param name="value"/>
> ...
> ...
> <xsl:template match="/A/B">
>        <xsl:variable name="cond" select="$condition"/>
>        <xsl:variable name="val" select="$value"/>
>        <xsl:choose>
>           <xsl:when test="$cond = $value">
>           </xsl:when>
>        <xsl:choose>
> </xsl:template>
>     I tried this, by passing
>     Transformer.setParameter("condition", "nameOfPerson");
>     Transformer.setParameter("value", "Sion");
> But it seem NOT as WORKING.
> Any corrections?

You are checking whether the string "nameOfPerson" is equal to the
string "Sion", whereas you really want to check if the element with
that name has a string value equal to $value, eg:

<xsl:when test="*[local-name() = $condition] = $cond">

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS