<xsl:template match="composition"> <h3><xsl:value-of select="title"/></h3> <ul> <xsl:if test="string(date)"> <li><xsl:value-of select="date"/></li> </xsl:if> <xsl:if test="string(length)"> <li><xsl:value-of select="length"/></li> </xsl:if> <xsl:if test="string(instruments)"> <li><xsl:value-of select="instruments"/></li> </xsl:if> <xsl:if test="string(publisher)"> <li><xsl:value-of select="publisher"/></li> </xsl:if> </ul> <p><xsl:apply-templates select="description"/></p> </xsl:template>
The string()
function converts the value of the element to a string
The number()
function converts the value of the element to a number
Zero length strings are false
There are all the <
, >
, =
, !=
,
<=
and >=
operators you expect