■(書式)starts-with(str1,str2)
・文字列str1が文字列str2で始まる場合はtrueを、そうでない場合はfalseを返す。
[サンプルXML文書を表示](下のフレームに)
「本社所在地」が"大阪"、"東京都"で始まるデータだけを取り出す。
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="startswith01.xsl"?>
<root>
<title>企業情報</title>
<info>2004/7/27現在</info>
<data>
<company name="松下" code="6752">
<本社所在地>大阪府門真市大字門真1006</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="シャープ" code="6753">
<本社所在地>大阪市阿倍野区長池町22-22</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="ソニー" code="6758">
<本社所在地>東京都品川区北品川6-7-35</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>100株</単元株数></company>
<company name="三洋" code="6764">
<本社所在地>大阪府守口市京阪本通2-5-5</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="日立" code="6501">
<本社所在地>東京都千代田区神田駿河台4-6</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="東芝" code="6502">
<本社所在地>東京都港区芝浦1-1-1</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="NEC" code="6701">
<本社所在地>東京都港区芝5-7-1</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
<company name="富士通" code="6702">
<本社所在地>東京都港区東新橋1-5-2</本社所在地><決算>3月末日</決算>
<中間配当>9月</中間配当><単元株数>1000株</単元株数></company>
</data>
</root>
XSLソース
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/">
<center><H3><xsl:value-of select="root/title"/></H3></center>
<H4>(大阪の企業を抽出)</H4>
<xsl:apply-templates select="root/data/company"/>
<H4>(東京都の企業を抽出)</H4>
<xsl:apply-templates select="root/data"/>
</xsl:template>
<xsl:template match="company">
<xsl:if test="starts-with(本社所在地,'大阪')">
<xsl:value-of select="@name"/>:<xsl:value-of select="本社所在地"/><br/>
</xsl:if>
</xsl:template>
<xsl:template match="data">
<xsl:for-each select="company[starts-with(本社所在地,'東京都')]">
<xsl:value-of select="@name"/>:
<xsl:value-of select="本社所在地"/><br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
end(04/8/16)