所以, 我有一個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>
任何想法,我怎麼能做到這一點?我已經嘗試了各種各樣的東西沒有運氣:(
看來我需要做的就是創建一個新的節點與我想要的顯示文本,但我不知道這是甚至可能嗎?
感謝
'string-length()'在節點集上有效。它測量集合中第一個節點的字符串表示。 – Tomalak