XHatenaML 0.91 サンプルダイアリー

2004-06-15 XHatenaML の名前空間について

XHatenaML の名前空間としては暫定的に http://www.horobi.com/2004/xhatenaml/0.91 を使います。 まだ要素名/属性名が変更になる可能性があるので注意。

2004-06-14 日記とセクションについて

一日分の日記は day 要素の中に書きます。日付は YYYY-MM-DD 形式で day 要素の date 属性に書きます。

日記の大見出しはその最初に書きます(省略も可能)。以下、最初にセ クションが出てくるまでは任意のブロックレベル要素(p, div など)が書 けます*1

セクションは小見出しを付けたひとまとまりの日記の部分です。はて なの入力ルールだと、

* [section] セクション内の記述について

で区切られた内容に相当します。セクションを作ると、その日の日記 のそれ以下の部分にはセクションしか書けません。

[][]セクション内の記述について

セクションの内容は section 要素の中に書きます。セクションを識 別する ID を section 要素の id 属性に書けます。これは、はてなの 入力ルールだと、以下のような name 属性指定付きの小見出し*2に相当 します。

*section-content*セクション内の記述について

セクション内容の先頭にはタイトルとカテゴリが書けます。タイト ルは title の中に書きます。セクションのタイトル内ではインライン レベル要素が利用できます。タイトルは省略できません。

カテゴリは c 要素の中に一つずつ書きます。複数のカテゴリは複数 の c 要素で表現します。カテゴリ内ではタグは使えません。カテゴリ は省略可能です。また、カテゴリはタイトルの手前に書いても後ろに書 いても構いません。

タイトルとカテゴリより後ろには、内容文を含む任意のブロックレ ベル要素が書けます。

*1:最初のセクションより手前に書いたブロック要素の列をまと めて「匿名セクション」または「疑似セクション」と呼びます。

*2:こ れはセクションのアンカーの名前を指定するものです。

2004-06-13

XHTML の要素について

はてなダイアリー利用可能タグにある HTML 要素に対応する XHTML の要素が使えます。構文上の制約は XHTML 1.0 transitional に ほぼ相当します。

なお、これらの要素は XHatenaML の名前空間に含めた形で利用しま す。

TeX 数式について

tex 要素の exp 属性に TeX 形式の数式を書くことで数式を表現します。 tex 要素は空要素です。

はてなの入力ルールの [tex:x^2 + y^2 = z^2] は **未実装** と書きます。

キーワード参照について

kw 要素内に語句を書くことでキーワードを表現します。同時にその キーワード(の解説)の参照も表現します。kw 要素の g 属性にグループ 名を指定するとグループ内のキーワードの参照になります。

はてなの入力ルールの [[keyword:はてな]] (または [[はてな]]) は はてな、[g:hatena:keyword:はてなダイアリー利用可能タ グ] は はてなダイアリー利用可能タグ と書きま す。

URL参照について

url 要素内に URL を書くことで URL の参照を表現します。例えば http://www.horobi.com/xml/XHatenaML/ への参照は http://www.horobi.com/xml/XHatenaML/ と書きます。

ASIN/ISBN参照について

ref 要素で ASIN/ISBN の参照を表現します。asin 属性に ASIN ナ ンバーを書くとアマゾンの商品の、isbn 属性に ISBN ナンバーを書く と書籍の参照になります。asin 属性と isbn 属性は排他的に使用しま す。これは必須の属性で asin か isbn のどちらかを必ず指定します。

加えて image 属性で書影の表示を指定できます。image 属性値には "small", "medium", "large" の三種類の値が指定できます。image 属 性を指定しないと書影なしを指定したことになります。

はてなの入力ルールの asin:B0000C002T:image は 、 isbn:4-87311-031-9:image:small は と書きます。

日記の参照について

ref 要素で日記の参照を表現します。id 属性に日記所有者のユーザ idを書くとそのユーザの日記の参照になります。加えて ref 属性に日 付やセクションid付きの日付を書くと、日記の該当個所の参照になりま す。さらに g 属性にグループ名を書くと、id で指定したユーザのその グループ内での日記への参照になります。id 属性は必須ですが、他の 属性は省略可能です。また、ref 要素は空要素です。

はてなの入力ルールの id:hatenadiary:20040611 は :id:hatenadiary:20040611、 g:hatena:id:hatenadiary は g:hatena:id:hatenadiary と書きます。

グループ/アンテナ参照について

ref 要素でグループ/アンテナの参照を表現します。g 属性にグルー プ名を書くとグループの、a 属性にアンテナ所有者のユーザidを書くと そのユーザのアンテナの参照になります。これらの属性は排他的に使用 します。また、ref 要素は空要素です。

はてなの入力ルールの g:hatena は g:hatena、 a:id:hatenadiary は a:id:hatenadiary と書きます。

検索参照について

sf 要素内に検索式を書くことで検索結果の参照を表現します。sf 要素の type 属性に "google" を指定すると google による検索結果の、 "amazon" を指定すると amazon による検索結果の参照になります。

はてなの入力ルールの [google:はてな] は google:はてな、[amazon:はてな] は amazon:はてな と書きます。

脚注について

note 要素内に文章を書くことで脚注を表現します *1 。脚注内には任意のインラインレベル要素、ブロックレベル要素が書け ます*2。ただし、 note や、直接・間接に note を含む要素は書けません。

*1: これは、はてなの入力ルールの

((脚注内容))
に相当します。

*2:はてなダイアリーはページ生成時に脚注の内容を HTML の p 要素に入れるので、脚注にブロックレベル要素を書くとはてなダイアリー と互換性がなくなります。ページ生成でエラーになるわけではありませ んが、生成されたページは valid な HTML ではなくなり、表示も期待 したレイアウトで表示されなくなることがあります。