7. SMIL 2.0メディアオブジェクトモジュール

7.1 導入

7.では,SMIL メディアオブジェクトモジュールを定義する。 このモジュールは,BasicMediaモジュール及びBasicMediaモジュール上に構築された付加機能をもつ五つのモジュール(MediaClippingMediaClipMarkersMediaParamMediaAccessibility及びMediaDescription)で構成される。 これらのモジュールは,メディアオブジェクトを記述するのに使われる要素及び属性を含む。 加えて,メディアオブジェクトとして使用可能なBrushMedia要素が提供される。 これらの要素及び属性は一連のモジュール内で定義されているので,他のマーク付け言語の設計者は,それらの言語の中にメディアオブジェクトを含める必要がある場合,SMILメディアモジュールを再利用できる。

SMIL 1.0のメディアオブジェクト要素については,(SMIL)作業グループの要求として出された付加機能が提供されている。これらの差異は,付録 A及び付録 Bで説明される。

7.2 定義

連続メディア
音声ファイル,ビデオファイル,又は測定可能及び理解可能な持続時間が存在する他のメディア。 例えば,5秒の音声クリップは,5秒の理解可能な持続時間をもっているので,連続メディアある。"離散メディア"の反意語。
離散メディア
画像ファイル,テキストファイル,又は明白な持続時間をもっていない他のメディア。例えば,JPEGがどの位の間表示されるかファイルに示されていないので,JPEG画像は一般的に離散メディアと考えられる。"連続的メディア"の反意語。
本来的持続時間
参照された項目の持続時間。明白なタイミングのマーク付けがなくてもよい。連続メディアは,本来的な持続時間がメディアによって定義される。離散メディアは,本来的持続時間をもっていない。(SMILでは,離散メディアには0の本来的持続時間が割り当てられる。)

7.3 SMIL BasicMediaモジュール

このモジュールは,SMILプレーヤの基本機能を定義する。それは,機能的にSMIL 1.0のメディアオブジェクト規定に非常に近い。

7.3.1 メディアオブジェクト要素 — refanimationaudioimgtexttextstream及びvideo

メディアオブジェクト要素は,SMILプレゼンテーションにメディアオブジェクトを含むことを許可する。 メディアオブジェクトは,(URIを使い)参照によって含められる。次のメディア要素が,7.3.1で定義される。

ref
一般的なメディア参照。
animation
アニメーション化されたベクタ画像又は他のアニメーション化されたフォーマット。
audio
音声クリップ。
img
PNG又はJPEGといった静止画像。
text
テキスト参照。
textstream
ストリーミングテキスト。
video
ビデオクリップ。

これらのメディア要素は,すべて意味的に別個なものとする。 メディアオブジェクトを再生している場合,プレーヤはメディアオブジェクトの正確な型をメディアオブジェクト要素の名前から導出してはならない。 その代わりに,type属性に含まれている型情報,又はサーバ若しくはオペレーティングシステムによって通知された型情報といった,型についての他の情報源だけに頼らなければならない。

しかし,制作者は,メディアオブジェクトが属するグループ(animation,audio,img,video,text又はtextstream)が要素名に反映されるようにすることが望ましい。 これは,SMIL文書の読みやすさを増すためとする。メディアオブジェクトのグループについて不明な場合,制作者は,一般的な"ref"要素を使用することが望ましい。

ここで定義されたanimation要素を,SMIL 2.0アニメーションモジュールで定義された要素と混同しないことが望ましい。 このモジュールで定義されたanimation要素は,参照によってアニメーション(例えば,ベクタ画像アニメーション)を含むために使われる。 これは,他の要素の属性及び特性のアニメーションに対して行内構文を提供するアニメーションモジュールで定義された要素とは対照的なものとする。

アンカ及びリンクを,視覚的メディアオブジェクト,つまり,視覚的な抽象レンダリング面に表示されるメディアオブジェクトに付加させることができる。

属性定義

SMIL BasicMediaモジュールを実装している言語は,どのような属性をメディアオブジェクトに付加してよいかを定義しなければならない。SMIL BasicMediaモジュールを実装するすべての言語において,メディアオブジェクト要素は,次の属性をもつことができる。

src
src属性の値は,関連付けられたメディア要素の位置決め及び取得のために使う,そのメディア要素[URI]とする。 この属性は必須ではないことに注意すること。src属性をもたないメディアオブジェクトは,0の本来的持続時間をもち,任意の他のメディア要素と同様にタイミングに参加する。 src属性のないメディア要素に対しては,いかなるメディアもSMIL実装によって取得されない。
type
src属性によって参照されるメディアオブジェクトの内容型とする。 この属性の用法は,src属性の(次の)プロトコルに依存する。
RTSP [RTSP]
type属性は,参照されたメディアの型が他の方法では得られない場合に,内容選択の目的で利用される。 これは,RTSP DESCRIBE応答の内容,又は一定のRTPペイロード番号によって上書きされてもよい。
HTTP [HTTP], FTP [FTP],及び局所ファイル再生[URL](主にURLが指定されるが,局所ファイルの記述には"file:"のURL方式が指定される。)
type属性値は,メディア型の他の可能な情報源(例えば,HTTP通信の"Content-type"フィールド,又はファイル拡張子)に優先される。

URLによって示された内容が多くのデータフォーマットで利用可能な場合,実装は,その複数フォーマットのどれが使用されるかに影響を与えるためにtype値を利用してもよい。 例えば,HTTP内容折衝実装したサーバ上に,クライアントが,折衝における優先度を要求するためにtype属性を使用してもよい。

この規定で列挙されなかったプロトコルに関しては,実装は,次の規則を用いなければならない。メディアが,メディアファイルにカプセル化され,配送するために設計されたプロトコル経由でSMIL利用者エージェントに完全なファイルとしてそのまま届けられる場合,type属性値は,メディア型の他の可能な情報源に優先されることが望ましい。 メディアを識別しながらメディアを配信するプロトコル(例えば,メディアの指定する型を利用するか,又はそれに依存する方法でメディアを配信するプロトコル)に対しては,type属性のアプリケーションは,この規定では定義されない。

要素内容

SMIL BasicMediaモジュールを活用する言語はメディアオブジェクト要素の子どもとして作用してもよい要素の完全な集合を定義しなければならない。 現在,BasicMediaモジュールで定義されているメディアオブジェクトの子どもとして必須のものはない。しかし,BasicMediaモジュールを活用する言語は,この規定以外のところで要件を課してもよい。

7.3.2 統合要件

上位のプロファイルが,XMLBase機能[XMLBase]をサポートする場合,メディアオブジェクト要素のsrc属性及びlongdesc属性の値は,関係するXMLBase URI接頭辞の文脈で解釈されなければならない。

7.4 SMIL MediaParamモジュール

7.4は,SMIL MediaParamモジュール定義を構成する要素及び属性を定義する。MediaParamモジュールで定義された要素及び属性を実装する言語は,BasicMediaと同様に,次に定義されたすべての要素及び属性を実装しなければならない。

7.4.1 メディアオブジェクトの初期化: param要素

param要素は,実行時のメディアオブジェクトに要求されてもよい値の集合を指定する。 任意の数のparam要素が,任意の順序でメディアオブジェクト要素の内容に現れてよい。しかし,包含するメディアオブジェクト要素の内容の最初に置かれなくてはならない。

名前の構文及び値は、オブジェクトの実装によって理解されるものと想定する。 この規定は,利用者エージェントが名前及び値の対を取り出す方法,又は二度現われるパラメタ名を解釈する方法については指定しない。

属性定義
name
(CDATA) この属性は,実行時パラメタの名前を定義する。その名前は,挿入されたオブジェクトにとって既知のものであることを想定する。特性名の大文字・小文字を区別するかどうかは.特定のオブジェクト実装に依存する。
value
(CDATA) この属性は,nameによって指定された実行時パラメタの値を指定する。特性値は,SMILに対して意味を持たない。それらの意味は,問題になっているオブジェクトが決定する。
valuetype
["data"|"ref"|"object"] この属性は,value属性の型を指定する。指定可能な値は,次のとおり。
  • data: これは,この属性のデフォルト値とする。これは,valueによって指定された値が評価されて,文字列としてそのオブジェクトの実装に渡されることを意味する。
  • ref: valueによって指定される値は,URI[URI]とする。このURIは,実行時値が格納される場所を特定する。 これによって,パラメタとして与えられるURIをサポートツールが識別するようにできる。 URIは,未解決のままでオブジェクトに渡されなければならない。
  • object:valueによって指定される値は,同じ文書においてメディアオブジェクト宣言を参照する識別子とする。 識別子は,宣言されたメディアオブジェクト要素に対して設定されたid属性の値でなければならない。
type
valuetypeが"ref"に設定されている場合にだけ,この属性は,value属性によって定められた資源の内容型を指定する。 この属性は,利用者エージェントに対して,valueによって指定されたURIで定義された値の型を指定する。より多くの情報は,[HTML4]6.7 内容型を参照すること。

paramの規定を例示するために,文字に関連付けられた異なった雰囲気及びアクセサリを受け入れることができる顔のアニメーションプラグインをもつことを考える。 これらは,次のように定義することができる。
<ref src="http://www.example.com/herbert.face">
  <param name="mood" value="surly" valuetype="data"/>
  <param name="accessories" value="baseball-cap,nose-ring" valuetype="data"/>
</ref>

7.4.2 すべてのメディアオブジェクトのための要素属性

BasicMediaに定義されている要素属性に加えて,メディアオブジェクト要素は,次に定義されている属性及び属性拡張をもつ事ができる。 これらの要素を含むか含まないかは,言語プロファイルの選択に任される。

erase
任意のタイミング効果の完了後,メディアオブジェクトの振る舞いを制御する。 例えば,SMILタイミングがメディア要素に適用される場合,要素の活性持続時間,及びfill属性によって定義された凍結期間が完了したときに,eraseがメディアの画面を制御する(SMILタイミング及び同期を参照)。 eraseの可能な値は,never及びwhenDoneとする。

erase="whenDone"は,デフォルトの値とする。これが指定される(又は暗示される)場合,適用された任意のタイミングの終了点でメディア除去が起こる。

erase="never"は,表示領域が再利用されるまで(又は表示領域が既に他のメディアオブジェクトによって使われている場合に),メディアの最後の状態が表示される続けるよう定義される。 この要素を統合する任意のプロファイルは,"表示領域"が何を意味するのかを定義し,さらにその相互作用を定義しなければならない。 本来的なハイパリンク(例えば,Flash,HTMLなど)及び明示的なハイパリンク(例えば,areaaなど)は,ハイパリンクが表示されている限り,活性化された状態のままとする。 タイミングが要素に対して再適用される場合,erase=neverの効果は失われる。 例えば,要素がSMIL Timing and Synchronization moduleによって再始動させられる場合,その要素は,再始動する直前にクリアされる。

例:

<par>
  <seq>
        <par>
            <img src="image1.jpg" region="foo1" fill="freeze" erase="never" .../>
            <audio src="audio1.au"/>        
        </par>
        <par>
            <img src="image2.jpg" region="foo2" fill="freeze" erase="never" .../>
            <audio src="audio2.au"/>        
        </par>
         ...
        <par>
            <img src="imageN.jpg" region="fooN" fill="freeze" erase="never" .../>
            <audio src="audioN.au"/>        
        </par>
  </seq>
</par>

この例では,各々の画像が続けて表示され,プレゼンテーションが終了するまで表示された状態のままとなる。

mediaRepeat
基礎にあるメディアオブジェクトの本来的な繰返し値を取り除くために使われる。 この属性の解釈は,メディアオブジェクトのメディア型に固有なものとし,メディア型のフォーマット規定に繰返し値の定義が存在するメディア型に対してだけ適用できる。 SMIL実装で使われているそれぞれのメディア型に対応したビューアは,この属性が適用されるメディアの繰返し値を制御するためにインタフェースを開示する必要がある。 SMIL実装間で相互運用性が求められているすべてのメディア型に対して,mediaRepeat属性が適用される正確な繰返し値の形式的規定が存在することが望ましい。

strip
メディアオブジェクトの本来的な繰返し値を取り除く。
preserve(デフォルト)
メディアオブジェクトの本来的な繰返し値をそのままにしておく。

これがどの様に使われるかの例としては,多くのアニメーション化されたGIFが,本来的に不定回数を繰り返すようになっていることがある。 mediaRepeat="strip"を解釈するアプリケーションは,参照されるたびにアニメーション化されたGIFが本来的に繰り返す振る舞いを制作者が削除できるようにする。この結果,GIFに埋め込まれた繰返し値にかかわらず,アニメーションは一度だけ表示される。

mediaRepeatがSMILタイミングモジュールの属性と一緒に使われる場合,この属性が最初に適用され,その結果として,その繰返しの振る舞いは,repeatCount及びrepeatDurといったSMILタイミングモジュールの属性と共に制御できることになる。

sensitivity
制作者に,SMIL 2.0 activateEvent及びハイパリンク活性化といった利用者インタフェース選択イベントに対するメディアの感度の制御を提供するために使用される。 メディアがイベント位置において感度の高い場合,そのメディアはイベントを捕獲し,そのイベントを下位のメディアオブジェクトには渡さない。そうでない場合,そのイベントは,表示階層構造において下位の任意のメディアオブジェクトにも渡される。

Values:

opaque
メディアは,メディアの全領域に渡る利用者インタフェース選択イベントに対して感度が高いとする。これをデフォルトとする。
transparent
メディアは,メディアの全領域に渡る利用者インタフェース選択イベントに対して感度が高くない。任意の利用者インタフェース選択イベントは,任意の下位メディアに"そのまま渡される"。
percentage-value
利用者インタフェース選択イベントに対するメディアの感度は,イベントの位置におけるメディアの不透明度(アルファチャネル値)に依存する。 参照されるメディアがアルファチャネルをサポートしており,メディアの不透明度がイベント位置における与えられる百分率値以下の場合,振る舞いは,transparentとなる。 そうでない場合,振る舞いは,opaqueとなる。有効な値は,非負のCSS2百分率値とする。

7.4.3 統合要件

erase属性を統合する任意のプロファイルは,"表示領域"の意味するところ,及びさらにその相互作用を定義しなければならない。 詳細は,eraseの定義を参照すること。

param要素上のtype属性及びvaluetype属性のサポートされる使用は,統合を行うプロファイルによって指定されなければならない。 プロファイルがこれを指定しない場合,type属性及びvaluetype属性は,そのプロファイルにおいて無視される。

7.5 SMIL MediaClippingモジュール

7.5は,SMIL MediaClippingモジュール定義を構成する属性を定義する。MediaClippingモジュールで定義された属性を実装する言語は,BasicMediaと同様に,次に定義されたすべての属性を実装しなければならない。

7.5.1 MediaClipping属性

clipBegin (clip-begin)
clipBegin属性は,メディアオブジェクトの開始からのオフセットとして,連続メディアオブジェクトの部分クリップの始まりを指定する。 このオフセットは,メディアの最初から通常のメディア再生時間で測定される。
clipBegin属性の値は,次の構文をもつ。
Clip-value-MediaClipping ::= [ Metric "=" ] ( Clock-val | Smpte-val )
Metric            ::= Smpte-type | "npt" 
Smpte-type        ::= "smpte" | "smpte-30-drop" | "smpte-25"
Smpte-val         ::= Hours ":" Minutes ":" Seconds 
                      [ ":" Frames [ "." Subframes ]]
Hours             ::= Digit+ 
                  /* see XML 1.0 for a definition of ´Digit´*/
Minutes           ::= Digit Digit; range from 00 to 59
Seconds           ::= Digit Digit; range from 00 to 59

Frames            ::= Digit Digit; smpte range = 00-29, smpte-30-drop range = 00-29, smpte-25 range = 00-24
Subframes         ::= Digit Digit; smpte range = 00-01, smpte-30-drop range = 00-01, smpte-25 range = 00-01
      

備考 水準1拡張のための追加のBNFは,後で定義される

この属性の値は,メトリク指定子,及びその後に続く時間値で構成される。時間値の構文及びセマンティクスは,メトリク指定子に依存する。 次のフォーマットが許可される。

SMPTEタイムスタンプ
SMPTEタイムコード[SMPTE]は,フレームレベルのアクセス精度を指定するために使うことができる。メトリク指定子は,次の値を取ることができる。
smpte
smpte-30-drop
これらの値は,SMPTE規定で定義されている"SMPTE 30 drop"フォーマット(およそ1秒間に29.97フレーム)の使用を示す。("NTSC drop frame"として参照されることもある。) 時間値での"frames"フィールドは,0から29の値を取ることができる。1秒ごとの30フレームと29.97フレームとの間の差は,毎分最初の2フレームインデクスを落とすことによって処理されている。ただし,この処理は,10分ごとに行わない。
smpte-25
時間指定での"frames"フィールドは,0から24の値を取ることができる。これは,[SMPTE]に備考があるとおり,PAL標準と対応している。

時間値は,時間:分:秒:フレーム.下位フレームという形式をもつ。 下位フレーム値が0の場合,それは省略してもよい。下位フレームは,フレームの100分の1単位で測定されている。

clipBegin="smpte=10:12:33:20"

通常再生時間
通常再生時間は,SMIL時計値の観点での時間を表している。メトリク指定子は,"npt"であり,時間値の構文は,SMIL時計値の構文と同一とする。

clipBegin="npt=123.45s"
clipBegin="npt=12:05:35.3
"
マーカ
このモジュールでは定義されない。MediaClipMarkersモジュールのclipBegin Media Marker属性拡張を参照すること。

メトリク指定子が与えられない場合,"npt="のデフォルトが仮定される。

SMILタイミングモジュールのタイミング属性と共に使用される場合,この属性は,どのSMILタイミングモジュール属性よりも前に適用される。

clipBeginは,SMIL 1.0との互換性のために,clip-beginとして表してもよい。SMIL 2.0言語プロファイルをサポートするソフトウェアは,clipBegin及びclip-beginの両方を扱わなければならない。一方,SMIL MediaClippingモジュールだけをサポートするソフトウェアは,clipBeginだけをサポートすればよい。要素がclipBegin及びclip-begin属性の両方を含んでいる場合,clip-beginよりもclipBeginが優先される。

<audio src="radio.wav" clip-begin="5s" clipBegin="10s" />

clip-begin属性は無視されるので,クリップは,音声の5秒目ではなく,10秒目に開始する。 厳密なSMIL 1.0実装では,clipBegin属性が認識されないので,音声の5秒目に開始する。 この話題に関するさらに多くの議論については,SMIL 1.0メディアオブジェクト属性に対する変更を参照すること。

clipEnd (clip-end)
clipEnd属性は,メディアオブジェクトの開始点からのオフセットとして,連続メディアオブジェクトの部分クリップの終了を指定する。このオフセットは,メディアの開始から通常メディア再生時間で測定される。これは,clipBegin属性と同じ属性構文を用いる。
clipEnd属性の値がメディアオブジェクトの持続時間を超える場合,その値は無視され,クリップ終了は,メディアオブジェクトの実際の終了と同じになるように設定される。 clipEndは,SMIL 1.0との互換性のために clip-endとして表してもよい。 SMIL 2.0言語プロファイルをサポートするソフトウェアは,clipEnd及びclip-endの両方を扱わなければならない。一方,SMIL MediaClippingモジュールだけをサポートするソフトウェアは,clipEndだけをサポートすればよい。 要素がclipEnd属性及びclip-end属性の両方を含んでいる場合,clip-endよりもclipEndが優先される。 SMILタイミングモジュールのタイミング属性と共に使用される場合,この属性は,どのSMILタイミングモジュール属性よりも前に適用される。

この話題に関するさらに多くの議論については,SMIL 1.0メディアオブジェクト属性に対する変更を参照すること。

7.6 SMIL MediaClipMarkersモジュール

7.6は,SMIL MediaClipMarkersモジュール定義を構成する属性拡張を定義する。MediaClipMarkersモジュールで定義された要素及び属性を実装する言語は,BasicMedia及びMediaClippingと同様に,次に定義されたすべての要素及び属性を実装しなければならない。

7.6.1 MediaClipMarkers属性拡張

clipBeginメディアマーカ属性拡張
時計値又はSMPTE値を使うのではなく,メディアオブジェクトの名前付き時点を使用してクリップを定義するために使用される。 メトリク指定子は"marker"とし,マーカ値はURI([URI]を参照すること)とする。 URIは,文書ルート,又はSMIL文書のXML基底ではなく,src属性を基準にする。

Clip-value-MediaClipMarkers ::= Clip-value-MediaClipping |
                      "marker" "=" URI-reference
   /* "URI-reference" is defined in  [URI]  */


録音されたラジオ放送が,ディスクジョッキーによるアナウンスによって分けられた一連の歌で構成されているものと仮定する。 音声フォーマットは,マークされた時点をサポートしており,各々の歌又はアナウンスの開始点は,番号Xを使ってsongX又はdjXとしてそれぞれマークされている。 メトリク指定子"marker"を用いて最初の曲を抽出するには,次の音声メディア要素を使うことができる。

<audio clipBegin="marker=#song1" clipEnd="marker=#dj1" />
clipEndメディアマーカ属性拡張
clipEndメディアマーカは,clipBeginメディアマーカ拡張のメディアマーカ属性拡張と同じ属性値構文を使う。 完全な記述については,clipBeginメディアマーカ拡張を参照すること。

7.7 SMIL BrushMediaモジュール

7.7は,SMIL BrushMediaモジュール定義を構成する要素及び属性を定義する。 BrushMediaモジュールの要素及び属性を実装する言語は,次に定義されるすべての要素及び属性を実装しなければならない。

7.7.1 brush要素

brush要素は,メディアオブジェクトの場所を,塗りつぶす色又は他のパタンで描画することを許可する軽量のメディアオブジェクト要素とする。 したがって,メディアオブジェクトに関連付けられたすべての属性は,brushにも適用してよい。 メディアオブジェクトについての情報すべてがその要素それ自体の属性で指定されているので,src属性は,無視され,必須ではない。

属性定義
color
この属性の使用及び定義は,CSS2規定の"background-color"特性と同一とする。

7.7.2 統合要件

BrushMediaモジュールを含むプロファイルは,brush要素においてcolor属性の値inheritを使用するときのセマンティクスを提供しなければならない。 inheritがすべての文脈で意味をもつわけではないので,プロファイルは,この値の使用を禁止することを選択してもよい。 そのようなセマンティクスを定義していないプロファイルに対しては,brush要素のcolor属性にinheritの値を指定することは禁止される。

7.8 SMIL MediaAccessibilityモジュール

7.8では,SMIL MediaAccessibilityモジュール定義を構成する要素及び属性を定義する。 MediaAccessibilityモジュールの要素及び属性を実装する言語は,MediaDescriptionと同様に,次に定義されるすべての要素及び属性を実装しなければならない。

7.8.1 MediaAccessibility属性

属性定義
alt
特定のメディアオブジェクトを表示できない利用者エージェントのために,この属性は,代替テキストを指定する。altは,メディアに加えて,又は利用者が利用者エージェントを与えられたメディア型を表示しないように設定している場合にはメディアの代わりに,表示してよい。

すべてのメディアオブジェクト要素が,簡潔な意味のある説明を含む"alt"属性をもつことを強く推奨する。 制作ツールは,この属性なしにいかなる要素もSMIL文書に導入されることがないよう保証することが望ましい。

この属性の値は,CDATAテキスト文字列とする。

longdesc
この属性は,メディアオブジェクトの長い説明へのリンク([URI])を指定する。 この説明は,alt属性又はabstract属性を使用して提供される短い記述を補うものとすることが望ましい。 メディアオブジェクトがハイパリンクされた内容と関連付けられているとき,この属性は,ハイパリンクされた内容についての情報を提供することが望ましい。

readIndex
この属性は,現在の文書に対して,longdesctitle及びaltのテキストが支援的な装置(画面読上げ装置など)によって音声で読まれる順番で,現在の要素の位置を指定する。 利用者エージェントは,先行する0を無視することが望ましい。デフォルト値は,0とする。

alt属性,title属性又はlongdesc属性を含む要素は,次の規則に従って,支援的な技術によって読み上げられる。

  • readindex属性に正の値を割り当てた要素群は,最初に読み出される。このとき,読み上げる順は,最も低いreadindex値をもつ要素から,最も高い値をもつ要素へと進む。値は,連続的なものとする必要はない。それらは,何らかの特定の値で開始する必要もない。同一のreadindex値をもつ要素は,文書の文字の並びの中で出現する順番で読み上げられることが望ましい。
  • "0"の値を割り当てられた要素群は,文書の文字の並びの中で出現する順番で読み上げられる。
  • "false"と評価されるtest属性をもつswitch文の中の要素は読み上げられない。

<par>
  <video id="carvideo" src="car.rm" region="videoregion" title="Car video"
         alt="Illustration of relativistic time dilation and length 
              contraction." 
         longdesc="carvideodesc.html" readIndex="3"/>
  <audio id="caraudio" src="caraudio.rm" region="videoregion" 
         title="Car presentation voiceover" begin="bar.begin"/>
  <animation id="cardiagram" src="car.svg" region="animregion" 
         title="Diagram of the car" readIndex="2"/>
  <img id="scvad" src="scv.png" region="videoregion" 
         title="Advertisement for Sugar Coated Vegetables"
         readIndex="1"/>
</par>

この例では,タイトル(title属性の値)を読み上げる支援的な装置は,(最も低いreadIndex値"1"をもっている)"scvad"要素のタイトルを最初に読み上げ,続いて,"cardiagram"要素のタイトルを,続いて"carvideo"要素のタイトルを,そして最後に(暗黙的なreadIndex値"1"をもっている)"caraudio"要素のタイトルを読み上げることが望ましい。

7.9 SMIL MediaDescriptionモジュール

7.9では,SMIL MediaDescriptionモジュール定義を構成する要素及び属性を定義する。 MediaDescriptionモジュールの要素及び属性を実装する言語は,次に定義されるすべての要素及び属性を実装しなければならない。

7.9.1 MediaDescription属性

属性定義
abstract
要素に含まれる内容の概要。altと違い,一般的にこの属性は,メディアオブジェクトの代わりの内容としては表示されない。 通常は,目次情報がSMILプレゼンテーションから生成される場合の説明として使用される。 多くの場合,alt属性に書くよりも多くの情報を含む。

RDFでの適切なSMILメタデータのマーク付けを使用する場合には,この属性は非推奨とする。例えば,この属性は,Dublin Core Metadata Initiative[DC]によって定義されている"description"属性にうまく対応付けることができる。

author
要素に含まれている内容の制作者の名前。

この属性の値は,CDATAテキスト文字列とする。

copyright
要素に含まれている内容の著作権表示。

この属性の値は,CDATAテキスト文字列とする。

title
SMIL構造モジュールで定義されているtitle属性。すべてのメディアオブジェクト要素が,簡潔な意味のある説明を含むtitle属性をもつことを強く推奨する。制作ツールは,この属性なしにはいかなる要素もSMIL文書に導入されることがないよう保証することが望ましい。
xml:lang
要素に対して自然言語又は公式言語を識別するために使われる。 完全な説明については,[XML10]2.12"言語識別"を参照すること。

xml:langは,一つの重要な点で,試験を行うsystem-language属性とは異なる。 system-languageは,特定の関連付けられた振る舞いを伴う試験属性であるのに対し,xml:langは,内容の言語についての情報を提供するが,実装がその情報を使って何を行うかには依存しない(詳細はSMIL Content Control Modulesystem-languageを参照)。

7.10 付録

7.10.1 付録A SMIL 1.0メディアオブジェクト属性に対する変更

clipBegin, clipEnd, clip-begin, clip-end

clipBegin及びclip-begin,並びにclipEnd及びclip-endに関して,SMIL 2.0は,SMIL 1.0で定義されている構文に対して,次の変更を定義している。

SMIL 1.0ソフトウェアでの新しいclipBegin及びclipEndの構文の扱い。

clip-begin及びclip-endといったハイフンを使った属性名を用いることは,それらの属性を操作するためにスクリプト言語及びDOMを用いるときに問題が起きる。 したがって,この規定では,SMIL 1.0のclip-begin及びclip-endに代わる同等の属性として,属性名clipBegin及びclipEndを追加する。ハイフンを使った属性名は,非推奨とする。

制作者は,この規定で定義されている新しいクリップ化の構文及び機能("marker",デフォルトのメトリクなど)を用いるがSMIL 1.0ソフトウェアによってもまだ扱うことのできるSMIL 2.0プレゼンテーションを書くために,二つのアプローチを用いることができる。 制作者は,最初に,新しい機能を用いたハイフンを使わない新しい属性を使用し,そのテキストの後の方にSMIL 1.0に適合したクリップ化属性を付加することができる。

例:

<audio src="radio.wav" clipBegin="marker=song1" clipEnd="marker=moderator1" 
       clip-begin="npt=0s" clip-end="npt=3:50" />

推奨されているSMIL 1.0 [SMIL10]の拡張性規則を実装しているSMIL 1.0プレーヤは,新しい機能を用いているクリップ属性を無視する。これは,その属性がSMIL 1.0の一部ではないことによる。 反対に,SMIL 2.0プレーヤは,テキストの後の方に現れるSMIL 1.0構文を用いるクリップ属性を無視する。

二つ目のアプローチは,次のステップを用いる。

  1. "system-required"試験属性を新しい機能を用いているメディアオブジェクト要素に付加する。 "system-required"属性の値は,新しい機能を統合したSMIL規定を指し示す名前空間URI( [URI])の名前空間接頭辞に対応させる。
  2. 代替となるSMIL 1.0に適応するメディアオブジェクト要素を付加する。
  3. "switch"要素にこれら二つの要素を含める。

例:

<smil xmlns:smil2="http://www.w3.org/2001/SMIL20/Language">
...
<switch>
  <audio src="radio.wav" clipBegin="marker=song1" clipEnd="marker=moderator1"  
   system-required="smil2" />
  <audio src="radio.wav" clip-begin="npt=0s" clip-end="npt=3:50" />
</switch>

新しいアクセシビリティ属性

readIndex
支援的な技術を制御するための明示的な順番付けを許可する。

新しい先進的なメディア属性

mediaRepeat
mediaRepeat属性が,(アニメーション化されたGIFのような)本来的な繰返しの振る舞いをもつメディアに対し,よりよいタイミング制御を提供するために追加された。
erase
デフォルトのeraseの振る舞いを上書きして,プレゼンテーションの持続時間の間ずっと視覚メディアが表示された状態にしておく方法を提供する。

7.10.2 付録B SMIL 1.0メディアオブジェクト要素に対する変更

メディアオブジェクトの新しい子要素

SMIL 1.0は,メディア要素の子要素としてanchorを唯一許可していた。このanchor(現在,リンク付けモジュールで定義されている。)に加え,paramが,SMILメディアオブジェクトの子どもとして許可されている。さらに,他の新しい子どもがホスト言語によって定義されてもよい。

param要素

新しいparam要素は,メディアオブジェクトにメディア指定属性を付加する一般化された機構を提供する。

brush要素

新しいbrush要素は,メディアに関連付けられていない塗りつぶし色メディアオブジェクトの指定を許可する。