XSLT/XPath test for 'Null'
xml, xpath, xslt
Solution
If I understand what you're asking for,
<xsl:if test="$validItems[(Caption | CalltoAction)[not(string(.))]]">
will do it. In other words, "if there is an element in the $validItems node-set that has a Caption or CalltoAction child element whose string value is empty". You could also say
<xsl:if test="$validItems[(Caption | CalltoAction)[. = '']]">
Problem
I have the following which checks for a string within the xml... however, I need to create another test to check for 'Null' or no text within the variable `$validItems` at the 1st line... ``` <xsl:if test="$validItems[(Caption | CalltoAction)[string(.)]]"> <div class="text"> <xsl:choose> <xsl:when test="$horizontal"> <div class="holder"> <div class="frame"> <div class="slides-descriptions"> <xsl:apply-templates select="$validItems" mode="horizontal"/> </div> <div class="switcher"/> </div> </div> </xsl:when> <xsl:otherwise> <div class="slides-descriptions"> <xsl:apply-templates select="$validItems" mode="vertical"/> </div> <div class="switcher"/> </xsl:otherwise> </xsl:choose> </div> </xsl:if> ``` How would I go about testing the variable xsl:if test=$validItems?