0
我試圖運行下面的模板:爲什麼不是local-name()返回任何東西?
<xsl:template match="*[starts-with(., 'ATTITUDE_')]/text()">
<xsl:variable name="ElementName" select="local-name()"/>
<xsl:variable name="vVal" select= "$vAttitudes[. = substring-after(current(), '_')]/@val"/>
<xsl:choose>
<xsl:when test="contains($ElementName, 'Refuse')">
<xsl:value-of select="civf:book-capitalise($vAttitudes[@val = $vVal+1])"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="civf:book-capitalise($vAttitudes[@val = $vVal])"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
所以前提是,發現元素的名稱,在它的名稱,然後「doTheThing」 +1如果它有文本「垃圾」否則只是「doTheThing」。然而,這個測試總是失敗,所以即使元素名稱中包含「拒絕」,也不會調用+1。如果我只輸出本地名稱,那麼我也會空着。爲什麼local-name()不在這裏工作?
我以前嘗試先從模板:
<xsl:template match="*[contains(., 'Refuse')]/name()">
但撒克遜人抱怨說,我在比賽順序運行了太多的功能。
對於不太瞭解XSLT,我很抱歉。
請重新縮進代碼,以便' '不會增加縮進級別。這很混亂。 –
2012-07-18 06:55:35
完成。對於那個很抱歉。 – Quibblesome 2012-07-18 06:58:52