最初の引数文字列に 2 番目の引数文字列が含まれているかどうかを確認します。
boolean contains(str1, str2)
パラメータ
- str1
2 番目の引数が含まれている可能性のある文字列。
- str2
1 番目の引数に含まれている可能性がある文字列。
戻り値
1 番目の引数文字列に 2 番目の引数文字列が含まれていれば、true を返します。それ以外の場合は、false を返します。
解説
引数が文字列型でない場合は、string() 関数を使って引数が文字列に変換された後、その変換の結果が評価されます。
ヒント
この関数にノード セットを引数として渡し、文字列変換を行うと、予期しない結果が生じることがあります。詳細については、string 関数 を参照してください。
この関数では、大文字と小文字が区別されます。
例
次の例では、contains()
関数を使用して、タイトルに "Pattern" という語が含まれる本のコレクションを照会する方法を示します。
XML ファイル (contains.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"
href="contains.xsl"?>
<bookstore>
<book>
<title>The Weather Pattern</title>
<author>Weather Man</author>
<price>100.00</price>
</book>
<book>
<title>Weaving Patterns</title>
<author>Weaver</author>
<price>150.00</price>
</book>
<book>
<title>Speech Pattern</title>
<author>Speaker</author>
<price>15.00</price>
</book>
<book>
<title>Writing Style</title>
<author>Writer</author>
<price>1500.00</price>
</book>
</bookstore>
XSLT ファイル (contains.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
omit-xml-declaration="yes"/>
<xsl:template match="/">
<html>
<head><title>example</title></head>
<body>
<xsl:apply-templates select="//book"/>
</body>
</html>
</xsl:template>
<xsl:template match="book">
<xsl:if test="contains(title, 'Pattern')">
<DIV>
<B><xsl:value-of select="title"/></B> by
<I><xsl:value-of select="author"/></I> costs
<xsl:value-of select="price"/>.
</DIV>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
出力
この XSLT スタイル シートを XML ファイル (contains.xml) に適用すると、次の出力が生成されます。
The Weather Pattern by Weather Man costs 100.00.
Weaving Patterns by Weaver costs 150.00.
Speech Pattern by Speaker costs 15.00.