Итак,
У меня есть шаблон XSLT, который ожидает узел в качестве параметра и использует его в качестве отображаемого текста. Однако иногда этот узел является пустым в XML, и я хочу передать отображаемый текст по умолчанию вместо отображаемого текста вместо:
Работает:
<xsl:call-template name="myTemplate">
<xsl:with-param name="parm1" select="//element">
</xsl:call-template>
Не работает:
<xsl:variable name="dispText">
<xsl:choose>
<xsl:when test="string-length(//element) = 0">
<xsl:value-of select="'Default Text'" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="//element" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="myTemplate">
<xsl:with-param name="parm1" select="$dispText">
</xsl:call-template>
Есть идеи, как мне это сделать? Я перепробовал все виды вещей без удачи: (
Кажется, что все, что мне нужно сделать, это создать новый узел с отображаемым текстом, который я хочу, но я не знаю, возможно ли это вообще?
Спасибо