我有一個基於條件匹配的以下模板,值應該改變。如何檢查xsl中的多個條件:if in xslt1.0
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" version="1.0" encoding="UTF-8" method="xml"/>
<xsl:template match="text()" name="create">
<xsl:param name="code"/>
<xsl:param name="boolean"/>
<xsl:if test="$boolean= 'True'">
<xsl:value-of select="'Services'"/>
</xsl:if>
<xsl:if test="$code=7">
<xsl:value-of select="'Accounts'"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
在此,第一個條件起作用。如果我通過boolean = false
,則不會分配任何內容。如果它等於True
,則分配Services
。但是對於代碼,即使我通過7
,它也沒有被分配。我試着用單引號也條件
<xsl:if test="$code='7'">
我打電話這樣
<xsl:variable name="Category">
<xsl:call-template name="create">
<xsl:with-param name="code" select="s0:Code"/>
<xsl:with-param name="boolen" select="'True'"/>
</xsl:call-template>
</xsl:variable>
S0:代碼是具有價值7 任何幫助,將不勝感激元素名稱。
您的問題無法使用您的代碼進行復制。 –
我測試了'boolean ='True''和'code = 7'作爲參數,輸出是'ServicesAccounts' - 正如預期的那樣。 – zx485
已更新代碼 – user3331421