条件分岐chooseの概要
<xsl:choose>要素を使うと、if~elseif~elseのような形で使える。
サンプルコード
変換させるxml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<root>
<data>
<name>吉田</name>
<age>-11</age>
<department>開発部</department>
</data>
</root>
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="root/data/age >= 20">
<age>成人</age>
</xsl:when>
<xsl:when test="root/data/age < 20 and root/data/age >= 0">
<age>未成年</age>
</xsl:when>
<xsl:otherwise>
<age>不正な値です。</age>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
変換結果
<?xml version="1.0" encoding="UTF-8"?> <age>不正な値です。</age>
解説
<xsl:choose>要素の使い方
<xsl:choose>要素内で、<xsl:when>要素と<xsl:otherwise>要素を使う
<xsl:when>がif、<xsl:otherwise>がelseといった意味合い。
使い方は<xsl:if>と同じなので下記参照。
サンプルコード解説
xml側のageデータに20以上なら成人、20未満なら未成年、それ以外なら不正な値として出力される。
