xsl-list
[Top] [All Lists]

Re: how do you determine if a property exists?

2004-04-16 01:43:28


   thanks everyone.  The solution I settled on was:

   <xsl:when test="@duration=''">1</xsl:when>
   <xsl:when test="not(@duration)">1</xsl:when>

This second when clause will never be used, as someone has already
commented, if there is no duration attribute, the first test will
already be true.

You don't need to use xsl:element either as you know the names
statically:

        <xsl:element name="myelement">
                        <xsl:attribute name="time">
                                <xsl:choose>
                                        <xsl:when 
test="@duration=''">1</xsl:when>
                                        <xsl:when 
test="not(@duration)">1</xsl:when>
                                        <xsl:otherwise><xsl:value-of
                                  select="@duration"/></xsl:otherwise>
                                </xsl:choose>
                        </xsl:attribute>
                </xsl:element>

Could rather more consisely be written as

  <myelement time="1">
    <xsl:attribute name="time">
     <xsl:value-of select="@duration"/>
    </xsl:attribute>
  </myelement>


David

-- 
http://www.dcarlisle.demon.co.uk/matthew

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________