Re: [xsl] if condition

Subject: Re: [xsl] if condition
From: JBryant@xxxxxxxxx
Date: Wed, 9 Mar 2005 15:36:29 -0600
Something like these two templates:

  <xsl:template match="customer[@age]">
    <xsl:copy-of select="."/>
  </xsl:template>

  <xsl:template match="customer[not(@age)]">
    <customer name="{@name}" age="unknown"/>
  </xsl:template>

OR something like this one:

  <xsl:template match="customer">
    <customer name="{@name}">
      <xsl:choose>
        <xsl:when test="@age">
          <xsl:attribute name="age">
            <xsl:value-of select="@age"/>
          </xsl:attribute>
        </xsl:when>
        <xsl:otherwise>
          <xsl:attribute name="age">unknown</xsl:attribute>
        </xsl:otherwise>
      </xsl:choose>
    </customer>
  </xsl:template>

Tested on Saxon8.

HTH

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)




"Bhaskar, Rajan" <RBhaskar@xxxxxxx> 
03/09/2005 03:15 PM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx


To
<xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
cc

Subject
[xsl] if condition






Hi,
 How can i do a if condition in XSLT when a particular attribute/element
in xml is not present and else with a default string

<customer name="xy" age="30">

say incase age is not present. i want to replace with "unknown"
<customer name="xy" age="unknown">

Current Thread