両方とも HTML 4.0 の標準仕様の中にある二つの仕組みが 動的に生成される
コンテンツでの要素(タグ)を識別するのに用いられる。 大抵のタグで有効な
id
属性はそのドキュメント内で特定の要素のユニークな識別子として用いられる。
要素は class
属性を用いてグルーピングされる。class
の名前はある操作をどのグループの要素に実行するかを見つけるのに用いられる。
与えられた要素が 複数の class
属性を持つことで複数のグループに属していることもある。
これらの属性は共に HTML 4.0 の中で定義されているので大抵の HTML ツールでは理解できない属性として
無視され、それが原因で問題は発生しない。
これらの属性の例は以下のとおりである。
<input type="text" name="username" id="username"> <tr class="deleteRow">
こうした識別子は、ドキュメントのデザイナーとこのページの動的なコンテンツを生成するための コードを書いているプログラマーとの間に整った形のインターフェイスを提供する。 デザイナーとプログラマがこうした識別子に対して注意深く作業を進めることで、 お互いに全く並行にそれぞれの開発を進めることができる。
id
属性や class
属性の利用では他の用途での利用
例えば JavaScript からのアクセスなど、とはぶつからないようになっている。
id のやることは全て、要素にユニークな名前を与えることであり、その用途を定義するものではない。
同じ id へは JavaScript からも XMLC で生成されたオブジェクトからもアクセス可能である。
class
属性は 空白によって区切られた名前のリストである。
よって一つの要素は一つ以上のクラスに属することができる。
id
属性によって要素にユニークな識別子を与える主な理由は
Element
オブジェクトとしては直接含まれていない。Text
ノードとして含まれている。
そのテキストを見つけるには、それを含め要素にユニークな識別子を与える必要がある。
id
属性を持つ HTML 4.0 準拠 の <span>
タグが大きなテキストまとまりの中の部分的なテキストにアクセスする際に利用されるかもであろう。
class
属性によって複数の要素をグルーピングにする幾つかの理由は
XMLC の目標の一つが HTML ファイルに仮のコンテンツを残したままでも良いようにする事なので、
URL は Servlet のような 動的に生成されたコンテンツよりも固定した HTML のページを参照し
ていなければ成らない。しかしながらこのことにより 更新しなければならない URL をもった要素に
一々識別子をつけて区分けする必要が生じるわけではない。
こうした要求事項は XMLC のコンパイル時に
-urlmapping
や
-urlregexpmapping
や
-urlsetting
オプションを用いることで実現できる。