<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p><a0:anchor-end a0:anchor="1">[1]</a0:anchor-end> </p><blockquote><dl><dt><ins><a0:anchor>JISX4151</a0:anchor>‐1992 3.</ins> (79) <a0:rubyb>現付番<rt>current rank</rt></a0:rubyb></dt><dd>
<a0:anchor>共通識別子</a0:anchor>を得るために<a0:anchor>タグ</a0:anchor>の中の<a0:anchor>付番核</a0:anchor>の最後に付けられた<a0:anchor>10進数</a0:anchor>。 <ul><li>備考 <a0:anchor>開始タグ</a0:anchor>の場合、現付番は、同一の付番核又は同じ<a0:anchor>付番群</a0:anchor>の中の付番核をもつ最新の要素の<a0:anchor>付番</a0:anchor>である。<a0:anchor>終了タグ</a0:anchor>の場合、現付番は、同一の付番核で最新の<a0:anchor>開いている要素</a0:anchor>の付番である。</li></ul></dd></dl></blockquote><p><a0:anchor-end a0:anchor="2">[2]</a0:anchor-end> 以降、 <code class="SGML"><a0:anchor>RANK</a0:anchor> YES</code>
と仮定します。</p><pre>&lt;!<a0:anchor>ELEMENT</a0:anchor> h 1 - - %content;&gt;
&lt;!ELEMENT h 2 - - %content;&gt;</pre><p>と定義されている時、
付番要素 <samp class="SGML">h</samp> について、<pre>ここでの現在付番は未定義です。
&lt;h1&gt;
ここでの現在付番は (1, 1) です。
&lt;h2&gt;
ここでの現在付番は (2, 2) です。
&lt;/h2&gt;
ここでの現在付番は (2, 1) です。
&lt;/h1&gt;
ここでの現在付番は (1, 未定義) です。</pre><p>(<code>(<var>s</var>, <var>e</var>)</code> は、それぞれ開始タグと終了タグにとっての現在付番。)</p></p><p><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end> 現在付番という概念が意味を持ってくるのは付番が省略されたときです。</p><pre>ここでの現在付番は未定義です。
&lt;h1&gt;
ここでの現在付番は (1, 1) です。
&lt;h2&gt;
ここでの現在付番は (2, 2) です。
&lt;/h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 1) です。
&lt;h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 1) です。
&lt;/h&gt;&lt;!-- h1 と解釈されます。 --&gt;
ここでの現在付番は (1, 未定義) です。
&lt;h&gt;&lt;!-- h1 と解釈されます。 --&gt;
ここでの現在付番は (1, 1) です。
&lt;/h&gt;&lt;!-- h1 と解釈されます。 --&gt;</pre><p><a0:anchor-end a0:anchor="4">[4]</a0:anchor-end> 別の付番要素 <samp class="SGML">i</samp>
を定義しても、それぞれ独立した現在付番となります。</p><pre>ここでの現在付番は未定義です。
&lt;h1&gt;
ここでの現在付番は h: (1, 1), i: 未定義です。
&lt;i1&gt;
ここでの現在付番は h: (1, 1), i: (1, 1) です。
&lt;h2&gt;
ここでの現在付番は h: (2, 2), i: (1, 1) です。
&lt;/h2&gt;
ここでの現在付番は h:(2, 1), i: (1, 1) です。
&lt;i2&gt;
ここでの現在付番は h: (2, 1), i: (2, 2) です。
&lt;/i2&gt;
ここでの現在付番は h: (2, 1), i: (2, 未定義) です。
&lt;/h1&gt;
ここでの現在付番は h: (1, 未定義), i: (2, 未定義) です。</pre><p><a0:anchor-end a0:anchor="5">[5]</a0:anchor-end> 付番群を使うと、複数の付番要素で同じ現在付番を共有できます。</p><pre>&lt;!ELEMENT (h|p) 1 - - %content&gt;
&lt;!ELEMENT (h|p) 2 - - %content&gt;</pre><pre>ここでの現在付番は未定義です。
&lt;h1&gt;
ここでの現在付番は (1, 1) です。
&lt;p&gt;&lt;!-- p1 と解釈されます。 --&gt;
ここでの現在付番は (1, 1) です。
&lt;/p&gt;&lt;!-- p1 と解釈されます。 --&gt;
&lt;h2&gt;
ここでの現在付番は (2, 2) です。
&lt;p&gt;&lt;!-- p2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/p&gt;&lt;!-- p2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;p&gt;&lt;!-- p2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/p&gt;&lt;!-- p2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 1) です。
&lt;h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 1) です。
&lt;/h&gt;&lt;!-- h1 と解釈されます。 --&gt;
ここでの現在付番は (1, 未定義) です。
&lt;p2&gt;
ここでの現在付番は (2, 2) です。
&lt;/p&gt;&lt;!-- p2 と解釈されます。 --&gt;
ここでの現在付番は (2, 未定義) です。
&lt;h&gt;&lt;!-- h2 と解釈されます。 --&gt;
ここでの現在付番は (2, 2) です。
&lt;/h&gt;&lt;!-- h2 と解釈されます。 --&gt;</pre><p>応用として、他の<a0:anchor>マーク最小化</a0:anchor>を併用すると、<pre>&lt;h1&gt;1.
&lt;p&gt;...
&lt;p&gt;...
&lt;h2&gt;1.1
&lt;p&gt;...
&lt;p&gt;...
&lt;h2&gt;1.2
&lt;p&gt;...
&lt;h1&gt;2.
&lt;p&gt;...</pre></p><p>のような一見<a0:anchor>フラットでリニアな構造</a0:anchor>を意図した通りの木にできます。</p></body></html>