<xvcd:variable>の練習2 select属性を使う
<xvcd:variable>要素の使い方の例。
XML文書中のデータを変数に入れる場合。<xvcd:variable name="myVar" select="XPathの式" />として、
select属性でXMLのデータを指定する。すると、そのデータを$myVarで参照できるようになる。
このサンプルでは2カ所で指定してあるが、前は select="m3:corp" 後は select="/m3:document/m3:corp"と指定してある。
【result view】
【xfy_sample0015.xml】
<?xml version="1.0"?>
<?com.xfy vocabulary-connection href="xfy_sample0015.xvcd" ?>
<m3:document xmlns:m3="http://www.makoto3.net/xfy">
<m3:corp>株式会社xfy</m3:corp>
<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>60</m3:age>
</m3:person>
</m3:list>
</m3:document>
【xfy_sample0015.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">
<xvcd:variable name="corp_name" select="m3:corp" />
<html>
<head>
<title>xfy example</title>
</head>
<body>
<h2><xvcd:value-of select="$corp_name" />名簿</h2>
<xvcd:apply-templates select="m3:list/m3:person"/>
</body>
</html>
</xvcd:template>
<xvcd:template match="m3:list/m3:person">
<xvcd:variable name="corp_name" select="/m3:document/m3:corp" />
<xvcd:value-of select="m3:name" />
(<xvcd:value-of select="m3:gender" />)
(<xvcd:value-of select="m3:age" />)
[<xvcd:value-of select="$corp_name" />]<br/>
</xvcd:template>
</xvcd:xvcd>