XSL, если тестировать отображение содержимого, когда оно имеет значения - PullRequest
7 голосов
/ 04 ноября 2011

У меня есть if test, где я хочу отображать содержимое свойства 'year' запятой, когда свойство имеет значения. Это не работает, поэтому я был бы благодарен за предложения.

<xsl:if test="year != null">
     <xsl:value-of select="year"/>,
</xsl:if> 

Ответы [ 2 ]

9 голосов
/ 04 ноября 2011

Вы можете проверить наличие элемента year, просто используя это выражение:

<xsl:if test="year">

Если вы хотите проверить, что элемент year не пустой:

<xsl:if test="year != ''">
0 голосов
/ 04 ноября 2011
<xsl:if test="year != null">    
     <xsl:value-of select="year"/>,    
</xsl:if>

Это будет true(), если есть хотя бы один year дочерний элемент текущего узла и один null дочерний элемент текущего узла, чьи строковые значения не равны.

Скорее всего, в документе XML нет элемента null, который вы не показали ...

Используйте

<xsl:if test="year"> 
     <xsl:value-of select="concat(year, ',')"/>
</xsl:if>  
...