Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

3桁区切りで連番を振る

■ ナンバリング

このサンプルは、XMLのデータに、三桁区切り記号を入れて通し番号を振るものです。それには前ページと同様にxsl:number要素を使います。<xsl:number format="1" grouping-separator="," grouping-size="区切る桁" />のように記述し、grouping-separator属性で桁区切り記号を、grouping-sizeで区切る桁を指定します。

number_separator.xml

 

number_separator.xsl

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html lang="ja">
<head>
<title><xsl:value-of select="xmldocument/title" /></title>
<style>
   span{width:50px;background-color:silver;font-size:14pt;font-family:"Arial Balck";text-align:center;}
</style>
</head>
<body>
   <div><xsl:apply-templates select="全体" /></div>
</body>
</html>
</xsl:template>

<xsl:template match="xmldocument">
   <h4>grouping-separator="," grouping-size="3"</h4>
   <xsl:for-each select="information">
      <span><xsl:number level="single" format="1" grouping-separator="," grouping-size="3"/></span>
      <div><xsl:value-of select="ticketNumber" /></div>
   </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

level属性にsingleを指定した場合、count属性のパターンに合致する祖先の最初から勘定を始めて、祖先の兄の仲でcount属性で指定するパターンに合致する兄の数に1プラスしたリストに基づいて番号が振られます。このような祖先が存在しない場合は番号は振られません。
multipleを指定した場合は、カレントノードのすべての祖先リストが構築された後で、count属性で指定するパターンに合致する兄の数に1プラスした数に基づいてマッピングされます。基本的に、singleと同じ表示結果になります。
anyを指定した場合は、カレントノードと、カレントノードの前のあらゆるノードからネームスペースや属性ノードを除いたもののセットを対象として、cout勘定した番号が振られます。
singleやmultipleを指定した場合は、親より前の世代に傍系の家族がいけなければ勘定されず、anyを指定した場合はanyという言葉通り直系だけでなく傍系も含めた親族の中での順番が勘定されると考えておけばよいでしょう。

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box