XSLT ファイルを作成しています。XML ファイルから値を取得する変数が 1 つあります。ただし、XML に値の参照がないことがあり、その場合、XSL 変数は False/None (不明) を返します。変数に値がない場合、既定値を使用するなどの条件を維持したいと考えています。どのようにすればよいですか?
ベストアンサー1
質問に示されているいくつかの詳細を使用して実行できる最も簡単なテストは次のとおりです。
<xsl:if test="$var">
...
</xsl:if>
xsl:choose
または、 else-case の出力を提供する場合は、次のように使用できます。
<xsl:choose>
<xsl:when test="not($var)"> <!-- parameter has not been supplied -->
</xsl:when>
<xsl:otherwise> <!--parameter has been supplied --> </xsl:otherwise>
</xsl:choose>
2 番目の例では、変数またはパラメータに実際の値が指定されていない場合、つまり空の文字列に等しい場合も正しく処理されます。これは、not('')
が を返すため機能しますtrue
。