さて、実際 HTML によって行われるセマンティクスはふたつある。

ひとつは文書構造のセマンティクス。もうひとつは文書内容のセマンティクス。

ひとつめの、文書構造のセマンティクスはタグ付けによって行われる。見出し要素、もしくはセクショニング要素によって文書のアウトラインが形成され、各セクションの中で、文書内での構造的な意味をさらにタグ付けしていく。それらは行列構造であったり、リスト構造であったりするのだけれど、これらには文書の内容を意味付けする機能が備わっていない。行列構造は行列構造という以上の意味をもたない。よしんば summary 属性で 内容の要約を付け加えたとしても、それは恣意的で、解析するには曖昧過ぎる。

そこで HTML5 では Microdata という処理モデルが追加された。これによって語彙を名前空間で指定することで判断し、指定された要素内にある各要素に語彙で指定された名前を付加することによって、曖昧さを排除した形での解析が可能になる。また Microdata では構造と意味の分離も可能になっている。識別子によって要素の関係を明示すれば、遠く離れた要素でも、それが我が子だと伝えることが可能になっている。

他にも以前話題になった Microformats や RDFa があるけれど、まあ Microformats は class 属性や rel, rev 属性を使用して、なんとかして既存の HTML に文書内容の意味を付加しようとしたものであるし、また RDF は RDF スキーマや OWL などを利用することで強力なセマンティクスが可能な反面、初学者には複雑さがあり、理解できなければ投げ出されてしまいかねない。そこで単純で分り易く、一般の Web サイトの制作者にも語彙の学習とそれによるメリットの高いと思われる Microdata を主軸にして考えてみる。

そんなわけで、文書設計とはなにかについて考えてみる。