現付番

現付番

[1]

JISX4151‐1992 3. (79) 現付番 (current rank)
共通識別子を得るためにタグの中の付番核の最後に付けられた10進数

[2] 以降、 RANK YES と仮定します。

<!ELEMENT h 1 - - %content;>
<!ELEMENT h 2 - - %content;>

と定義されている時、 付番要素 h について、

ここでの現在付番は未定義です。
<h1>
ここでの現在付番は (1, 1) です。
<h2>
ここでの現在付番は (2, 2) です。
</h2>
ここでの現在付番は (2, 1) です。
</h1>
ここでの現在付番は (1, 未定義) です。

((s, e) は、それぞれ開始タグと終了タグにとっての現在付番。)

[3] 現在付番という概念が意味を持ってくるのは付番が省略されたときです。

ここでの現在付番は未定義です。
<h1>
ここでの現在付番は (1, 1) です。
<h2>
ここでの現在付番は (2, 2) です。
</h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 1) です。
<h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 1) です。
</h><!-- h1 と解釈されます。 -->
ここでの現在付番は (1, 未定義) です。
<h><!-- h1 と解釈されます。 -->
ここでの現在付番は (1, 1) です。
</h><!-- h1 と解釈されます。 -->

[4] 別の付番要素 i を定義しても、それぞれ独立した現在付番となります。

ここでの現在付番は未定義です。
<h1>
ここでの現在付番は h: (1, 1), i: 未定義です。
<i1>
ここでの現在付番は h: (1, 1), i: (1, 1) です。
<h2>
ここでの現在付番は h: (2, 2), i: (1, 1) です。
</h2>
ここでの現在付番は h:(2, 1), i: (1, 1) です。
<i2>
ここでの現在付番は h: (2, 1), i: (2, 2) です。
</i2>
ここでの現在付番は h: (2, 1), i: (2, 未定義) です。
</h1>
ここでの現在付番は h: (1, 未定義), i: (2, 未定義) です。

[5] 付番群を使うと、複数の付番要素で同じ現在付番を共有できます。

<!ELEMENT (h|p) 1 - - %content>
<!ELEMENT (h|p) 2 - - %content>
ここでの現在付番は未定義です。
<h1>
ここでの現在付番は (1, 1) です。
<p><!-- p1 と解釈されます。 -->
ここでの現在付番は (1, 1) です。
</p><!-- p1 と解釈されます。 -->
<h2>
ここでの現在付番は (2, 2) です。
<p><!-- p2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</p><!-- p2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
<p><!-- p2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</p><!-- p2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 1) です。
<h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 1) です。
</h><!-- h1 と解釈されます。 -->
ここでの現在付番は (1, 未定義) です。
<p2>
ここでの現在付番は (2, 2) です。
</p><!-- p2 と解釈されます。 -->
ここでの現在付番は (2, 未定義) です。
<h><!-- h2 と解釈されます。 -->
ここでの現在付番は (2, 2) です。
</h><!-- h2 と解釈されます。 -->

応用として、他のマーク最小化を併用すると、

<h1>1.
<p>...
<p>...
<h2>1.1
<p>...
<p>...
<h2>1.2
<p>...
<h1>2.
<p>...

のような一見フラットでリニアな構造を意図した通りの木にできます。