RE: [xsl] Printing a value if an attribute does not exist

Subject: RE: [xsl] Printing a value if an attribute does not exist
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 24 Aug 2004 09:43:23 +0100
In 2.0 you simply do:

<xsl:value-of select="(region[@name='VA'], '0.0')[1]"/>

In 1.0 it's a bit more long-winded:

<xsl:choose>
  <xsl:when test="region[@name='VA']">
     <xsl:value-of select="region[@name='VA']"/>
  </xsl:when>
  <xsl:otherwise>0.0</xsl:otherwise>
</xsl:choose>

Michael Kay


> -----Original Message-----
> From: michael.s.eberhart@xxxxxxxxxxx 
> [mailto:michael.s.eberhart@xxxxxxxxxxx] 
> Sent: 24 August 2004 04:04
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Printing a value if an attribute does not exist
> 
> 
> 
> 
> 
> How do you check for the existence of an attribute?
> 
> <TIER>
>    <REGION NAME="CT">89</REGION>
>    <REGION NAME="MD">135</REGION>
> </TIER>
> 
> What I want to say is:
> 
> If region[@name="VA"] exists
>    print value of region[@name="VA"]
> else
>    print "0.0"
> 
> It is also possible that there will be no REGION elements
> 
> <TIER>
> </TIER>
> 
> I would still want to say:
> 
> If region[@name="VA"] exists
>    print value of region[@name="VA"]
> else
>    print "0.0"
> 
> Thanks
> 
> Mike

Current Thread