Re: [xsl] how do you determine if a property exists?

Subject: Re: [xsl] how do you determine if a property exists?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 16 Apr 2004 09:43:28 +0100
   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
________________________________________________________________________

Current Thread