<xvcd:if>の練習3 男女と年齢の2つの条件で分ける
条件分岐の<xvcd:if>の使い方の例。
andを使って2の条件を組み合わせている。このサンプルで指定してある条件は次の4つ。
test="m3:gender='男' and m3:age<30"
test="m3:gender='男' and m3:age>=30"
test="m3:gender='女' and m3:age<30"
test="m3:gender='女' and m3:age>=30"
【result view】
【xfy_sample0018.xml】
<?xml version="1.0"?>
<?com.xfy vocabulary-connection href="xfy_sample0018.xvcd" ?>
<m3:document xmlns:m3="http://www.makoto3.net/xfy">
<m3:list>
<m3:person>
<m3:name>山田 太郎</m3:name>
<m3:gender>男</m3:gender>
<m3:age>28</m3:age>
</m3:person>
<m3:person>
<m3:name>鈴木 花子</m3:name>
<m3:gender>女</m3:gender>
<m3:age>25</m3:age>
</m3:person>
<m3:person>
<m3:name>吉田 恵子</m3:name>
<m3:gender>女</m3:gender>
<m3:age>38</m3:age>
</m3:person>
<m3:person>
<m3:name>中村紋次郎</m3:name>
<m3:gender>男</m3:gender>
<m3:age>60</m3:age>
</m3:person>
</m3:list>
</m3:document>
【xfy_sample0018.xvcd】
<?xml version="1.0"?>
<xvcd:xvcd
xmlns:xvcd="http://xmlns.xfy.com/xvcd"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:m3="http://www.makoto3.net/xfy"
version="1.0">
<xvcd:vocabulary name="xfy_sample" match="m3:document" call-template="root"/>
<xvcd:template name="root">
<html>
<head>
<title>xfy example</title>
</head>
<body>
男で30未満……青<br/>
男で30以上……緑<br/>
女で30未満……赤<br/>
女で30以上……黒<br/><br/>
<xvcd:apply-templates select="m3:list/m3:person"/>
</body>
</html>
</xvcd:template>
<xvcd:template match="m3:list/m3:person">
<xvcd:if test="m3:gender='男' and m3:age<30">
<div style="color:blue">
<xvcd:value-of select="m3:name"/>
[<xvcd:value-of select="m3:gender"/>]
[<xvcd:value-of select="m3:age"/>]<br/>
</div>
</xvcd:if>
<xvcd:if test="m3:gender='男' and m3:age>=30">
<div style="color:green">
<xvcd:value-of select="m3:name"/>
[<xvcd:value-of select="m3:gender"/>]
[<xvcd:value-of select="m3:age"/>]<br/>
</div>
</xvcd:if>
<xvcd:if test="m3:gender='女' and m3:age<30">
<div style="color:red">
<xvcd:value-of select="m3:name"/>
[<xvcd:value-of select="m3:gender"/>]
[<xvcd:value-of select="m3:age"/>]<br/>
</div>
</xvcd:if>
<xvcd:if test="m3:gender='女' and m3:age>=30">
<div style="color:black">
<xvcd:value-of select="m3:name"/>
[<xvcd:value-of select="m3:gender"/>]
[<xvcd:value-of select="m3:age"/>]<br/>
</div>
</xvcd:if>
</xvcd:template>
</xvcd:xvcd>