14. SMIL 2.0 Basicプロファイル及び変倍可能性フレームワーク

14.1 要約

SMIL 2.0は,SMIL 2.0言語プロファイルの部分集合を使用して定義できる変倍可能なSMILプロファイルのファミリである変倍可能性フレームワークを提供する。SMIL文書は,変倍可能なSMILプロファイルに適合して制作することができる。例えば,資源が制約された装置上では制限された機能を提供し,より能力がある装置上ではより豊富な能力の使用を許可する。SMIL 2.0 Basic(又はSMIL Basic)は,移動体電話及び可搬なディスクプレーヤといった資源が制約された装置に対する必要を満たすプロファイルとする。SMIL Basicプロファイルは,変倍可能なSMILプロファイルの定義の基礎を提供する。SMIL Basicは,SMILホスト言語適合とする。それは,SMILホスト言語適合を要求されるこれらのモジュールから正確に成り立っている。14.では,SMIL 2.0 Basicプロファイル,並びに適合するSMIL Basic文書及びSMIL Basic利用者エージェントの要件を定義する。さらに,変倍可能なSMILプロファイル,それらを定義するための手引き,及びそれらの適合性要件について示す。

14.2 導入

同期化マルチメディア統合言語(SMIL)は,デスクトップから,移動体電話,可搬なディスクプレーヤ,カーナビゲーションシステム,テレビ受像機及び音声利用者エージェントといった遍在する情報機器までの範囲にわたる,様々な異なった好みの顧客のための様々なマルチメディアサービス用の強力な機能を含んでいる。これらのプラットホームの各々は,その特有な能力及び要件をもっている。すべてのプラットホーム上で,SMIL 2.0の機能のすべてが要求されるわけではないことは明らかである。SMIL 2.0モジュール化は,意味的に関係するSMIL要素,属性及び属性値を,SMILモジュールの互いに素な集合にグループ化する。そして,これらのモジュールは,異なったコミュニティの必要を満たすSMILプロファイルを生成するために再び組み合わせることができる。例えば,ハンドヘルド装置又は携帯電話は,それ自体のプロファイルの中で,SMIL 2.0モジュールの小さな部分集合だけをサポートすればよい。

これらのSMILプロファイルは,異なる必要性に対して構築された装置プロファイル間の文書の相互運用性を維持管理する一方で,SMIL利用者エージェントが,それが必要とするSMIL 2.0規定の部分集合だけを実装することを可能にする。SMIL 2.0は,変倍可能なプロファイルのファミリを定義するフレームワークを提供する。変倍可能なプロファイルは,広範囲の複雑性のある利用者エージェントに対して,ターゲット装置の能力に合わせた単一の変倍可能なSMIL文書知的表現からのレンダリングを可能にする。SMIL Basicプロファイルへの適合は,相互運用性の保証の基礎を提供する。

変倍可能なプロファイルの利点は,次のとおり。

変倍可能なプロファイルは,名前空間機構によってアプリケーション又は装置に特有な機能をサポートする内容制御機能を用い,SMIL Basicプロファイルを拡張することによって定義されている。SMIL Basicは,SMIL 2.0ホスト言語適合とする。それは,ホスト言語適合性に要求されるSMILモジュールのすべてを含んでいる。実際は,ホスト言語適合性に要求されるモジュールだけを含んでいる。利用者エージェントは,少なくともSMIL Basicによって許可されているものと同様な複雑さの文書をレンダリングできる場合,SMIL Basic適合と呼ばれる。利用者エージェントは,それが拡張をサポートする範囲で,かなり複雑な文書をレンダリングしてもよい。SMIL 2.0言語プロファイルに適合する利用者エージェントは,自動的にSMIL 2.0 Basicに適合する。

14.3 SMIL 2.0 Basicプロファイル

14.3.1 定義

SMIL 2.0 Basicプロファイルは,資源が制約された装置でSMILホスト言語適合性に対して要求されるモジュールの同じ集合から構成されている。それは,次のSMIL 2.0モジュールを含んでいる。

厳密には要求されないが,SMIL Basicに基づく言語は,変倍可能なプロファイル機構を使って,SMIL 2.0 Timing and SynchronizationからSyncbaseTimingモジュールを含むこと,及びSMIL Basic利用者エージェントは,装置の制約が禁じていない場合には,そのモジュールをサポートすることを,強く推奨する。

XML名前空間宣言及び国際化

xmlnsを用いるXML名前空間宣言,及びXML国際化のxml:lang属性は,すべての要素でサポートされる。

14.3.2 SMIL 2.0 Basic文書の適合性

SMIL Basic文書は,それが適合するSMIL 2.0文書である場合,"適合(する)"SMIL Basic文書とする。

14.3.3 SMIL 2.0 Basic利用者エージェントの適合性

SMIL Basic利用者エージェントは,SMIL 2.0文書を構文解析し,定義されたSMIL 2.0機能の部分集合を処理し,出力メディアに文書の内容をレンダリングすることができるプログラムとする。適合SMIL Basic利用者エージェントは,次の基準のすべてを満たさなければならない。

  1. XML 1.0勧告[XML10]と整合性を取るために,利用者エージェントは,整形式を検査するために,SMIL 2.0文書を構文解析し評価しなければならない。利用者エージェントが,妥当性検証を行う利用者エージェントであると主張する場合には,[XML10]に従って,それらの参照されるDTDに対して文書の妥当性検証も行わなければならない。
  2. 利用者エージェントが,SMIL 2.0の要素及び属性,並びにこれらの要素及び属性と関連するセマンティクスを介して,SMIL 2.0の機能をサポートすると主張する場合,この規定と整合する方法で,それを行わなければならない。
  3. 利用者エージェントは,あらゆる適合SMIL 2.0文書を失敗せずに構文解析でき,サポートされたすべてのSMIL 2.0モジュールのセマンティクスを正しく実装しなければならない。
  4. 利用者エージェントは,適合しているSMIL 1.0文書を失敗せずに構文解析でき,SMIL 1.0互換な構文の文脈において,サポートされたすべてのSMIL 2.0モジュールのセマンティクスを正しく実装しなければならない。
  5. 利用者エージェントは,ホスト言語適合性に要求される一覧として示されたすべてのSMIL 2.0モジュールを完全にサポートしなければならない。
  6. 利用者エージェントのXML構文解析器は,[XML10]及びXML名前空間[XML-NS]で定義されたXML構成要素を構文解析し処理できなければならない。
  7. 利用者エージェントは,実装されていない属性及び要素を無視しなければならない。実装されていない属性は,指定されていないものとして扱われることが望ましい。実装されていない要素は,skip-content機構を適用させることが望ましい。skip-content属性が宣言されていない場合,true値が仮定される。
  8. 利用者エージェントは,すべてのSMIL 2.0名前空間URIを,systemRequired属性及びsystem-required属性を用いて使用する場合,正しく評価しなければならない。
  9. 利用者エージェントによって認識されるデフォルト名前空間は,次の三つの型の一つに分類される。
    1. 利用者エージェントによってそのまま完全に認識されるデフォルト名前空間。利用者エージェントは,文書を認識された版として処理することが望ましい。(SkipContentControlモジュールで定義されている)skip-content機構は,利用者エージェントによって認識されない拡張要素に適用される。デフォルト名前空間の一部でない限定されていない要素は,文法的に正しくなく,結果としてエラーを生じなければならない。

      • 純粋なSMIL 1.0文書。
        <smil xmlns="http://www.w3.org/TR/REC-smil"> 
          ...
        </smil>
        
      • 純粋なSMIL 2.0文書。
        <smil xmlns="http://www.w3.org/2001/SMIL20/Language"> 
          ...
        </smil>
        
      • excl要素を使用して拡張されたSMIL 1.0文書。
        <smil xmlns="http://www.w3.org/TR/REC-smil"
              xmlns:smil20="http://www.w3.org/2001/SMIL20">
          <smil20:excl>
            ...
          </smil20:excl>
        </smil>
        
      • SMILの架空のSMIL 3.0版からの'foo'要素を使用して拡張されたSMIL 2.0文書。
        <smil xmlns="http://www.w3.org/2001/SMIL20/Language"
              xmlns:smil30="http://www.example.org/2002/SMIL30/">
          <smil30:foo>
            ...
          </smil30:foo>
        </smil>
        
    2. デフォルト名前空間宣言が文書の中に存在しない。文書は,SMIL 1.0文書として処理される。
    3. 認識されないデフォルト名前空間。SMIL利用者エージェントは,その文書がSMILのどの版かを認識せず,エラーを出さなければならない。
  10. 利用者エージェントは,SMIL 2.0の内容に関して,次のW3C勧告をサポートしなければならない。

14.4 変倍可能性プロファイル

変倍可能性プロファイルは,広範囲な複雑性をもつ利用者エージェントが,ターゲット装置の能力に合わせた単一で変倍可能なSMIL文書知的表現からのレンダリングを行うのを可能にする。変倍可能なSMILプロファイルのファミリは,Basicプロファイルに,各プロファイルが示す特定の必要性に合わせた追加のモジュールの集合を加えたものを使って構築される。プロファイルは,名前空間機構によるアプリケーション又は装置に特有な機能をサポートするために,内容制御機能を使って,変倍可能性を規定する。この機構は,一貫した方法でSMIL 2.0の拡張及び部分集合化を可能にする。SMIL 2.0名前空間は,[XML-NS]に従って,他のXML名前空間と共に使用されてよいが,そのような文書は,他の箇所で定義されているとおり,厳密には適合SMIL 2.0文書ではない。W3Cによる将来の作業は,複数の名前空間に関連する文書に対する適合性を指定する方法に取り組む可能性があると期待される。

14.4.1 定義

変倍可能なSMIL 2.0プロファイルは,先に定義されているとおり,SMIL Basicプロファイルの中のすべてのモジュールを含む。

さらに,SMIL 2.0 Basicの一部ではないSMIL 2.0モジュールから任意の一つ以上のモジュールを含んでもよい。

xmlns属性を使ったXML名前空間宣言及びXML国際化属性xml:langは,すべての要素でサポートされる。

変倍可能なプロファイルは,次のとおり,名前空間機構による内容制御機能を用いることによって指定される。

  1. systemRequired属性は,プロファイルをサポートするためにSMIL Basicに追加されるのがよいモジュールの集合を指定する。プロファイルは,SMIL 2.0 Basicプロファイルのモジュールと,systemRequired属性で指定されたモジュールとの和集合として定義される。
  2. systemRequired属性は,ルートsmil要素上で指定されるか,又はルート要素以外の要素上で行内に指定される。

14.4.2 SMIL 2.0文書の変倍可能性の指針

14.4.2では,SMIL Basic内容制作者のために,彼らが制作した内容が,SMIL Basic及びSMIL 2.0言語に適合する装置の最も広い範囲で再生できるようにする幾つかの変倍可能性の指針を示す。

SMIL 2.0文書は,smilルート要素において,次の識別子URIをもつxmlns属性を用いて,その文書の要素のために名前空間を宣言しなければならない。

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
  ...
</smil>

デフォルト名前空間は,xmlns="http://www.w3.org/2001/SMIL20/Language"でなければならない。

制作者は,systemRequired属性を用いて,SMIL 2.0のどの構成要素が文書をレンダリングするために要求されるかを指定してよい。

SMIL名前空間URI及びモジュール識別子URIは,SMIL 2.0モジュールで定義及び予約されている。名前空間接頭辞は,例えば,"transition"及び"layout"のように,文書制作者によって設定される。これは,制作者に,文書をサポートするためにどの追加モジュールが要求されるかを明示的に表現する手段を提供する。

制作者は,systemRequired属性又はsystem-required 属性を用いて,明示的に内容のブロックを限定することを選択してもよい。次の例は,switch内のseqコンテナ上にsystemRequired属性を含んでおり,"BrushMedia"試験が成功した場合には,brush要素の取込みを許可し,BrushMediaモジュールがサポートされていない場合には,画像に基づく代替を提供する。

<smil xmlns="http://www.w3.org/2001/SMIL20/Language" 
      xmlns:BrushMedia="http://www.w3.org/2001/SMIL20/BrushMedia" >
  <head>
    <layout>
      <region id="colorbox" top="0px" left="0px" height="50px" width="50px" />
    </layout>
  </head>
  <body>
    <switch>
      <seq systemRequired="BrushMedia">
        <brush dur="5s" color="#0000FF" region="colorbox"/>
        <brush dur="5s" color="#00FF00" region="colorbox"/>
        <brush dur="5s" color="#FF0000" region="colorbox"/>
      </seq>
      <seq>
        <img dur="5s" src="blue.jpg"  region="colorbox"/>
        <img dur="5s" src="green.jpg" region="colorbox"/>
        <img dur="5s" src="red.jpg"   region="colorbox"/>
      </seq>
    </switch>
  </body>
</smil>

systemRequired属性の値は,xmlnsを用いてモジュール識別子URI,例えば,"BrushMedia"といった名前接頭辞,を参照する。要求されたモジュールの識別子として,この名前は,SMIL 2.0規定において定義されるモジュール名であることが望ましい。モジュール名のリストは,SMIL 2.0モジュールにまとめられている。

smil要素上のsystemRequiredと,他のSMIL要素上の"行内"systemRequiredとの間には,暗黙的に示された相違がある。前者は,文書をレンダリングするための強い要件となる。例えば,smil要素上のsystemRequiredが,あるモジュールを,たとえそのモジュールが文書内で実際には使用されていなくとも,利用者エージェントがサポートしていないとリストに示している場合には,その文書は,その利用者エージェントによるプレゼンテーションからは禁止される。

逆に,他の要素上のsystemRequired属性の使用は,文書の部分木をレンダリングするための要件だけを指定する。プレゼンテーションの内容の幾つかがSMIL Basic及びsmil要素上のsystemRequired属性で指定されたものを越えたサポートを要求する場合,その追加機能は,switch要素及びシステム試験属性を用いて包み込まれることが望ましい。そうすれば,利用者エージェントがそれを評価し,それに従って処理できる。

14.4.3 変倍可能なSMIL 2.0文書の適合性

変倍可能なSMIL文書は,適合SMIL 2.0文書でなければならない。

14.4.4 変倍可能な利用者エージェントの適合性

適合する変倍可能な利用者エージェントは,上記のSMIL Basic利用者エージェントのための要件に適合しなければならない。

適合する利用者エージェントは,SMIL 2.0 Basicプロファイルによって定義されるモジュールすべてを,最小限として実装しなければならない。

switch要素及びシステム試験属性は,端末の中のクライアントによって,又は配布前(であって,恐らくCC/PP [CC/PP]折衝後)にサーバ側のサーバによって,処理されることができる。