値を特定の形式にフォーマットする必要がありますが、サポートされているようには見えません。
使いたい:
format-number($value, '####,##,##,##0')
しかし、これを試したときに返される値は'###,###,##0'
したがって$value = '123456789'
、値を次のように出力したい場合は、1,24,56,789
を取得してい123,456,789
ます。
できるフォーマットに制限はありますか?
W3schoolsにアクセスして、次の xml を入力すると:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>123456789</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>123456789</price>
<year>1988</year>
</cd>
</catalog>
そして、次の xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="TestFormat" select="'###,##,##,##0'"/>
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="format-number(price, $TestFormat)"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
目的のフォーマットが得られていないことがわかります。助言がありますか?
助けてくれてありがとう。