標準情報(TR)    TR X 0082:2003


文書オブジェクトモデル(DOM)水準2 スタイル規定

Document Object Model (DOM) Level 2 Style Specification



序文

この標準情報(TR)は,2000年11月にWorld Wide Web Consortium(W3C)から公表された Document Object Model (DOM) Level 2 Style Specification, version 1.0 勧告を翻訳し,技術的内容を変更することなく作成した標準情報(TR)である。


0. 適用範囲

この標準情報(TR)は,プログラム及びスクリプトがスタイルシート文書の内容に動的にアクセスし更新することを可能にする,プラットフォーム中立で言語中立なインタフェースである文書オブジェクトモデル水準2のスタイルシート及び段階スタイルシート(CSS)を規定する。文書オブジェクトモデル水準2 スタイルは,文書オブジェクトモデル水準2 コア[DOM Level 2 Core]及び文書オブジェクトモデル水準2 ビュー[DOM Level 2 Views]の上に構築される。

1. 文書オブジェクトモデルスタイルシート

1.1 導入

DOM水準2スタイルシートのインタフェースは,あらゆる種類のスタイルシートをも表現するのに用いられる基底インタフェースとする。特定のスタイルシート言語を表現するDOMモジュールは,これらのインタフェースから派生するインタフェースを含んでよいことが期待される。

1.の中で示すインタフェースは,必須ではない。DOMアプリケーションは,このモジュールが実装によってサポートされるかどうかを決定するために,DOMImplementationインタフェースのhasFeature(feature, version)メソッドを,そのパラメタ値をそれぞれ"StyleSheets"及び"2.0"として使用してもよい。 このモジュールを十分にサポートするためには,実装は,DOM水準2 コア規定[DOM Level 2 Core]の中で定義される"コア"機能もサポートしなければならない。DOM水準2 コア規定[DOM Level 2 Core]における適合性に関する追加情報を参照すること。

1.2 スタイルシートインタフェース

次のインタフェースの集合は,スタイルシートの共通記法を表現する。

インタフェース StyleSheet (DOM水準2で導入)

StyleSheetインタフェースは,あらゆる種類のスタイルシートのための抽象基底インタフェースとする。それは,構造化文書に関連する一つのスタイルシートを表現する。 HTMLにおいては,StyleSheetインタフェースは,HTMLのLINK要素によって取り込まれる外部スタイルシート,又は行内のSTYLE要素のどちらかを表現する。 XMLにおいては,このインタフェースは,スタイル処理命令によって取り込まれる外部スタイルシートを表現する。


IDL定義
// Introduced in DOM Level 2:
interface StyleSheet {
  readonly attribute DOMString        type;
           attribute boolean          disabled;
  readonly attribute Node             ownerNode;
  readonly attribute StyleSheet       parentStyleSheet;
  readonly attribute DOMString        href;
  readonly attribute DOMString        title;
  readonly attribute MediaList        media;
};

属性
booleandisabled
スタイルシートが文書に適用される場合,falseとなり, そうでない場合,trueとなる。この属性を変更することで,文書のスタイルを新しくできる。適切なメディア定義があって,しかもdisabled属性がfalseの場合だけに,スタイルシートが適用される。そこで,メディアが現在の利用者エージェントに適用できない場合には,disabled属性は無視される。
DOMStringhref,読取り専用
スタイルシートがリンクされたスタイルシートの場合,属性の値は,その位置とする。行内スタイルシートについては,この属性の値は,nullとする。HTML 4.0のLINK要素のためにはhref属性定義,及びXMLのスタイルシート処理命令のためにはhref擬似属性を参照すること。
MediaListmedia,読取り専用
スタイル情報のために意図する到達先メディア。メディアは,ownerNodeの中で指定されることが多い。 メディアが指定されない場合には,MediaListは空になる。HTML 4.0のLINK要素のためにはメディア属性定義,及びXMLのスタイルシート処理命令のためにはメディア擬似属性を参照すること。メディアリストを修正することによって,disabled属性への変更を生じてもよい。
NodeownerNode,読取り専用
このスタイルシートを文書に関連付けるノード。 HTMLに対しては,これは,対応するLINK要素又はSTYLE要素であってよい。XMLに対しては,これは,リンク付け処理命令であってよい。他のスタイルシートによって取り込まれるスタイルシートに対しては,この属性の値は,nullとする。
StyleSheetparentStyleSheet,読取り専用
スタイルシート取込みの概念をサポートするスタイルシート言語に対しては,この属性は,取り込む側の(親の)スタイルシートが一つ存在する場合には,それを表現する。スタイルシートが最上位のスタイルシートの場合,又はスタイルシート言語が取込みをサポートしていない場合,この属性の値は,nullとする。
DOMStringtitle,読取り専用
助言となる標題。この標題は,ownerNodeの中で指定されることが多い。HTML 4.0のLINK要素のためには標題属性定義,及びXMLのためにはスタイルシート処理命令に関する標題擬似属性を参照すること。
DOMStringtype,読取り専用
このスタイルシートのためのスタイルシート言語を指定する。スタイルシート言語は,(例えば,"text/css"などの)内容型として指定される。内容型は,ownerNodeの中で指定されることが多い。 HTML 4.0のLINK要素のためには型属性定義,及びXMLのためにはスタイルシート処理命令に関する型擬似属性も参照すること。

インタフェース StyleSheetList (DOM水準2で導入)

StyleSheetListインタフェースは,スタイルシートの順序付き集合の抽象化を与える。

StyleSheetListにおける項目は,0から始まる整数インデクスによってアクセスできる。


IDL定義
// Introduced in DOM Level 2:
interface StyleSheetList {
  readonly attribute unsigned long    length;
  StyleSheet         item(in unsigned long index);
};

属性
unsigned longlength,読取り専用
リストの中のStyleSheetsの数。妥当な子スタイルシートインデクスの範囲は,0からlength-1までとする。
メソッド
item
順番を示すインデクスによってスタイルシートを取得するために用いる。インデクスが,リストの中のスタイルシートの数以上の場合には,これは,nullを返す。
パラメタ
unsigned longindex
集まりへのインデクス。
返却値

StyleSheet 

StyleSheetListの中のindexの位置にあるスタイルシート,又はそれが妥当なインデクスでない場合には,null

例外なし

インタフェース MediaList (DOM水準2で導入)

MediaListインタフェースは,この集まりの実装方法を定義又は制約することなしに,メディアの順序付き集まりの抽象化を与える。空リストは,メディア"all"を含むリストと同じとする。

MediaListにおける項目は,0から始まる整数インデクスによってアクセスできる。


IDL定義
// Introduced in DOM Level 2:
interface MediaList {
           attribute DOMString        mediaText;
                                        // raises(DOMException) on setting

  readonly attribute unsigned long    length;
  DOMString          item(in unsigned long index);
  void               deleteMedium(in DOMString oldMedium)
                                        raises(DOMException);
  void               appendMedium(in DOMString newMedium)
                                        raises(DOMException);
};

属性
unsigned longlength,読取り専用
リストの中のメディアの数。有効なメディアの範囲は,0からlength-1までとする。
DOMStringmediaText
メディアリストの構文解析可能なテキスト表現。これは,コンマで分離されたメディアのリストとする。
設定に関する例外

DOMException 

SYNTAX_ERR: 指定された文字列値が構文エラーをもち,構文解析できない場合に,挙げられる。

NO_MODIFICATION_ALLOWED_ERR: メディアリストが読取り専用の場合に,挙げられる。

メソッド
appendMedium
リストの末尾にメディアnewMediumを追加する。newMediumが既に使用されている場合には,それが,最初に取り除かれる。
パラメタ
DOMStringnewMedium
追加される新しいメディア。
例外

DOMException 

INVALID_CHARACTER_ERR: メディアが,基礎となるスタイル言語の中で有効でない文字を含む場合に,挙げられる。

NO_MODIFICATION_ALLOWED_ERR: このリストが読取り専用の場合に,挙げられる。

返却値なし
deleteMedium
oldMediumによって指示されるメディアを,リストから削除する。
パラメタ
DOMStringoldMedium
メディアリストの中で削除するメディア。
例外

DOMException 

NO_MODIFICATION_ALLOWED_ERR: このリストが読取り専用の場合に,挙げられる。

NOT_FOUND_ERR: oldMediumがリストの中に存在しない場合に,挙げられる。

返却値なし
item
リストの中のインデクス番目を返す。インデクスがリストの中のメディアの数以上の場合,これは,nullを返す。
パラメタ
unsigned longindex
集まりへのインデクス。
返却値

DOMString 

MediaListの中にあるインデクス番目の位置のメディア,又はそれが有効なインデクスでない場合には,null

例外なし

1.3 文書拡張

インタフェース LinkStyle (DOM水準2で導入)

LinkStyleインタフェースは,スタイルシートを文書にリンク付けする働きをもつノードからそのスタイルシートを取得できる機構を与える。LinkStyleインタフェースのインスタンスは,リンク付けノードのインスタンスにおける束縛固有のキャストメソッド(DOM水準2のHTMLLinkElementHTMLStyleElement又はProcessingInstruction)を用いて,得ることができる。


IDL定義
// Introduced in DOM Level 2:
interface LinkStyle {
  readonly attribute StyleSheet       sheet;
};

属性
StyleSheetsheet,読取り専用
スタイルシート。

インタフェース DocumentStyle (DOM水準2で導入)

DocumentStyleインタフェースは,文書に組み込まれたスタイルシートを取得できる機構を与える。DocumentStyleインタフェースのインスタンスは,Documentインタフェースのインスタンスにおける束縛固有のキャストメソッドを用いて,得ることができると期待される。


IDL定義
// Introduced in DOM Level 2:
interface DocumentStyle {
  readonly attribute StyleSheetList   styleSheets;
};

属性
StyleSheetListstyleSheets,読取り専用
明示的に文書にリンクされているか,又は文書に組み込まれているすべてのスタイルシートを含むリスト。HTML文書については,これは,HTMLのLINK要素によって取り込まれる外部スタイルシート,及び行内のSTYLE要素を含む。XMLについては,これは,スタイルシート処理命令([XML-StyleSheet]参照)によって取り込まれる外部スタイルシートを含む。

1.4 スタイルシートと文書との間の関連

HTML及びスタイルシート生成
スタイルシートは,次の二つのうち一つの方法でHTML文書に関連付けることができる。
  • 新しいLINK HTML要素を生成することによる([DOM Level 2 HTML]及び[HTML4.0]におけるHTMLLinkElementインタフェース参照)。要素が文書中に挿入され,リンク付けされたオブジェクトがスタイルシートであることを示す方法で,href属性及びtype属性の両方が設定された後に,基礎となるスタイルシートが生成される。
  • 新しいSTYLE HTML要素を生成することによる([DOM Level 2 HTML]及び[HTML4.0]におけるHTMLStyleElement参照)。要素が文書中に挿入され,利用者エージェントによって解釈されるスタイルシート言語にその要素が対応することを示す方法で,type属性が設定された後に,基礎となるスタイルシートが生成される。
HTML及びスタイルシート取除き
LINK HTML要素又はSTYLE HTML要素を取り除くことによって,文書と関連するスタイルシートの集まりから基礎となるスタイルシートが取り除かれる。特に,取り除かれたスタイルシートは,もはや文書の表示に適用されない。
XML及びスタイルシート生成
新しいスタイルシートは,ターゲット'xml-stylesheet' [XML-StyleSheet]をもつ処理命令の生成及びそれの文書中への挿入によって,生成され,XML文書と関係付けられる。
XML及びスタイルシート取除き
'xml-stylesheet' [XML-StyleSheet]のターゲットをもつ処理命令を取り除くことによって,文書と関連するスタイルシートの集まりから基礎となるスタイルシートが取り除かれる。特に,取り除かれたスタイルシートは,もはや文書の表示に適用されない。