Jintrick.netagenda2002年06月アーカイブ → 2002年06月29日

フラットな文書を構造化

agendaを試験的に構造化。agenda.xmlagenda.xslで(構造化されたdivだらけの)HTMLに変換。ただ、XSLファイルを書いていて面倒臭くなってしまったので、h6要素を脳内から抹殺。使ったことないし、これからも使わないだろう。たぶん。で、実利は……今のところほとんどないだろう。でもXSLTが面白くてしかたないんです(手段の目的化)。というのは半分冗談。

agenda.xmlは基本的にフラットでリニアであり、何の変哲もないテキストエディタで作成、編集する。脳内スキーマに基づいた、いい加減な代物だ。つまり構造を「暗示」しているXML文書だって「アリ」だと、そう言いたいわけで。「暗示」をタブーにしてしまったら、マークアップは際限がなくなる。そしてマークアップは、人間、直接行うことができるように考えられたものだ。特別なツールがなくともリソースを作成できるのがメリットの一つではなかったか。

ともかく、しばらく試してみて問題がないようなら、サイト内の全ての文書を変換してみよう、か、な。ソースファイルがXHTMLでもちゃんと変換できることは確認済み。まあHTML4.01とかでも別の何かを経由すればいいだけで、見出しと本文の登場「順序」に構造が示されていれば一応何とかなる。つまり中身がきちんとしているかどうかが、重要だ。昔の一部の文書に自信がない。

XSLTで変換するメリット

まだあまり試していないけれども、XSLTにはmessage要素というものがある。これを利用することで例えば、h1要素の次にh4要素が出現したり、h2要素が空だったりした際に警告を発しつつ変換プロセスを中断させることが出来るので、文法チェッカを兼ねさせることができる(かも知れない)。ただ正規表現を使えないのが……かなり痛い。全角スペースのみのp要素とかを判別するのは、ちょっと現実的ではないかも。

また当然ながら、タグの閉じ忘れや入れ子構造の不正があれば、message要素など使わずともパースエラーとして処理は中断される。


webmaster@jintrick.net
公開: 2002年06月29日
カテゴリ: XSLT