SMIL 1.0[SMIL10]が公表されてから,SMILの概念と,HTML(HyperText Markup Language)[HTML4]及び他のXML言語との統合に関する関心が高まってきた。同様に,W3C HTML作業グループは,HTMLを,部分集合化し,拡張し,他の言語に統合する準備において,XHTML(Extensible HyperText Markup Language)[XHTML10]を規定した。それぞれの機能を他のXMLに基づく言語に統合するために考えられた戦略は,モジュール化 及びプロファイル化 の概念に基づいている([SMIL-MOD]及び[XMOD])。
モジュール化 は,意味的に関係するXMLの要素,属性及び属性値を含むモジュールの集合として,マーク付け機能を指定するアプローチとする。プロファイル化は,特定のアプリケーションによって要求された機能を提供するために,これらのモジュールを結合することを通じてXMLに基づく言語を生成することとする。
プロファイル化は,例えば,クライアントの能力のためにプレゼンテーション及び相互作用を最適化するといった特定の必要性にXMLに基づく言語を合わせる能力を導入する。プロファイル化は,他のマーク付け言語からの機能を統合し,その機能を指定することから言語設計者を解放するための能力も追加する。さらに,それは,機能を組み込むために同じモデルを使用することでマーク付けの一貫性に備える。同一の構成要素が制作を容易にし,その一方で,利用者側ではコードの再利用の可能性をもたらす。例えば,SMIL文書,XHTML+SMIL文書及びSVGの文書に対して,SMILのタイミング及び同期の機能を支援するスケジューラを使用できる。
言語設計者は,モジュール化によって,他の既存の言語プロファイルとの統合を意図した専用のマーク付けを規定できる。それら統合のために意図された規定の例には,MathML[MathML]及びXForms[XFORMS]がある。
モジュール化及びプロファイル化は,XML[XML10]の拡張可能性の特性,並びにXML名前空間[XML-NS]及びXMLスキーマ[XSCHEMA]といった関係する技術を使用する。
2.では,SMILのモジュール化及びプロファイル化に基づくフレームワークを記述し,SMIL 2.0のモジュール,それらの識別子,及びこのフレームワーク内での適合性要件を規定する。
この規定の中で使用されるモジュール化のアプローチは,XHTMLモジュール化[XMOD]の中で示されているものから派生している。SMILモジュール化及びプロファイル化に基づくフレームワークは,2.1.1では,参考情報として記述される。
モジュール は,機能の一つの単位を表現する意味的に関係したXMLの要素,属性及び属性値の集まりとする。モジュールは,緊密に結びついた一連のもの(集合群)で定義される。この緊密性は,これらのモジュールの要素が同じ名前空間と関連しているという点で表現される。
言語プロファイル は,モジュールの結合とする。モジュールは,原子的(atomic) とする。つまり,言語プロファイルにモジュールが含まれていた場合,それらは部分集合化することができない。さらに,モジュール規定は,そのモジュールを含む言語プロファイルが準拠しなければならない統合要件の集合を含んでもよい。
一般に,単一の名前空間に関連したモジュールをほぼすべて組み込む一つの主となる言語プロファイルが存在する。例えば,SMIL 2.0言語プロファイルは,ほとんどのSMIL 2.0モジュールを使用する。通常,例えば"SMIL 2.0"という,同じ名前を,大雑把に(SMIL 2.0言語プロファイル及びSMIL 2.0モジュール群の)両方を参照するために使用する。さらに,名前"プロファイル"は,"言語プロファイル"を意味するために使用する。
より大きなものの部分集合であったり,又は異なる名前空間に関連したモジュールの混合物を組み込む他の言語プロファイルを規定できる。SMIL 2.0 Basicは,前者の例であって,XHTML+SMILは,後者の例である。
言語プロファイルの中の特殊なモジュールに,いわゆる構造モジュールがあるが,それはその中に言語プロファイルのルート要素(例えば,<smil>又は<html>)を含んでいる。単一の名前空間に関連したモジュールを組み込むいかなる言語プロファイルも,その名前空間に関連した構造モジュールを含む。
特に記述する必要がある他のモジュールに,名前空間によって提供される機能のコアを特徴づけるものがある。これは,ホスト言語 及び統合集合の概念によって表現される。それらは両方とも,言語プロファイルのための適合性要件の集合(それは少なくともモジュールのコア集合を組み込むための要件を含む。)に関係がある。その集合は,ホスト言語及び統合集合に対して異なっていてもよい。ホスト言語は構造モジュールを組み込まなければならないが,統合集合はその必要はない。同様のその他の違いが存在してもよい。
言語プロファイル適合性の主な目的は,相互運用を強化することとする。むしろ,ホスト言語適合性のために必須なモジュールは,文書をレンダリングする処理系が,関連する必須なモジュール集合をサポートする一方で,すべての他の(未知の)要素及び属性を無視する場合に,適合する言語プロファイルで交換されるいかなる文書も理にかなったプレゼンテーションを行うといった方法で,定義される。ここで,"理にかなったプレゼンテーション"は,分かりやすいものとして理解されることが望ましく,必ずしも制作者の元来の意図に近く反映されなくともよい。制作者の意図を正確に反映するためには,文書交換のために使用される特定の言語プロファイルに一致させるための折衝を行わなければならなくなる。
SMILの機能は,10個の機能領域に分けられる。個々の機能領域内では,更なる分割が適用されてモジュールモジュール群となる。これらのモジュールのすべて及びこれらのモジュールだけが,SMIL名前空間と関連する。
機能領域及びそれらの対応するモジュール群は,次のとおり。
これらのモジュールの各々は,意味的に関係する要素,特性及び属性の集合を導入する。個々の機能領域には,この規定における対応する箇条が存在する。モジュールの各々に関する更なる詳細は,それら箇条内で規定される。
モジュールは,独立していても,又は補足的でもよい。例えば,SyncMasterモジュールは,SyncBehaviorモジュールを要求しその上に構築される。しかし,PrefetchControlモジュール及びSkipContentControlモジュールは,互いに独立している。さらに,他の機能領域からのモジュールを要求するモジュールもある。
モジュールは,そのモジュールの統合要求を規定する。一つのモジュールが,基礎的な特徴のために及び統合の前提条件として他のモジュールを要求する場合,言語プロファイルは,最初のモジュールを含むために2番目のモジュールを含まなければならない。(この場合,)最初のモジュールは,2番目のモジュールに依存するという。依存性は入れ子になってもよい。すなわち,モジュールは,それ自体が依存するモジュールに依存してもよい。
表2.1は,SMIL 2.0のモジュール群及びそれらの依存関係を表す。
モジュール | 依存関係 |
AccessKeyTiming | なし |
AudioLayout | BasicLayout |
BasicAnimation | BasicInlineTiming |
BasicContentControl | なし |
BasicInlineTiming | なし |
BasicLayout | なし |
BasicLinking | なし |
BasicMedia | なし |
BasicTimeContainers | なし |
BasicTransitions | なし |
BrushMedia | なし |
CustomTestAttributes | BasicContentControl |
EventTiming | なし |
ExclTimeContainers | なし |
FillDefault | BasicTimeContainers, ExclTimeContainers,及び/又は TimeContainerAttributes |
HierarchicalLayout | BasicLayout |
InlineTransitions | なし |
LinkingAttributes | なし |
MediaAccessibility | MediaDescription |
MediaClipMarkers | MediaClipping |
MediaClipping | BasicMedia |
MediaDescription | なし |
MediaMarkerTiming | なし |
MediaParam | BasicMedia |
MetaInformation | なし |
MinMaxTiming | なし |
MultiArcTiming | AccessKeyTiming, BasicInlineTiming, EventTiming, MediaMarkerTiming, RepeatValueTiming, SyncbaseTiming,及び/又は WallclockTiming |
MultiWindowLayout | BasicLayout |
ObjectLinking | BasicLinking |
PrefetchControl | なし |
RepeatTiming | なし |
RepeatValueTiming | なし |
RestartDefault | RestartTiming |
RestartTiming | なし |
SkipContentControl | なし |
SplineAnimation | BasicAnimation |
Structure | BasicContentControl, BasicInlineTiming, BasicLayout, BasicLinking, BasicMedia, BasicTimeContainers, SkipContentControl,及び SyncbaseTiming |
SyncbaseTiming | なし |
SyncBehavior | BasicTimeContainers, ExclTimeContainers,及び/又は TimeContainerAttributes |
SyncBehaviorDefault | SyncBehavior |
SyncMaster | SyncBehavior |
TimeContainerAttributes | なし |
TimeManipulations | なし |
TransitionModifiers | BasicTransitions,及び/又は InlineTransitions |
WallclockTiming | なし |
SMILは,XMLに基づく言語であって,(XMLの)DOMコア([DOM1]及び[DOM2])に適合する。将来的には,SMILに特定されたDOM勧告が,タイミング及び同期化,メディア統合並びにその他の同期化マルチメディア機能を規定するかもしれない。
言語プロファイルは,DOMサポートを含んでもよい。サポートされるDOMの粒度は,その言語プロファイルの中で選択されるモジュールに対応する。すべてのモジュールと同じように,DOMのために必要なサポートは,言語プロファイルのオプションとする。
2.3では,SMIL 2.0名前空間及びSMIL 2.0モジュールのための識別子を規定する。各SMILホスト言語適合の言語プロファイルは,それを識別するために使用することが望ましい名前空間URIを明示的に示すことを要求される。その名前空間URIは,2.4.3に定義される"SMILホスト言語適合の言語プロファイルのための識別子に関する要件"に準拠しなければならない。
SMIL構造モジュールを含む言語プロファイルで制作された文書は,"application/smil"のMIME型と関連することができる。"application/smil"のMIME型を使用する文書は,ホスト言語適合となるために要求される。
SMIL 2.0モジュールの完全な集合並びに(そのモジュールの)内部に含まれる要素及び属性のためのXML名前空間識別子は,次による。
http://www.w3.org/2001/SMIL20/
この規定における各モジュールは,それに関連する一意な識別子をもつ。それら識別子は,一意に矛盾なくモジュールの各々を識別することを意図している。それら識別子は,特定のSMIL 2.0モジュールを参照する必要がある状況での値としてだけでなく,実装が特定のモジュールを含むかどうかを試験する際の値として使用することが望ましい。
表 2.2は,SMIL 2.0モジュールのための識別子をまとめて示す。
モジュール名 | 識別子 |
AccessKeyTiming | http://www.w3.org/2001/SMIL20/AccessKeyTiming |
AudioLayout | http://www.w3.org/2001/SMIL20/AudioLayout |
BasicAnimation | http://www.w3.org/2001/SMIL20/BasicAnimation |
BasicContentControl | http://www.w3.org/2001/SMIL20/BasicContentControl |
BasicInlineTiming | http://www.w3.org/2001/SMIL20/BasicInlineTiming |
BasicLayout | http://www.w3.org/2001/SMIL20/BasicLayout |
BasicLinking | http://www.w3.org/2001/SMIL20/BasicLinking |
BasicMedia | http://www.w3.org/2001/SMIL20/BasicMedia |
BasicTimeContainers | http://www.w3.org/2001/SMIL20/BasicTimeContainers |
BasicTransistions | http://www.w3.org/2001/SMIL20/BasicTransistions |
BrushMedia | http://www.w3.org/2001/SMIL20/BrushMedia |
CustomTestAttributes | http://www.w3.org/2001/SMIL20/CustomTestAttributes |
EventTiming | http://www.w3.org/2001/SMIL20/EventTiming |
ExclTimeContainers | http://www.w3.org/2001/SMIL20/ExclTimeContainers |
FillDefault | http://www.w3.org/2001/SMIL20/FillDefault |
HierarchicalLayout | http://www.w3.org/2001/SMIL20/HierarchicalLayout |
InlineTransitions | http://www.w3.org/2001/SMIL20/InlineTransitions |
LinkingAttributes | http://www.w3.org/2001/SMIL20/LinkingAttributes |
MediaAccessibility | http://www.w3.org/2001/SMIL20/MediaAccessibility |
MediaClipMarkers | http://www.w3.org/2001/SMIL20/MediaClipMarkers |
MediaClipping | http://www.w3.org/2001/SMIL20/MediaClipping |
MediaDescription | http://www.w3.org/2001/SMIL20/MediaDescription |
MediaMarkerTiming | http://www.w3.org/2001/SMIL20/MediaMarkerTiming |
MediaParam | http://www.w3.org/2001/SMIL20/MediaParam |
Metainformation | http://www.w3.org/2001/SMIL20/Metainformation |
MinMaxTiming | http://www.w3.org/2001/SMIL20/MinMaxTiming |
MultiArcTiming | http://www.w3.org/2001/SMIL20/MultiArcTiming |
MultiWindowLayout | http://www.w3.org/2001/SMIL20/MultiWindowLayout |
ObjectLinking | http://www.w3.org/2001/SMIL20/ObjectLinking |
PrefetchControl | http://www.w3.org/2001/SMIL20/PrefetchControl |
RepeatTiming | http://www.w3.org/2001/SMIL20/RepeatTiming |
RepeatValueTiming | http://www.w3.org/2001/SMIL20/RepeatValueTiming |
RestartDefault | http://www.w3.org/2001/SMIL20/RestartDefault |
RestartTiming | http://www.w3.org/2001/SMIL20/RestartTiming |
SkipContentControl | http://www.w3.org/2001/SMIL20/SkipContentControl |
SplineAnimation | http://www.w3.org/2001/SMIL20/SplineAnimation |
Structure | http://www.w3.org/2001/SMIL20/Structure |
SyncbaseTiming | http://www.w3.org/2001/SMIL20/SyncbaseTiming |
SyncBehavior | http://www.w3.org/2001/SMIL20/SyncBehavior |
SyncBehaviorDefault | http://www.w3.org/2001/SMIL20/SyncBehaviorDefault |
SyncMaster | http://www.w3.org/2001/SMIL20/SyncMaster |
TimeContainerAttributes | http://www.w3.org/2001/SMIL20/TimeContainerAttributes |
TimeManipulations | http://www.w3.org/2001/SMIL20/TimeManipulations |
TransitionModifiers | http://www.w3.org/2001/SMIL20/TransitionModifiers |
WallclockTiming | http://www.w3.org/2001/SMIL20/WallclockTiming |
表2.2のモジュール識別子に加えて,特定のモジュールのサポート又は非サポートとして表現されなくともよい,言語プロファイルごとに異なる特徴及び変化が存在してもよい。これらの特徴は,次の識別子を使用して表現してよい。
http://www.w3.org/2001/SMIL20/NestedTimeContainers
http://www.w3.org/2001/SMIL20/DeprecatedFeatures
SMIL BasicContentControlモジュールをサポートする実装は,XML名前空間機構と共に使用するための識別子として,これらを許可しなければならないし,関連する名前空間識別子がsystemRequired試験属性と共に使用されることを許可しなければならない。プロファイルは,実装が"true"を返さなければならないそれらの属性を識別しなければならない。これは,統合の要件とする。実装は,完全にはサポートされないモジュール特徴に対しては,"false"を返さなければならない。
モジュールは,一つの集まりとして識別することもできる。次の四つのモジュールの集まりが定義される。
http://www.w3.org/2001/SMIL20/
http://www.w3.org/2001/SMIL20/Language
http://www.w3.org/2001/SMIL20/HostLanguage
http://www.w3.org/2001/SMIL20/IntegrationSet
2.4では,SMILホスト言語及びSMIL統合集合適合性のための規則を規定する。最初に,ホスト言語適合性及び統合集合適合性のための適合性要件を与える。その要件は,XHTMLホスト言語文書型適合性及びXHTML統合集合文書型適合性[XMOD]のために示された要件と同様とする。最後の箇条では,ホスト言語適合の言語プロファイルのための識別子に関する要件を与える。
現在,SMIL 2.0モジュールを使用する三つの言語プロファイルが存在する。それらは,SMIL 2.0 Languageプロファイル,SMIL 2.0 Basic Languageプロファイル及びXHTML+SMIL 2.0 Languageプロファイル[XHTML+SMIL]とする。最初の二つは,SMILホスト言語適合になっており,3番目は,SMIL統合集合適合になっている。
表2.3及び表2.4は,SMIL 2.0の要素及び属性の特定の集合を一つの集まりとして参照するために使われる名前の一覧を示す。これらは,SMILホスト言語適合性及びSMIL統合集合適合性に関する2.4.1及び2.4.2において最小サポートの定義の中で使用される。用語"最小サポート(minimam support)"は,一つの要素が含むことができる要素の最小集合,及び一つの要素で使用することが可能な属性の最小集合を参照するために使用される。
要素集合名 | 要素 |
TIMING-ELMS | par, seq |
MEDIA-ELMS | ref, animation, audio, img, video, text, textstream |
EMPTY | いかなる要素も最小集合として要求されない。 |
属性集合名 | 属性 |
TIMING-ATTRS | begin, end, dur, repeatDur, repeatCount, max, min, fill, endsync |
CONTCTRL-ATTRS | systemBitrate, systemCaptions, systemLanguage, systemRequired, systemScreenSize, systemScreenDepth, systemOverdubOrSubtitle, systemAudioDesc, , systemCPU, systemComponent |
MEDIA-ATTRS | src, type |
LINKING-ATTRS | href, sourceLevel, destinationLevel, sourcePlaystate, destinationPlaystate, show, accesskey, tabindex, target, external, actuate, alt |
COMMON-ATTRS | id, class, xml:lang, title |
次のモジュールを含む場合,言語プロファイルはSMIL 2.0ホスト言語適合性という。
さらに,次の要件を満足しなければならない。
要素 | 最小サポート | |
要素 | 属性 | |
smil | head, body | COMMON-ATTRS, CONTCTRL-ATTRS, xmlns |
head | layout, switch | COMMON-ATTRS |
body | TIMING-ELMS, MEDIA-ELMS, switch, a | COMMON-ATTRS |
layout | root-layout, region | COMMON-ATTRS, CONTCTRL-ATTRS, type |
root-layout | EMPTY | COMMON-ATTRS, backgroundColor, height, width, skip-content |
region | EMPTY | COMMON-ATTRS, backgroundColor, bottom, fit, height, left, right, showBackground, top, width, z-index, skip-content, regionName |
ref, animation, audio, img, video, text, textstream | area | COMMON-ATTRS, CONTCTRL-ATTRS, TIMING-ATTRS, repeat, MEDIA-ATTRS, region |
a | MEDIA-ELMS | COMMON-ATTRS, LINKING-ATTRS |
area | EMPTY | COMMON-ATTRS, LINKING-ATTRS, TIMING-ATTRS, repeat, shape, coords, nohref |
par, seq | TIMING-ELMS, MEDIA-ELMS, switch, a | COMMON-ATTRS, CONTCTRL-ATTRS, TIMING-ATTRS, repeat |
switch | TIMING-ELMS, MEDIA-ELMS, a, layout | COMMON-ATTRS, CONTCTRL-ATTRS |
非推奨とされた要素及び属性のサポートは,与えられた言語がサポートするすべてのモジュールに対するSMIL 2.0ホスト言語適合性のために要求される。例えば,SMIL 2.0ホスト言語がMultiArcTimingモジュールをサポートする場合,それは,MultiArcTimingモジュールの中で定義される非推奨の構文をサポートしなければならない。
SMIL 2.0 StructureモジュールはSMILホスト言語適合なプロファイルの中だけで使用されてもよいので,SMIL 2.0 Structureモジュールは,ホスト言語適合性のために要求される2.4.1の最初で指名した他の少なくとも九つの他のモジュールを伴わなければならないことになる。ただし,それらのモジュールそれ自体は,SMILホスト言語に適合しない他の言語プロファイルで使用することができる。
次のモジュールを含む場合,言語プロファイルは,SMIL 2.0統合集合適合性という。
さらに,次の要件を満足しなければならない。
要素 | 最小サポート | |
要素 | 属性 | |
ref, animation, audio, img, video, text, textstream | CONTCTRL-ATTRS, TIMING-ATTRS, MEDIA-ATTRS | |
par, seq | TIMING-ELMS, MEDIA-ELMS, switch, a | CONTCTRL-ATTRS, TIMING-ATTRS |
switch | TIMING-ELMS, MEDIA-ELMS | CONTCTRL-ATTRS |
非推奨とされた要素及び属性のサポートは,SMIL 2.0統合集合適合性に対しては要求されない。しかし,これらが含まれる場合には,上記の要件がこれらの要素及び属性にも適用される。サポートされる場合には,含まれるすべてのモジュールからのすべての非推奨とされた要素及び属性を,全体としてサポートすることが要求される。
言語プロファイルは,そのDTD又はXMLスキーマを通して指定される。この場合の識別子は,言語プロファイルを識別するのに使用される。SMIL 1.0は,他の言語プロファイルとSMIL 1.0とを区別する決定的な識別子として,そのルート要素,smil,にデフォルト名前空間宣言を指定した[SMIL10]。その目的のために,SMIL 1.0に関する名前空間の識別子として,SMIL 1.0は,次を指定した。
http://www.w3.org/TR/REC-smil
使用される版及び言語プロファイルを識別するために,SMILホスト言語適合文書は,次の要件を満足しなければならない。
SMILホスト言語適合文書における構文エラーは,整形式の又は妥当なXMLに対するXMLの規則[XML10]に従って扱われる。
セマンティクスのエラーは,様々なレベルで起こり得る。例えば,宣言された属性値が未知の値という場合がある。組み立てられたプレゼンテーションは,複数のメディアオブジェクトが表示空間を取り合う場合,又はそれらがあいまいに同期する場合に,矛盾することもある。これらの後者の場合は,制作者の意図によると恐らくエラーなのだが,エラーとは考えられず,利用者エージェントは,この規定で定義される解決規則に従って表示する。
属性値におけるエラーがパーサには未検出のままとなることがあるかもしれない。これは,値の型がCDATAとして宣言されているとか,又は例えばイベントの場合のように,値の範囲が決められていないことによる。しかし,言語プロファイルがサポートされた値集合を指定している,与えられた言語プロファイル内では,属性値のエラーは,検出することができる。言語プロファイルの規定は,それら属性値エラーが生じたときに要求されるエラーの扱いを規定することを要求する。
2.5では,SMIL 2.0モジュールのDTDを使用して,どのように言語プロファイルを定義できるかを示す。読者は,"XHTMLのモジュール化(Modularization of XHTML"[XMOD]で定義される機構,特に,その附属書D[XMOD-APPD]及び附属書E[XMOD-APPE]をよく理解していると仮定する。一般に,SMIL 2.0モジュールのDTDは,XHTMLモジュールのDTDが使用するのと同じ機構を使用する。ただし,次に例外を示す。
次に,SMIL 2.0のモジュール化DTDを定義するために使用するファイルの簡略記述を与える。関連するファイル名の完全な一覧のためには,2.における表及び2.の最後を参照すること。
XHTMLモジュール化DTDと同じ機構に従って,SMIL 2.0規定は,別々のファイル,SMILモジュールファイル,の中に,すべてのSMIL 2.0の要素のXML要素宣言(すなわち,<!ELEMENT...>)及び属性リスト宣言(すなわち,<!ATTLIST...>)を置く。一つのSMILモジュールファイルが,SMIL 2.0規定の各々の機能領域に対して提供される。すなわち,アニメーション,レイアウト,タイミングなどに対して,それぞれ,一つのSMILモジュールファイルが存在する。
SMILモジュールファイルは,SMIL 2.0 Languageプロファイル規定の規定的な定義で使用される。他のSMILプロファイルを定義するために同じモジュールファイルを使用することが望ましいが,必須ではない。SMIL言語プロファイルが従わなければならない要件は,SMIL 2.0規定の中で示され,DTD記述の中では示されない。
互いに独立であって言語プロファイルに独立なSMILモジュールファイルを作成するために,要素宣言及び属性宣言は,XML実体を多用する。これは,プロファイルに,SMIL要素の実際の内容モデル及び属性を定義するために必要な取掛りを提供する。
SMIL 2.0 Languageプロファイルは,どのようにSMILモジュールファイルを使用できるかという例を提供する。そのDTDファイルの大部分は,異なるプロファイルをまたがって再利用される。再利用されるのは,SMILモジュールファイル,データ型及び共通属性で定義するファイル,必要な場合,名前空間接頭辞を追加する"qname"ファイル,及び適切な順序でファイルを含めるフレームワークファイルとする。
各々のプロファイルに対して異なるファイルは,ドライバファイル及び文書モデルファイルとする。一般に,これは,新しいプロファイルにも適用される。しかし,新しい言語プロファイルを定義するためには,拡張モジュール,どのモジュールを使用するかを定義するドライバファイル,及び拡張された文書モデルを定義する文書モデルファイルを書かなければならない。ドライバファイル及び文書モデルファイルについて,次に,更に詳細に示す。
ドライバファイル
これは,文書のDOCTYPE宣言によって参照されるファイルとする。その主な役割は,プロファイルがどの文書モデルファイル及びSMILモジュールファイルを使用しているか定義することとする。それは,すべての名前空間接頭辞で使用されるオプションの名前空間を定義してもよい。例えば,すべてのSMIL要素名に"foobar"を接頭辞として付けるためには,プロファイルの始めに次を付加できる。
<!ENTITY % SMIL.prefixed "INCLUDE" >
<!ENTITY % SMIL.prefix "foobar" >
モジュールの中で,例えば,<video>,として定義される要素は,<foobar:video>として構文解析されるようになる。これは,他の要素上に現れるSMIL属性に対しても適用される。そこで,例えば,"begin"は,"foobar:begin"になる。デフォルトは,qname接頭辞を空とする。すなわち,デフォルトによって名前空間接頭辞は実効的に付けないこととする。
これらの定義の後に,ドライバファイルは,フレームワークファイルを取り込み,それに続けて,データ型,共通属性,qname及び文書モデルファイルを取り込む。その後に,このプロファイルが使用するSMILモジュールファイルが取り込まれる。
文書モデルファイル
文書モデルファイルは,そのプロファイルの中の要素の内容モデル及び属性リストを定義するために,SMILモジュールファイルが使用するXML実体を含む。
内容モデルは,一般に,プロファイルごとに異なっている。すなわち,他のモジュールからの要素を含む。SMILモジュールファイルの中でこれらの依存性を避けるために,内容モデルは,文書モデルファイルの中で定義される必要がある。SMILモジュールファイルの中で定義されるとおりの(仮の)デフォルト内容モデルは,すべてのSMIL 2.0要素に対して"EMPTY"とする。
同じ理由で,SMILモジュールファイルは,それらの要素に対してデフォルト属性リストだけを定義する。このデフォルトリストは,SMIL 2.0コア属性及び同じSMILモジュールファイルの中で定義される属性だけを含む。他のすべての属性は,適切なXML実体を定義することによって,このデフォルトリストに追加される必要がある。例えば,Media Objectsモジュールファイルは,そのメディアオブジェクトにおけるコア及びメディア関係属性だけを追加する。タイミング属性などの他の属性は,文書モデルファイルによってこのリストに追加される。
事前定義されたプロファイルのためのドライバファイル | |
-//W3C//DTD SMIL 2.0//EN | http://www.w3.org/2001/SMIL20/SMIL20.dtd |
事前定義されたプロファイルのための文書モデルファイル | |
-//W3C//ENTITIES SMIL 2.0 Document Model 1.0//EN | http://www.w3.org/2001/SMIL20/smil-model-1.mod |
SMIL 2.0モジュールファイル | |
-//W3C//ELEMENTS SMIL 2.0 Animation//EN | http://www.w3.org/2001/SMIL20/SMIL-anim.mod |
-//W3C//ELEMENTS SMIL 2.0 Content Control//EN | http://www.w3.org/2001/SMIL20/SMIL-control.mod |
-//W3C//ELEMENTS SMIL 2.0 Layout//EN | http://www.w3.org/2001/SMIL20/SMIL-layout.mod |
-//W3C//ELEMENTS SMIL 2.0 Linking//EN | http://www.w3.org/2001/SMIL20/SMIL-link.mod |
-//W3C//ELEMENTS SMIL 2.0 Media Objects//EN | http://www.w3.org/2001/SMIL20/SMIL-media.mod |
-//W3C//ELEMENTS SMIL 2.0 Document Metainformation//EN | http://www.w3.org/2001/SMIL20/SMIL-metainformation.mod |
-//W3C//ELEMENTS SMIL 2.0 Document Structure//EN | http://www.w3.org/2001/SMIL20/SMIL-struct.mod |
-//W3C//ELEMENTS SMIL 2.0 Timing//EN | http://www.w3.org/2001/SMIL20/SMIL-timing.mod |
-//W3C//ELEMENTS SMIL 2.0 Transition//EN | http://www.w3.org/2001/SMIL20/SMIL-transition.mod |
他のユティリティ(データ型,共通属性,qname及びフレームワークのファイル) | |
-//W3C//ENTITIES SMIL 2.0 Datatypes 1.0//EN | http://www.w3.org/2001/SMIL20/smil-datatypes-1.mod |
-//W3C//ENTITIES SMIL 2.0 Common Attributes 1.0//EN | http://www.w3.org/2001/SMIL20/smil-attribs-1.mod |
-//W3C//ENTITIES SMIL 2.0 Qualified Names 1.0//EN | http://www.w3.org/2001/SMIL20/smil-qname-1.mod |
-//W3C//ENTITIES SMIL 2.0 Modular Framework 1.0//EN | http://www.w3.org/2001/SMIL20/smil-framework-1.mod |