このページの内容

3ブロックとインライン

文書は、ブロックの並びとして考えられます。ブロックとは、段落、ブロック引用、リスト、見出し、区切り線、コードブロックなどの構造要素です。ブロック引用やリスト項目のように、別のブロックを含むブロックもあります。一方、見出しや段落のようなブロックは、テキスト、リンク、強調されたテキスト、画像、コードスパンなどのインライン内容を含みます。

3.1優先順位

ブロック構造を示す記号は、インライン構造を示す記号よりも常に優先されます。したがって、たとえば次の例は、コードスパンを含む1つの項目からなるリストではなく、2つの項目からなるリストです。

- `one
- two`
<ul>
<li>`one</li>
<li>two`</li>
</ul>

このことから、解析は2段階で進められます。まず、文書のブロック構造を判別します。次に、段落、見出し、その他のブロック構造の内部にあるテキスト行を、インライン構造として解析します。第2段階では、リンク参照定義についての情報が必要になりますが、その情報がそろうのは第1段階の終わりです。第1段階では行を順番に処理する必要があります。一方、第2段階は並列に処理できます。あるブロック要素のインライン解析は、ほかのブロック要素のインライン解析に影響しないためです。

3.2コンテナブロックと葉ブロック

ブロックは、ほかのブロックを含められるコンテナブロックと、含められない葉ブロックの2種類に分けられます。