string-length()関数

string-length()関数

・引数で指定した文字列の文字数(数値)を返す。
・数値は''で囲わなくても文字数を返す(例1)。
・全角文字、半角文字は同じ扱いで1文字に。
・全角空白、半角空白も同じ扱いで、空白数だけ数えられる(例2,5,6,9)。
・文字が無い場合 0 が返される(例7)。
・引数を省略した場合、コンテキストノードの文字数を返す(例8)。
・関数の返り値は数値なので計算に利用できる(例12,13)。

[string-length()関数](下のフレームに)

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="string01.xsl"?>
<root>
<title>string-length()関数</title>
<info>string-length()関数の表示テスト</info>
<data>表示テスト
 <test1 atr="半角文字">123 abc d</test1>
 <test2 atr="全角文字">大阪日本橋へようこそ!!</test2>
 <test3 atr="全半角文字">good!日本橋</test3>
</data>
<end>以上です(2003/12/6)</end>
</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>
<xsl:apply-templates select="root/data"/>
</xsl:template>

<xsl:template match="data">
例1(123456)---→ <xsl:value-of select="string-length(123456)"/><br/>
例2('123 45 6')---→ <xsl:value-of select="string-length('123 45 6')"/><br/>
例3('123abcイロハ')---→ <xsl:value-of select="string-length('123abcイロハ')"/><br/>
例4(関数)---→ <xsl:value-of select="string-length(関数)"/><br/>
例5(' 関 数   ')---→ <xsl:value-of select="string-length(' 関 数   ')"/><br/>
例6('   ')---→ <xsl:value-of select="string-length('   ')"/><br/>
例7('')---→ <xsl:value-of select="string-length('')"/><br/>
例8()---→ <xsl:value-of select="string-length()"/><br/>
例9(test1)---→ <xsl:value-of select="string-length(test1)"/><br/>
例10(test2)---→ <xsl:value-of select="string-length(test2)"/><br/>
例11(test3/@atr)---→ <xsl:value-of select="string-length(test3/@atr)"/><br/>
<hr/>
例12(test1+test3/@atr)---→ <xsl:value-of select="string-length(test1)+string-length(test3/@atr)"/><br/>
例13(test2*'計算せよ')---→ <xsl:value-of select="string-length(test2)*string-length('計算せよ')"/><br/>
</xsl:template>
</xsl:stylesheet>

end(03/12/6)