9. SMIL 2.0構造モジュール

9.1 導入

9.では,SMIL構造モジュールを定義する。構造モジュールは,SMIL内容を構造化するための基本的な要素を提供する。これらの要素は,すべてのSMILホスト言語適合言語プロファイルの内容モデルのルートとして動作する。構造モジュールは,SMILホスト言語適合言語プロファイルの必須モジュールとする。

SMIL構造モジュールは,smil要素,head要素及びbody要素で構成されており,SMIL 1.0 [SMIL10]と互換性がある。 対応するSMIL 1.0要素は,その属性及び内容モデルがこの構造モジュールによっても表現されており,構文及びセマンティクスの両方でこの構造モジュールの部分集合となっている。したがって,構造モジュールは,SMIL 1.0と後方互換性がある。

9.2 SMIL 2.0構造モジュールの構文及びセマンティクス

9.2.1 要素及び属性

9.2.1では,SMIL 2.0構造モジュールを構成する要素及び属性を定義する。

smil要素

smil要素は,すべてのSMILホスト言語適合言語プロファイルのルート要素として作用する。

要素の属性

smil要素は,次の属性をもつことができる。

id
id属性は,文書内の要素を一意的に識別する。その値は,XML識別子とする。
class
class属性は,一つのクラス名又はクラス名の集合を要素に割り当てる。任意の数の要素に対して,同じクラス名を割り当ててもよい。複数のクラス名は,空白文字で分けなければならない。
xml:lang
xml:lang属性は,要素の言語を指定する。この属性は,XML 1.0[XML10]で指定されている。 xml:langは,一つの重要な点で,systemLanguage試験属性とは異なっている。xml:langは,内容の言語についての情報を,実装がその情報を用いて何をするかには依存せずに提供するのに対し,systemLanguageは,特定の関連付けられた振る舞いをもつ試験属性とする(詳細については,SMIL 2.0 BasicContentControlモジュールsystemLanguageを参照)。
title
title属性は,それが設定されている要素に関する説明を行う情報を提供する。title属性の値は,利用者エージェントによって,さまざまな方法で表示されてよい。例えば,視覚化ブラウザは,ツールティップ(オブジェクト上に位置決め装置が止まったときに現れる短いメッセージ)としてタイトルを表示することが多い。
xmlns
xmlns属性は,XML名前空間を宣言する。この属性は,"XML名前空間" [XML-NS]で定義されている。
要素の内容

smil要素は,次の要素を含むことができる。

head
body

head要素

head要素は,プレゼンテーションの時間的振る舞いと関係ない情報を含む。三つの型の情報が,headに含まれてよい。それは,メタ情報レイアウト情報及び制作者が定義した内容制御とする。

要素の属性

head要素は,次の属性をもつことができる。

id
smil要素のidで定義される。
class
smil要素のclassで定義される。
xml:lang
smil要素のxml:langで定義される。
title
smil要素のtitleで定義される。
要素の内容

head要素は,他のモジュール,及びこのモジュールを統合する言語プロファイルに含まれる特定の構文に依存する要素を含む。

body要素

body要素は,文書の時間に関係した情報,及びリンクの振る舞いと関係した情報を含む。これは,タイミング木のルート要素として動作する。

body要素は,seq要素[BasicTimeContainersモジュール]のセマンティクスと同じ時間コンテナのタイミングセマンティクスをもつ。 他の(構造)モジュールのbody要素が使用されている他の言語プロファイルでは,body要素は,異なったタイミングセマンティクスをもってよいことに注意すること。例えば,XHTML+SMIL言語プロファイル(まだ審議中で,最終原案には至っていない。)では,body要素はXHTMLからのものであって,par時間コンテナとして動作する。

要素の属性

head要素は,次の属性をもつことができる。

id
smil要素のidで定義される。
class
smil要素のclassで定義される。
xml:lang
smil要素のxml:langで定義される。
title
smil要素のtitleで定義される。

さまざまなSMIL 2.0タイミングモジュールで定義されるタイミング属性は,BasicInlineTimingのような対応するタイミングモジュールが言語プロファイルの一部となっている限り,body要素の一部となる。タイミングモジュールが,ある言語プロファイルに含まれる場合, そのモジュールの機能は,そのプロファイルの他の要素でサポートされるのと同じようにbody要素でもサポートされることが望ましい。例えば, SyncMasterモジュールが,統合プロファイルに含まれている場合,syncMaster属性は,body要素上でサポートされることが望ましい。

要素の内容

body要素は,他のモジュール,及びこのモジュールを統合している言語プロファイルに含まれる特定の構文に依存する要素を含む。

9.3 SMIL構造モジュールの統合

このモジュールが言語プロファイルに含まれている場合,このモジュールで定義されているid属性,class属性及びtitle属性は,他のモジュールファミリの要素及びSMIL規格以外の要素を含め,すべての要素に対して定義されなければならない。このモジュールを統合するプロファイルは,適用可能な要素に対してxml:lang属性を定義することを考慮することが望ましい。

任意のSMILホスト言語適合の言語プロファイルを構築する場合,SMIL構造モジュールは,その起点モジュールとなる。構造モジュールは,他のSMILホスト言語に適合しない言語プロファイルを構築するときには使用しなくてもよい。これは,SMIL構造モジュールが,少なくともSMILホスト言語適合であるために必要な他のモジュールを伴うことが必須であって,構造モジュールの中の要素が,少なくともSMILホスト言語適合であるために必要な最小内容モデルを含んでいなければならないこと意味している。

SMIL 2.0名前空間に属さないモジュールが言語プロファイルに統合されている場合,それら非SMILモジュールの要素をどのようにしてSMILモジュールの内容モデルに組み込むか(及びその逆)を指定しなければならない。例えば,SMIL構造モジュールに関しては,DTDのプロファイル化実体は,上書きされる必要がある。これは,いわゆるハイブリッド文書型 [XMOD]を作成する。いわゆる複合文書型の場合,XML名前空間[XML-NS]の規則が満たされなければならない。