条件一致に基づいて値を変更する必要がある次のテンプレートがあります。xslt1.0でxsl:ifの複数の条件を確認する方法
<?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: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のように呼び出しています
<xsl:if test="$code='7'">
も単一引用符との条件を試してみました:コード値7 任意の助けをいただければ幸いを持っている要素名です。
コードを使用して問題を再現することはできません。 –
あなたのコードを 'boolean = 'True'と' code = 7'でパラメータとしてテストしました。出力は 'ServicesAccounts'です。 – zx485
Thecode – user3331421