制作者の活動(PR)。

アイドル・堀北真希ちゃんはうさぎの耳が似合うと思って創作した女子大生キャラクタ
主な作品

ソフトコンタクトレンズを装着している堀北真希うさぎ(うさ耳女子大生)のイラストと仮想CM動画〜平成一桁頃のボシュロム製コンタクト『オプティマ』のCM風に〜

XHTML 2.0について。

勧告に向けて策定作業が行われていたものの、結局廃案になった"自称次世代HTML"・XHTML 2.0についてのお話です。

XHTML 2.0について・目次。

XHTML 2.0の主な特徴。

XHTML 2.0は在来のXHTML 1.1までとは大きく異なります。

ここでは、制作者が大きな変更だと感じたものを挙げておきましょう。

<section>要素の導入に依る、ブロックの構造化。

ISO-HTMLでも既に<h○>要素に依る見出しの等級でセクション構造が見えるようにしておりますが、XHTML 2.0ではセクションを明示する<section>要素が導入されます。

また、<section>要素内の見出しとしては、<h>要素が利用出来ます。

<p>要素の拡張。

現行の仕様では、<p>要素にはブロックレヴェル要素を入れる事は出来ません。

これは、恐らく"伝統的な理由"に依るものと思われますが、実際には<p>要素が段落を表す要素である以上、リストや表組などのブロックレヴェル要素も含んでも構わないとするべきではないか。

と言う事で、XHTML 2.0では<p>要素内に以下のブロックレヴェル要素を含む事を許しております。

構造モジュールに導入される新しいブロックレヴェル要素。

ブロックレヴェル要素にもいろいろありますが、<h○>要素<p>要素などテキスト構造をマークアップする要素は構造モジュールとしてとして扱われる事になります。

この構造モジュールには、以下の要素が新たに追加される予定です。

<blockcode>要素
<pre>要素と殆ど変わりませんが、コンピュータ言語のソースコードを記述するために特化した要素です。

<dl>要素の拡張。

現在、定義リストを表す<dl>要素には、直下に任意の個数の<dt>要素<dd>要素を入れられます。

では、複数の<dt>要素が並ぶ場合、その後の<dd>要素は幾つの<dt>要素に対応するでしょうか。

HTML 4/XHTML 1 リファレンス<dt>要素解説内の<dt>要素を連続させる事についてで挙げている例ですが、例えば、

<p>弊社商品は以下の箇所でお取り扱いしております。</p>
<dl>
    <dt>○○浦和店</dt>
    <dt>△△大宮店</dt>
    <dd>△△大宮店ではお取り扱い品目が限られます。</dd></dl>

とある場合、日本語が解る人間なら、この<dd>要素は一番目の<dt>要素には掛からず、二番目の<dt>要素のみに掛かっている事が文脈から分かります。

一方、

<p>弊社商品は以下の箇所でお取り扱いしております。</p>
<dl>
    <dt>○○浦和店</dt>
    <dt>△△大宮店</dt>
    <dd>いずれもお取り扱い品目が限られます。</dd></dl>

とある場合、日本語が解る人間なら、この<dd>要素は一番目と二番目双方の<dt>要素に掛かっているのは明らかでしょう。

このように、現行の仕様では<dt>要素<dd>要素の組合せを明確に区別する事は出来ません。

そこで、XHTML 2.0では<dt>要素<dd>要素の組合せを明示する<di>要素が定義されます。

これに依り、前者の例では、

<p>弊社商品は以下の箇所でお取り扱いしております。</p>
<dl>
    <dt>○○浦和店</dt>
    <di>
        <dt>△△大宮店</dt>
        <dd>△△大宮店ではお取り扱い品目が限られます。</dd>
        </di></dl>

とする事で、人間語が理解出来ないコンピュータでも一番目の<dt>要素は直後の<dd>要素に対応していない事が認識出来ます。

一方、後者の例でも、

<p>弊社商品は以下の箇所でお取り扱いしております。</p>
<dl>
    <di>
        <dt>○○浦和店</dt>
        <dt>△△大宮店</dt>
        <dd>いずれもお取り扱い品目が限られます。</dd>
        </di></dl>

とする事で、コンピュータでも一番目と二番目の双方の<dt>要素が直後の<dd>要素に対応している事が認識出来ます。

リスト系要素一般の拡張。

<nl>要素の追加。

ナヴィゲーションのためのリストに特化した<nl>要素が追加されます。

内容としては、新たに追加された<label>要素(現行の<label>要素とは無関係)を一つ記述した後に任意箇の<li>要素が入ります。

<label>要素の追加。

リスト系要素(<ul>要素, <ol>要素, <nl>要素及び<dl>要素)には、リストへのキャプションとなる<label>要素が追加されます。

これは、<table>要素<caption>要素に相当するものとお考えになれば分かり易いでしょう。

尚、新設される<nl>要素(ナヴィゲーションリスト)では<label>要素は必須となります。

インライン要素の変更。

<acronym>要素は廃止され、<abbr>要素に統合されます。
個人的には、<acronym>要素は残しても良さそうな気はしますが。
<br>要素は廃止され、代わりに論理行を表す<l>要素が追加されます。

新設される<blockcode>要素(コンピュータコードのブロック)内で、行を記述するのに使う事を想定しているようですが、一般のテキストに使ってはいけないと言う事ではありません。

尚、<br>要素そのものに否定的な意見を持つ者も少なくなく、この要素も肯定されないのではないかと思われます。

物理要素の整理

<b>要素, <i>要素, <tt>要素, <big>要素及び<small>要素は全廃されますが、<sup>要素<sub>要素は存続します。

<sup>要素<sub>要素も物理要素ですが、数式及び化学式の記述や、仏語などで必要なので存続するようです。

<img>要素の拡張。

当初、XHTML 2.0では<img>要素を廃止する予定でしたが、拡張して存続させる事になったようです。

従来、<img>要素は空要素とし、代替テキストをalt属性で記述する事とされておりましたが、これを代替テキストを内容にもつ要素に変更しました。

具体的には、以下のように記述する事になります。

<h><img src="Marguerite.GIF">しらぎくさいと。</img></h>

この場合、GIF画像「Marguerite.GIF」が読み込めない場合には、内容となる「しらぎくさいと。」が取扱われる事になります。

画像などを埋め込む属性の追加。

共通属性として、画像などのオブジェクトを埋め込む属性が追加されます。

具体的には、src属性で埋め込みたいオブジェクトのURIを指定し、srctype属性でそのオブジェクトのタイプを指定します。

指定されたオブジェクトが埋め込める場合は、当該要素の内容を取扱わずに当該オブジェクトを埋め込みます。

指定されたオブジェクトが読めなかった場合は、その理由を問わず、当該要素の内容を取扱うものとします。

これに依り、以下のようなオブジェクトの入れ子関係を持たせる事も可能です。

<p srctype="application/x-shockwave-flash" src="newProducts.swf">
    <span srctype="image/gif" src="newProducts.gif">
        近日発売の新製品は…
        </span>
    </p>

この場合、<p>要素の属性で指定されたフラッシュ動画が表示出来ない場合、代わりに直下の<span>要素の属性で指定されたアニメーションGIF画像が埋め込まれます。

アニメーションGIF画像も表示出来ない場合に限り、<span>要素の内容のテキストが取扱われる事になります。

尚、srctype属性は複数のタイプを指定する事も出来ます。

共通属性にhref属性やcite属性などが追加され、この結果全ての要素がリンクとして機能出来るようになります。

XHTML 2.0を使うには。

XHTML 2.0は従来のHTMLとの互換性が無いため、XHTML 2.0でマークアップした文書を公開するには、文書タイプをapplication/xhtml+xmlにしないと拙いでしょう。

また、名前空間はXHTML 1.xのそれと異なり、http://www.w3.org/2002/06/xhtml2/となります。

この名前空間を認識するユーザエージェントは今のところ無いようで、このためXHTMLの要素ではなく、一般XMLの要素と認識するかも知れません。

このため、現行のユーザエージェント向けに利用するとしたら、XSLスタイルシートでXHTML 1.xかHTML 4.01に変換する必要があるでしょう。

しらぎくのウェブサイト作成入門サイトマップ

ページ外へのご案内。

marguerite.site@gmail.com