ファイヤープロジェクト
SiteGeneratorによるfeatureの自動生成
2003-08-17T00:15+09:00   matsu
ここではSiteGeneratorによるfeatureの記事の自動生成について記述する.
contentsの子要素featureで表されるコーナーでは,カテゴリさらにサブカテゴリに分類された記事のXML文書を投入することで(※),その記事のHTML文書,カテゴリ毎のインデクスファイル,RSSファイル,新着記事情報を生成することができる.この記事のXML文書はarticle.dtdに従って記述する.article.dtdで定義されている各要素や属性の大半は,DTDファイル自身のコメントで十分理解出来ると思う.したがって,ここでは特に注意すべき点のみを記述する.
※記事のXML文書を格納するディレクトリに関するルールは先のページで示した.
SiteGeneratorは全体的に想定しているタグの種類は少ない.これは必要なデータのみをXML文書の要素として記述し,肝心の本文は従来通りHTMLで記述することで(※1),SiteGeneratorを使用するユーザへの負担を軽減するためである.で,その本文をHTMLでそのまま記述すると,全体のXML文書が整形式文書にならないおそれがある.また,XML文書の妥当性検証ツールを使用する際の妨げにもなる.これらを回避するために,本文などにHTML文書を記述する時には,CDATAセクションにする.以下例
<paragraph>
<caption>見出し</caption>
<body><![CDATA[
<br>
<ul>
<li>hoge
</ul>
]]></body>
</paragraph>
※1 もちろんベタのテキストでも構わない.
※2 brやliなど,閉じタグの必要ないHTMLタグのせい.
要素categoryの必須属性idにはそのXML文書が属するサブカテゴリのidを記述する.先のページで示したように,サブカテゴリのidはさらに親のidを含んでいる.SiteGeneratorはこの仕組みを使用して,そのXML文書が適切なディレクトリに格納されているかどうかをチェックする.
要素categoryの必須属性noにはそのXML文書のサブカテゴリ内での番号を記述する.カテゴリ毎のインで樟では,この番号の昇順にコンテンツが記述される.
要素dateには記事を記述した日付と時間を記述する.フォーマットはW3CDTFの以下のフォーマットに従う.
YYYY-MM-DDThh:mmTZD
たとえば,このページのXML文書のdate要素の内容は以下と同値である.
2003-08-16T19:15+09:00
TZDには日本なら+09:00と記述する.
matsu(C)
Since 2002
Mail to matsu