5. SMIL 2.0レイアウトモジュール

5.1 導入

5.は,SMIL 2.0 レイアウトモジュールを定義する。レイアウトモジュールは,BasicLayoutモジュールと,BasicLayoutモジュールの上に構築される追加機能をもつ三つのモジュール(AudioLayoutモジュール,MultiWindowLayoutモジュール及びHierarchicalLayoutモジュール)とから構成される。これらのモジュールは, 視覚的レンダリング面上でのメディア要素の位置決めを考慮し,音量の制御を考慮する要素及び属性を含む。これらの要素及び属性はモジュールの中で定義されるので,他のマーク付け言語の設計者は,その言語にこの機能を含めるかどうかを選ぶことができる。したがって,他のSMILモジュールを組み入れる言語設計者は,十分なレイアウト機能が既に存在する場合,レイアウトモジュールを含める必要はない。

5.2 SMIL 2.0 BasicLayoutモジュールの概要

このモジュールの機能は,[SMIL10]のレイアウト機能と本質的に同一とする。

SMIL 1.0に類似して,SMIL 2.0 BasicLayoutモジュールは,視覚的レンダリング面における区域にメディア要素を編成するためのレイアウトモデルを含む。そのlayout要素は,レンダリングされたメディア要素がレンダリングされる区域の集合を宣言するために,文書headの中で使用される。メディア要素は, それらがregion属性を用いてどの区域にレンダリングされるかを宣言する。

各区域は, topleftheightwidth, backgroundColorなどのCSS2互換特性をもつ。layout要素のtype属性によって定義される構文を使用して, これらの特性を宣言できる。この方法で,メディアレイアウトは, SMILの基本的なレイアウト構文又はCSS2構文のどちら(これらが機能的に同一でないことに注意)を使用して,記述されることが可能になる。他のレイアウト型も可能とする。

例えば,SMIL BasicLayoutモジュールを使用して, 場所"15,20"に, "r"というidをもち, 幅100画素, 高さ50画素の区域を記述する。

    <layout>
    <region id="r" top="15px" left="20px" width="100px" height="50px"/>
    </layout>   

CSS2構文を使用して, 同じ区域を生成する。

    <layout type="text/css">
    [region="r"] { top: 15px; left: 20px; width: 100px; height:50px; }
    </layout>

ここで宣言された区域の中にメディア要素を表示するために, メディア要素のregion属性として区域のidを指定する。

    <ref region="r" src="http://..." />  

さらに,実装は,直接的にメディアレイアウトを設定するために, CSS構文の使用を許可することを選択してよい。これは, メディア要素にレイアウト特性を設定するために, 選択子構文を使用することによって実行され得る。例えば,前述の例と同じ大きさ及び同位置の長方形に, すべてのビデオ要素及び画像要素を表示する。

    <layout type="text/css">
    video, img { top:15px; left:20px; width:100px; height=50px; }
    </layout>

SMILのswitch要素などの制御構造の中で, それぞれ異なる型の複数レイアウトモデルを指定できることに注意すること。実装によってサポートされるをもつ最初のレイアウトが, 使用されるレイアウトになる。

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

5.3.1 要素及び属性

5.3.1は, SMIL BasicLayoutモジュールの機能を構成する要素及び属性を定義する。

layout要素

layout要素は, 文書本体の要素がどのように抽象レンダリング面(視覚的レンダリング面又は音響的レンダリング面のどちらか)に位置決めされるかを決定する。

宣言されたレイアウトのどれかが文書中で使用される前に,layout要素が現れなければならない。存在する場合には,layout要素は, 文書のhead節に現れなければならない。文書がlayout要素を含まない場合には,body要素の位置決めは, 実装に依存する。

SMIL 2.0 BasicLayoutを含むプロファイルは,SMIL 2.0 BasicContentControlモジュールもサポートすることが, 推奨される。それで文書は,SMILのswitch要素の中に幾つかのlayout要素を含むことによって,複数の別のレイアウトをサポートできる。これは, 異なるレイアウト言語を使用して, 文書のレイアウトを記述するのにも使用できる。SMIL BasicContentControlモジュールにおけるシステム試験属性のサポートは,制作者のより大きな柔軟性及び利用者のアクセシビリティをも可能にする。

空のレイアウト要素<layout></layout>を選択することによって,デフォルトレイアウト値は, すべてのレンダリング可能な要素に割り当てられる。文書がlayout要素を含まない場合,メディア要素の位置決めは, 実装に依存する。

 

要素属性

type
この属性は,どのレイアウト言語がレイアウト要素で使用されるかを指定する。利用者エージェントがこの言語を理解しない場合,それは, 次の</layout>タグまで要素及びその内容のすべてを読み飛ばさなければならない。type属性のデフォルト値は, "text/smil-basic-layout"とする。この識別子値は, SMIL 1.0及びSMIL 2.0のBasicLayoutモジュールレイアウトのセマンティクスをサポートする。
要素内容

レイアウト要素のtype属性が値"text/smil-basic-layout"をもつ場合,それは, 次の要素を含んでよい。

region
root-layout

BasicLayoutモジュールを組み入れる言語は,どの追加要素が子どもとして許可されるかを定義する必要がある。layout要素のtype属性が別の値をもつ場合,要素は, 文字データを含む。

region要素

区域要素は, メディアオブジェクト要素の位置,大きさ及び拡大縮小を制御する。

次の素片例では,テキスト要素の位置は, レンダリングウィンドウの上の境界から5画素の距離に設定される。

<smil xmlns="http://www.w3.org/2001/SMIL20/">
  <head>
    <layout>
        <root-layout width="320" height="480" />    
              <region id="a" top="5" />
    </layout>
  </head>
  <body>
    <text region="a" src="text.html" dur="10s" />
  </body>
</smil>

topbottomleft及び rightの属性によって指定されるとおり, 区域の位置は, 親要素によって定義される親ジオメトリに常に相対的とする。SMIL BasicLayoutモジュールについては, すべての区域要素は, それらの直接の親としてレイアウト要素をもたなければならなず, 区域位置は, 兄弟のroot-layout要素で宣言される根ウィンドウに相対的に定義される。区域の本来的な大きさは, 親ジオメトリの大きさに等しい。

区域の大きさが, width属性及びheight属性によって指定されるとおり, "%"の記法で相対的と宣言される場合,区域の大きさは, 親ジオメトリの大きさに相対的とする。絶対画素値として宣言される大きさは,その絶対値を保持する。

区域の大きさ属性と, 区域の位置属性(widthheightbottomleftright及び top)との間の矛盾は,次に詳述されるplaceholder要素に関する規則に従って, 解決される。区域の位置属性及び大きさ属性のデフォルト値は, autoと指定される。置換された要素と置換されない要素との間に区別がない場合,この属性値は, [CSS2]における意味と同じ意味をもつ。

placeholder要素は, 本来的な幅又は高さをもたない要素であるが,幅及び高さをもつ境界付けボックスをもつ。SMIL BasicLayout区域は, placeholder要素とする。placeholder要素は, 境界付けボックスにクリップされる。

水平の大きさを決定する式を次に示す。

bbw (bounding-box-width) = left + width + right

これらの三つのパラメタのそれぞれが"auto"の値又は"auto"でない定義された値のどちらかをもつことができると,次の8とおりの可能性がある。

属性値

境界付けボックスにクリップする前の結果

left width right left width right
auto auto auto 0 bbw 0
auto auto defined 0 bbw - right right
auto defined auto 0 width bbw - width
auto defined defined bbw - right - width width right
defined auto auto left bbw - left 0
defined auto defined left bbw - right - left right
defined defined auto left width bbw - left - width
defined defined defined left width bbw  - left - width

垂直の属性の heightbottom及び topは, 同様に解決される。垂直の大きさを決定する式を次に示す。

bbh (bounding-box-height) = top + height + bottom 

これらの三つのパラメタのそれぞれが, "auto"の値又は"auto"でない定義された値のどちらかをもつことができると,次の8とおりの可能性がある。

属性値

境界付けボックスにクリップする前の結果

top height bottom top height bottom
auto auto auto 0 bbh 0
auto auto defined 0 bbh - bottom bottom
auto defined auto 0 height bbh - height
auto defined defined bbh - bottom - height height bottom
defined auto auto top bbh - top 0
defined auto defined top bbh - bottom - top bottom
defined defined auto top height bbh - top - height
defined defined defined top height bbh - top - height

要素属性

region要素は, 次の視覚的属性をもつことができる。

backgroundColor
この属性の使用及び定義は, CSS2規定の"background-color"特性と同一とする。この属性は, メディアによって埋められない区域表示メディアの領域を埋めるために使用される背景色を指定する。区域がメディア要素によって使われていないときの背景色の表示は, showBackground属性によって制御される。SMIL 1.0と異なり,このモジュールは, CSS2システム色のサポートを必要とする。
backgroundColor属性は, CSS値の継承を採用してよい。これは,背景色が親要素のそれになることを意味する。親要素が適用可能な背景色の特性をもたないとき,代わりにtransparentのデフォルト値を使用する。
background-color
非推奨とする。この属性を置換するbackgroundColorと等価とする。言語プロファイルは,background-color属性がサポートされるかどうかを定義しなければならない。backgroundColor及びbackground-colorの両属性がないとき,背景はtransparentとする。
bottom
この属性の使用及び定義は, CSS2規定の"bottom"特性と同一とする。属性値は, CSS2で定義される"length"値の変化及び非負の"percentage"値であり得る。"length"値に関しては,SMIL 2.0 BasicLayoutは, CSS2で定義されるとおり, 画素単位だけをサポートする。それは,制作者が, 画素値における"px"単位修飾子("px"修飾子は, CSS2では必須。)を省くことを可能にする。区域の大きさ属性bottom,  left, right,  top, width及びheightの間の矛盾は,[CSS2]において絶対的に位置決めされ,置換される要素に関する規則に従って解決される。この属性のデフォルト値は, autoとする。
fit
視覚的メディアオブジェクトの本来的なheight及びwidthが, region要素においてheight属性及びwidth属性によって指定される値と異なる場合,この属性は, 振る舞いを指定する。この属性は, CSS2特性に1対1のマップ付けをもっていないが,CSS2でシミュレーションできる。
この属性は, 次の値をもてる。
fill
オブジェクトのheight及びwidthを独立して拡大縮小して, 内容をちょうど箱のすべての辺に接触させる。
hidden
次の効果をもつ。
  • a) メディアオブジェクト要素の本来的なheight(width)がregion要素で定義されるheight(width)より小さい場合,top(left)の辺から開始してオブジェクトをレンダリングし,背景色で残りのheight(width)を埋める。
  • b) メディアオブジェクト要素の本来的なheight(width)がregion要素で定義されるheight(width)より大きい場合,top(left)の辺から開始して, region要素の中で定義されるheight(width)までオブジェクトをレンダリングして,heightの下(widthの右)のオブジェクトの部分をクリップする。
meet
メディアオブジェクトのheight又はwidthがheight属性又はwidthの属性によって指定される値に等しくなるまで,アスペクト比を保存しながら視覚的メディアオブジェクトを拡大縮小するが, 内容はクリップされない。オブジェクトのtop-leftの角は, ボックスのtop-leftの座標に位置決めされ, right又はbottomの空の空間は, 背景色で埋められる。
scroll
要素のレンダリングされる内容がその境界を越えるとき,スクロール機構が呼び出されることが望ましい。
slice
メディアオブジェクトのheight又はwidthがheight属性又はwidth属性によって指定される値に等しくなるように,アスペクト比を保存しながら視覚的メディアオブジェクトを拡大縮小するが, いくつかの内容はクリップされてもよい。 正確な状況に依存して,視覚的メディアオブジェクトの水平スライス又は垂直スライスのどちらかが表示される。オーバフローwidthは, メディアオブジェクトの右からクリップされる。オーバフローheightは, メディアオブジェクトの下からクリップされる。

  fitのデフォルト値は, hiddenとする。

fit属性は, それが画像, ビデオなどのように本来的な2次元の大きさをもつと, 視覚的メディアに適用されることに注意すること。それは, (HTMLの視覚的表示において, HTMLページが特定の大きさにレイアウトされた後のように) 2次元の空間的な大きさが決定されるまで, 変化する状況に対してレンダリングされ適応される視覚的メディアには適用されない。

height
この属性の使用及び定義は, CSS2規定の"height"特性と同一とする。属性値は, bottom属性の値と同じ制約及び規則に従う。区分の本来的なheightは, 親ジオメトリのそれと同じとする。この属性のデフォルト値は, autoとする。
left
この属性の使用及び定義は, CSS2規定の"left"特性と同一とする。
属性値は, "bottom"属性の値と同じ制約及び規則に従う。
この属性のデフォルト値は, autoとする。
regionName
この属性は, メディアオブジェクト要素のregion属性によって参照され得るこのregion要素に名前を割当てる。regionName属性は, 一意識別子ではなく,複数のregion要素が, 同じregionName属性値を共有できる。
right
この属性の使用及び定義は, CSS2規定の"right"特性と同一とする。
属性値は, "bottom"属性の値と同じ制約及び規則に従う。
この属性のデフォルト値は, autoとする。
showBackground
この属性は, 区域にレンダリングされるメディアがないとき,その区域のbackgroundColorが示されるかどうかを制御する。
  • a)showBackgroundの値がalwaysであれば,区域にレンダリングされるメディアオブジェクトがないときに, 背景色がその区域に示される。区域がhierarchical layoutの一部であると,どの先祖区域も, 活性であるか, 示される背景色に関してalwaysshowBackground値をもつかのどちらかでなければならない。
  • b)showBackgroundの値がwhenActiveであると,区域にレンダリングされるメディアオブジェクトがないときに, 背景色がその区域に示される。区域がhierarchical layoutの一部であると,どの子孫区域も活性であるときに, 背景色も示される。
showBackgroundのデフォルト値は, alwaysとする。
top
この属性の使用及び定義はCSS2規定の"top"特性と同一とする。
属性値はbottom属性の値として同じ制約及び規則に従う。
この属性値はautoとする。
width
この属性の使用及び定義はCSS2規定の"width"特性と同一とする。
属性値はbottom属性の値として同じ制約及び規則に従う。 本来的な区域のwidthは,親ジオメトリのものと同様とする。
この属性のデフォルト値はautoとする。
z-index
この属性の使用及び定義は以下の例外でCSS2規定の"z-index"の特性と同一とする。
 
要素A及びBで発生する二つの箱が同じスタックレベルをもっている場合,以下のようになる。
  • a)要素Aの表示が要素Bの表示より遅く開始する場合,Aの箱はBの箱の上にスタックされる(臨時の順序)。
  • b)又は,要素の表示が同時に開始する場合,SMIL文書テキストにおいて要素Aは要素Bより遅く現れる。Aの箱はBの箱の上にスタックされる(CSS2で定義される文書ツリーの順序)。

SMIL 2.0 BasicLayout モジュールで統合されているプロファイルはregion要素におけるXML識別子を宣言する方法を与える。

root-layout要素

root-layout要素は 順番にSMILプレゼンテーションが表示されるウインドウの大きさを決定するroot要素のレイアウト属性の値を決定する。

1より多いroot-layout要素は一つのlayout要素内で分析される場合,これはエラーであり及び,文書は表示されない。利用者エージェントによってスキップされたroot-layout要素をこれは含まない。(例えば,同封されたlayout要素は認識されていないtype又は誤評価されるテスト属性のためにスキップされた場合。)

root-layout要素のセマンティクスがSMIL1.0にある。属性root-layout要素はトップレベルプレゼンテーションウィンドウの大きさを決定する。そして,宣言している兄弟区域はこのトップレベルウインドウの中に配置される。height又はwidth root-layout要素のどちらかが指定されない場合,属性の値は実現依存する。 root-layout要素のセマンティクスは,SMIL 1.0にある。root-layout要素の属性はトップレベルのプレゼンテーションウインドウの大きさを決定し及び,宣言されている兄弟区域はウインドウのトップレベル内に配置される。root-layout要素のheight又は widthのどちらも指定されない場合,属性の値は実装依存する。

要素属性

root-layout 要素は次の属性をもつことができる。

backgroundColor
region要素の下でbackgroundColorとして定義される。デフォルト背景色がtransparent(デフォルトによって,実装依存ウインドウの背景は示されることを暗示する)とすることに注意すること。
background-color
region要素の下でbackground-colorとして定義される。
height
ルート要素のheightを設定する。lengthの値だけが許可される。"length"値のために,SMIL 2.0 BasicLayoutはCSS2で定義される画素単位をサポートするだけとする。それは制作者に画素値で“px"単位修飾子を省かせる("px"修飾子がCSS2で要求される)。
width
root要素のwidthを設定する。lengthの値だけが許可される。"length"値のために,SMIL 2.0 BasicLayoutはCSS2で定義される画素単位をサポートするだけとする。それは制作者に画素値で“px"単位修飾子を省かせる("px"修飾子がCSS2で要求される)。

要素内容

root-layout要素は空要素とする。

root-layout要素がトップレベルregion要素の空兄弟とするという条件で,この要素はSMIL 1.0 構文をサポートする。

region属性

region属性は,どのレンダリング区域が要素に割当てられるのかを指定するために要素に適用される。属性は文書のレイアウト節内で定義された抽象的なレンダリング区域(視覚的レンダリング面又は音響的レンダリング面のどちらか)を言及する。参照された抽象的なレンダリング区域は順序における次の規則を適用することによって,決定される。

  1. region属性として同じ値が割当てられるregionName属性によるレイアウト節の中のすべての要素を見つけること。
  2. switch要素及びテスト属性の処理のためにレンダリングされたプレゼンテーションから取り除かれたこの集まりから要素を取除くこと。
  3. 要素が残っている場合メディアは,区域の参照のすべてにレンダリングされることが望ましい。アプリケーションがメディアを多重区域で同時にレンダリングできない場合,始めに残っている要素を辞書的に使用するように表示されることが望ましい。
  4. 区域属性のものとして同じ値を割当てられるregionName属性をもっている要素がない場合,一意の識別子がregion属性の値とするレイアウト節の中の要素を選ぶこと。

この過程がレイアウト節で定義されるレンダリング面を選択しない場合,この要素の形式特性の値はデフォルトレイアウト値によって定義される。そして,このモジュールのための統合要件の節でそれを記述する。

このモジュールを統合する言語は,どの要素がregion属性及び属性の受け継いだものをもっているのかを指定しなければならない。

5.3.2 SMIL BasicLayoutモジュールの詳細

SMIL 2.0 BasicLayoutモジュールはCSS2で定義される視覚的レンダリングモデルと一致していて,CSS2規定によって定義される形式特性を再利用し,新たにfit属性を導入する[CSS2]。読者は,CSS2で定義される概念及び用語をよく知っていることが期待される。

SMIL 2.0レイアウト区域は,(マウスのクリック又はハイパリンク起動といった)利用者インタフェースイベントの基本的な視覚的要素への伝達に影響する。イベントの位置がメディアよりむしろ区域の背景に対応している場合,transparentregion背景色は,利用者インタフェースイベントが表示積重ね順序をより低く要素へ通り抜けるのを許可する。逆に非transparent背景色における区域は,イベントが表示積重ね順序をより低く要素へ通り抜けるのを許可しなくて,利用者インタフェースイベントをキャプチャするだろう。この振る舞いはregion要素によってキャプチャされた状態で利用者ーインタフェースイベントを利用する言語プロファイルの性能のものとは別々とする。

統合要件

ここに指定されたそれらを越えたいくつかの要素が子どもとして許可される場合,SMIL 2.0 BasicLayoutモジュールを統合するプロファイルはlayout要素のために内容モデルを定義しなければならない。

プロファイルがXML識別子によってregion要素を言及する意図がある場合,SMIL 2.0 BasicLayoutモジュールを統合するプロファイルはregion要素におけるXML識別子を宣言する方法を提供しなければならない。この値はregion属性への理論値として使用される。プロファイルがregion要素へ言及するregionName方法を使用するだけの場合,これは要求されない。

SMIL 2.0 BasicLayoutモジュールを統合するプロファイルはどの要素がregion属性及び属性の受け継いだものをもっているかを指定しなければならない。

プロファイルによって別の方法で定義されなければ,SMIL 2.0レイアウトモジュールでリストされているレイアウト属性のデフォルト値はレイアウトセマンティクスを指定しない提示された要素に適用されるだろう。

有効なregion要素を言及しない要素はデフォルト区域を表示しない。プロファイルによって別の方法で指定されない場合,デフォルト区域は充填と定義されて,及びプレゼンテーションウィンドウの左上隅に並べられる。このデフォルト区域はすべての他のregion属性のためにデフォルト値を呈する。

5.3.3 BasicLayoutモジュールのための文書型定義(DTD)

SMILレイアウトモジュールにおける完全なDTDを見ること。

5.4 SMIL 2.0 AudioLayoutモジュールの概要

5.4は,SMIL 2.0 AudioLayoutモジュールによる機能を定義する。このレベルは音声レンダリング面の音量制御を提供する属性を含む。

5.4.1 AudioLayoutモジュールのための統合要件

このモジュールによる機能はBasicLayoutモジュールによる機能のトップに構築する。そして,AudioLayoutモジュールの包含のために要求された前提条件とする。

5.4.2 音量制御

SMIL 2.0 AudioLayoutモジュールは,region要素,soundLevel上の新しい特性を経由して聴覚メディア音量の制御をサポートする。明白なsoundLevelについての区域を割り当てるマルチメディアは,与えられた相対的な音の強度でレンダリングされた音声をもつ。

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

5.5.1 要素及び属性

この節はSMIL 2.0 AudioLayoutモジュールを作る要素及び属性を定義する。

region要素

BasicLayoutモジュールで定義されたregion要素はsoundLevel属性の追加において拡張される。
 

要素属性

region 要素は次の聴覚の属性をもつことができる。

soundLevel
与えられたregion内で再生するために割り当てられたメディア要素の音声部分の相対的な音量を指定する。これは音再現単位についてのregion要素を関連づける。縦続された複数のregionは,以下で説明されるとおり,各区域のそれぞれの音レベル設定を蓄積する。複数の音源に対して用いられた複数のregionは,それらすべての音レベル設定を適用する。音源が,(例えば,regionName属性のアプリケーションを通して)異なった単位によって再生されてもよい。そのような"多重ウインドウ"の場合では,別々なsoundLevelが(regionごとに一つの)各々の音源のインスタンスに適用されてもよい。割り当てられたレベル変化は,百分率値によって入れ子にされた区域に蓄積する。

有効な値は負でないCSS2 百分率値とする。百分率値はメディアの記録された音量に相対して解釈される。百分率は出力対入力信号レベルの比率に解釈されて,dBに関して定義される。

信号レベルにおけるdB変化 = 20 log10(percentage-value / 100)

'0%'の設定は音無しでメディアを再生する。'100%'の値はその記録された音量(0dB)でメディアを再生するだろう。同様に,(ハードウェア制約にしたがって)音量を記録したように'200%'の値は約2倍,音の大きいメディア(6dB)を再生するだろう。デフォルト値は'100%'とする。知覚されたメディアの絶対音レベルはシステム音量設定に対し,より遠い条件であって,それは,この属性で制御することができない。

5.6 SMIL 2.0 MultiWindowLayoutモジュールの概要

5.6は,SMIL 2.0 MultiWindowLayoutモジュールによる機能を定義する。このレベルは表示装置における多重トップレベルウインドウの創造及び制御に備える要素及び属性を含む。

5.6.1 MultiWindowLayoutモジュールのための統合要件

このモジュールによる機能はBasicLayoutモジュールによる機能のトップに構築する。そして,MultiWindowLayoutモジュールの包含のために要求された前提条件とする。

5.6.2 複数トップレベルウインドウのサポート

[[SMIL 10]]及びSMIL 2.0 BasicLayoutモジュールで,各々のプレゼンテーションは指定size/shapeの単一ルートウインドウへレンダリングされる。ルートウインドウは指定メディアオブジェクトのレンダリングを管理でするのに使用されるすべての区域を含む。

この規定は多重トップレベルウィンドウの概念をサポートする。もはや単一のルートウィンドウではないので,我々は代わりにtop levelという用語を使用する。含んでいるプロファイル及び実装によってサポートされる場合,個々のトップレベルウインドウへの区域の割当ては各々のトップレベルウィンドウの独立している配置と大きさ変更を許可する。表示装置におけるトップレベルウインドウの初期の配置及びトップレベルウインドウを移転するどんな利用可能な方法も実装依存する。

単一レイアウト要素内で起こてもよいtopLayout要素の多数の例を除いて,SMIL 1.0 root-layoutウインドウと同様に同じ方でtopLayout要素についてトップレベルウインドウは宣言される。

    
<layout>
  <topLayout id="WinV" title="Video" width="320" height="240"/>
    <region id="pictures" title="pictures" height="100%" fit="meet"/>
  </topLayout>
  <topLayout id="WinC" title="Captions" width="320" height="60">
    <region id="captions" title="caption text" top="90%" fit="meet"/>
  </topLayout>
</layout>

この例で,一つの区域("pictures")は"WinV"へ割当てられ,もう一つの区域("captions")は"WinC"へ割当てられ,二つの区域について定義された。トップレベルウインドウの定義及び含まれた区域はより古いroot-layout要素と違って,階層構文を使用する。

トップレベルウインドウは,表示コンテナだけとして機能する。つまり,それらは臨時のsignificanceを運ばない。言い換えれば,各々のウインドウは別々の時間軸又は他のどんな時間コンテナ特性も定義しない。 どんなにたくさんのトップレベルウインドウが創造されてしまっても,まだSMILプレゼンテーションのただ一つのマスター時間軸がある。これは,別々のトップレベルウィンドウに表示されるメディアの間に同期を許可するために重要とする。

トップレベルウインドウのディスプレイは,プレーヤによって自動的に又はアプリケーションの利用者によって手動的に制御されることができる。そのウインドウに表示される要素のどれかが活性とする間,ウインドウが閉じられる事が(利用者によって)ある場合,それらの要素に関するどんな時間軸へも効果はない。しかしながら,プレーヤは,動作改善として内容をでコードしないのを選んでもよい。トップレベルウインドウを選ぶための利用者に提供される方法は実装依存とする。

SMIL 1.0の互換性において,root-layout要素はSMIL 1.0レイアウトセマンティクスをサポートし続けるだろう。新しいtopLayout要素は拡張セマンティクス及び改善,ネストされた構文をサポートするだろう。

いくつかのある区域はほとんどのあるトップレベル(又はルートレベル)ウインドウに属するだろうということにもまた注意すること。区域はroot-layoutウインドウに属しているtopLayout要素の子どもとして宣言されない。root-layout要素が宣言されなかった場合,区域はBasicLayoutモジュールのセマンティクスによって追加ウインドウに割当てられる。

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

5.7.1 要素及び属性

この節はSMIL 2.0 MultiWindowLayoutモジュールを作る要素及び属性を定義する。

topLayout要素

topLayout要素は子にregion要素を配置するトップレベルウインドウとして役立つことと同様にSMILプレゼンテーションがレンダリングされるウインドウの大きさを決定する。

多数のtopLayout要素が独立トップレベルウインドウを各々宣言している単一のlayout 要素内に現れてもよい。

topLayout要素の各々の例は別々のトップレベルプレゼンテーションウィンドウの大きさを決定する。そして,下降の区域はこのトップレベルウィンドウ以内及びこのウインドウの座標系に関係して配置される。

topLayoutウインドウがプレゼンテーションでopen及びcloseの場合,このモジュールもまた制御を提供する。ホスト環境へのtopLayoutウインドウの正確なマップ付けは実装依存とすることに注意すること。できる場合,実装が依存デスクトップウィンドウを"pop up"することが期待されるが,フレームを使用するような多重topLayoutsをサポートする他の方法は許可される。自動的にウインドウを開いたり閉じたりする場合,アプリケーションがWAI User Agent Guidelines[UAAG]に従うことが望ましく,ウインドウが開かれるのか閉じられるのかを警告するのかどうか利用者に選ばせ,そしてウインドウの自動に開かれる及び閉じられるのを無効にする方法を与える。

要素属性

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

backgroundColor
region要素の下でbackgroundColorは定義される。デフォルトによって実装依存ウインドウの背景が示されるのを暗示している,デフォルト背景色がtransparentとすることに注意すること。
close
トップレベルウインドウがいつ閉じられるかを指定する。closeの値がonRequestとする場合,トップレベルウインドウはプレーヤによって自動的に閉じられず,利用者が利用者インタフェースを通して明示的ににそれを閉じる場合にだけ,閉じるだろう。closeの値がwhenNotActiveとする場合,どんなメディアもウインドウのどこにも区域を表示されていない場合,トップレベルウインドウは自動的に閉じることが望ましい。SMIL 2.0 timing and synchronizationを使用しているtimedメディアによって,topLayoutの区域を使用している活性持続時間又は凍結期間内にどんなメディアもない場合,closeのデフォルト値はonRequestとする。
height
トップレベルウィンドウのheightを設定する。length値だけが許可される。
open
トップレベルウインドウがいつ開かれるかを指定する。openの値がonStartとするとき,プレゼンテーションが開始する場合,トップレベルウインドウは開かれ,そして閉められる場合,プレゼンテーションの間,自動的に再開することは望ましくない。open の値がwhenActiveとする場合,すでに開かれていなくても,メディアがウインドウの区域の一つに表示される場合,トップレベルウインドウは開かれることが望ましい。SMIL 2.0 timing and synchronizationモジュールを使用するTimed Mediaにとって,これはtopLayoutの区域を使用する活性化持続時間又は凍結期間の中にいくつかのメディアがあるときを意味する。openのデフォルト値はonStartとする。
width
トップレベルウインドウのwidthを設定する。length値だけが許可される。
要素内容

topLayout要素はどんな数のregion要素を含むか,又は空とする。

単一のlayout要素内の多数topLayout要素を許可することは多数トップレベルウインドウをサポートする。

layout要素

要素内容

SMIL BasicLayoutモジュールで定義されるlayout要素は追加で拡張され,layout要素のtype属性が値"text/smil-basic-layout"をもっている場合,topLayout要素はlayout要素の内容モデルに追加される。

region
root-layout
topLayout

5.7.2 MultiWindowLayoutモジュールイベント

このモジュールは統合言語プロファイルに含まれてもよい二つのイベントを含む。

topLayoutOpenEvent
topLayout ウインドウが開かれたときに立ち上がった。このイベントは関連したtopLayout要素に渡される。追加メディアがその区域のどこかで活性になる場合,topLayoutが閉じて次に再開する場合,このイベントは再び立ち上げられて,それが再び開くごとに続いて起こる。
topLayoutCloseEvent
他の理由でtopLayoutが閉じる場合,立ち上げられる。このイベントは関連したtopLayout要素に渡される。追加メディアがその区域のどれかで活性になる場合,topLayoutが開いて次に再び閉じる場合,このイベントは再び立ち上がる。

MultiWindowLayout モジュールイベントにおける統合要件

言語プロファイルはイベントの泡立ちの振る舞いと同様にこれらのイベントを結びつけるのに叙述的な名前を指定しなければならない。

5.7.3 MultiWindowLayoutモジュールのための文書型定義(DTD)

SMIL レイアウトモジュールにおける完全なDTDを見ること。

5.8 SMIL 2.0 HierarchicalLayoutモジュールの概要

この節はSMIL 2.0 HierarchicalLayoutモジュールによる機能を定義する。このモジュールは視覚的レンダリング面でのメディア要素の進んだ位置決めのための要素及び属性を含んでいる。そして,SMIL 2.0 BasicLayoutモジュールを構築する。

SMIL 2.0 HierarchicalLayoutモジュールは,はるかに大きい制作者制御及び柔軟性を提供する視覚的レンダリング面の区域にメディア要素を組織化するために基本レイアウトモデルを拡張している。これらの拡張はオブジェクト配置の制作者制御が批判的なあるクラスのマルチメディアプレゼンテーションにとって重要とする。

このモジュールは以下の通りとする。

5.8.1 HierarchicalLayoutモジュールのための統合要件

このモジュールによる機能はHierarchicalLayoutモジュールの包含にとって要求される前提条件とするBasicLayoutモジュールにおける機能のトップに構築される。

5.9 SMIL 2.0 HierarchicalLayoutモジュールの新機能

5.9.1 階層的区域レイアウト

このモジュールにおける新しい特徴は階層レイアウトのサポートとする。これが他の区域の中でネストされた区域の宣言を考慮し,区域のような多くはtopLayout要素によって宣言されるトップレベルウインドウの中でレイアウトされる。例えば,次は480画素による640トップレベルウインドウ,区域"left"及び"right"(left及びrightの大きさのそれぞれを覆う)及び"right"の中央に位置付けされた階層区域"inset"を宣言する。

<layout>
        <topLayout width="640px" height="480px" />
                <region id="left" top="0%" left="0%"
                             width="50%" height="100%" />
                <region id="right" top="0%" left="50%"
                               width="50%" height="100%">
                        <region id="inset" top="25%" left="25%"
                                         width="50%" height="50%" />
                </region>
        </topLayout>
</layout>

レイアウト結果はこのようとする。

picture of layout

デフォルトで,各々の階層区域は親のz-index(depth)値を共有する。また,階層区域は自分自身のローカルz-index値を導入してもよい。この場合,共通の直接的な親についてすべての階層区域はそれらの親のz-インデックス値内でローカルz-indexを定義する。例えば,それぞれ親区域が"4"の値のz-index及び親が定義する"1"及び"2"の値のz-indexesをもっている場合,これらの各々はいっそう"4"の親のz-indexのサブ分割として扱われる。

同じz-index属性値についての二つの階層区域がオーバラップする場合, z-index processing ( BasicLayoutモジュールから)のための既存の規則は適用される。明らかに,時間優先権に関係があるという規則は保持され,z-index矛盾の場合に意味して,オーバラップで目に見えるメディアは時間内にごく最近始まったメディアをレンダリングする区域によって決定されるだろう。矛盾メディアが同時に始まった場合,SMIL文書でメディア要素の原文の順序を使用する規則が適用される。

例えば

<layout>
   <root-layout width="640px" height="480px" />
   <region id="whole" top="0px" left="0px" width="640px" 
                                height="480px" z-index="5"/>
   <region id="right" top="0px" left="320px" width="320px"
                                height="480px" z-index="4">
       <region id="inset" top="140px" left="80" width="160px" 
                                height="200px" z-index="6"/>
       <region id="inset2" top="140px" left="80" width="160px" 
                                height="200px" z-index="6"/>
       <region id="inset3" top="140px" left="80" width="160px" 
                                height="200px" z-index="7"/>
   </region>
</layout>
...
<par>
        <img id="A" region="whole" src="imageA.jpg" dur="10s"/>
        <img id="B" region="inset" src="imageB.jpg" dur="10s"/>

</par>
<par>
        <img id="D" region="inset2" src="imageD.jpg" begin="1s" dur="10s"/>
        <img id="C" region="inset" src="imageC.jpg" begin="0s" dur="10s"/>
</par>
<par>
        <img id="E" region="inset2" src="imageE.jpg" dur="10s"/>
        <img id="F" region="inset3" src="imageF.jpg" dur="10s"/>
</par>
  1. 最初の"par",画像"A"及び画像"B"は同時に開始する。例え"inset"のz-indexが"whole"のものより多いとしても,画像 "A"は画像"B"を不明瞭にするだろう。これは"right"のz-indexになるからとする。それは"inset"を含んでいる区域が"whole"のものより少ない。
  2. 2番目の"par","C"及び"D" はレンダリング面の同じ領域を占める区域に表示される。画像"C"の後に画像"D"が開始するので,画像"C"は一秒示されて,画像"D"によって不明瞭にされる。語彙順序が無関係なことに注意すること。
  3. 兄弟の間で積重ねながら計算する。そして結果として画像"F"が示されるだろう場合,3番目の"par",区域"inset"のz-indexは検討される。しかし,画像"E"はそれらがともに活性な全体の10秒間不明瞭にされるだろう。

5.9.2 下位区域レイアウト

階層レイアウトが共通の親についての1集合の区域を定義するために施設を提供するところで,それが与えられたメディアオブジェクトが置かれる区域内のよりよい制御のための施設を提供しない。SMIL 2.0 HierarchicalLayoutモジュールはregion属性を使用してオブジェクトが置かれる場合,与えられた区域の明示的に位置どった下位区域について宣言されるメディアアイテムを許可する1集合の属性を定義することによってこの問題を解決する。これらの属性は,sub-region positioning attributesとしてまとめて参照される。下位区域はメディア要素上のregion属性で宣言される区域の子とする。下位区域位置決め理論値はregion要素上の節でプレースホルダ要素の協定に従う。

例えば,区域"d"が定義されると仮定する。

  <layout>
     ...
    <region id="d" ... />
     ...
  </layout> 

SMIL 2.0 HierarchicalLayout構文を使用して,次のコードは区域内の特定のオフセットのときに下位区域でのオブジェクトの配置を記述する。

    
     <ref id="a" ... region="d" top="5%" left="3" />

それぞれの配置属性は参照されたメディアオブジェクトのために新しく,一時的な子区域を定義する。この場合,メディアのtop-left点がtopから5%及び区域"d"のleftから3画素表示される。そして区域"d"のright及びbottomの辺まで拡張される。

fit属性のような他のすべての配置動作は今,下位区域上で動作している。例えば次の文書素片は下位区域位置決めに使用する区域及びメディアオブジェクト参照を記述する。

  <layout>
     ...
    <region id="d" ... fit ="fill" />
     ...
  </layout>  

  <body>     ...
     <ref src="..." ... region="d" fit="hidden"
                top="5%" left="3" bottom="10%" right="15%" />
     ...
  </body>

この例では,オブジェクトの配置のための下位区域の有効な境界は表示される値への区域の辺のtop,bottom,left及びrightを宣言することによって定義される。そして,次にfit属性によって指示された指定画像についての下位区域という結果になることを満たす。表示されるメディアオブジェクトの大きさが下位区域の結果のものより小さい場合,表示は同様であろう。

picture of sub-regions

下位区域配置の使用は多くの単一使用区域を定義するのにlight-weightの代替手段として意図される。fit属性の値のすべての場合では下位区域でのオブジェクトの表示を収めるだろうが,しばしば下位区域に使用される寸法は置かれたメディアオブジェクトの寸法にマッチする。参照された区域に適用されたメディア要素における他の属性は代わりに下位区域に適用される。下位区域属性のためのデフォルト値がすべて'auto'であり,その結果デフォルトによって,下位区域は,親区域として同じ大きさ及び位置をもちながら,制作される。

下位区域属性に基づく区域内でオブジェクトのクリップの扱い規則は以下に提供される。

5.9.3 メディアオブジェクトfit, z-index及びbackgroundColor

region要素上から異なる振る舞いを宣言するために下位区域で表示されたオブジェクト上でSMIL 2.0 HierarchicalLayoutモジュールはfitz-index及びbackgroundColor 属性を使用する能力を含む

5.9.4 登録点

登録要素は区域内の点を定義すために使用されるこのモジュール内で定義された要素及びその点に関するデフォルトオブジェクトの整列アルゴリズムとする。その要素はメディアオブジェクト要素で使用され,そこでは区域及びオプションの上書き整列アルゴリズムに関連付けられる。登録要素内の配置値は百分率又は画素のどちらかとする。

登録点の使用は区域をよこぎる一貫した相対的な配置を許可する。そういうものとして,登録点はすべての単一区域外で定義される。

例えば,次のコードはSMIL 2.0 HierarchicalLayout構文を使用して,その1つは固定画素位置及び相対的な位置として定義されるもののうちの一つとする二つの登録点(id値"midPoint"及び"topMargin"について)を記述する。

    <layout>
      <regPoint id="midPoint" top="50%" left="50%" regAlign="center" />
      <regPoint id="topMargin" top="10" left="15" regAlign="topLeft" />
      <region id="a" ... />
      <region id="b" ... />
    </layout> 

この例で,id値についての登録点"midPoint"には,定義された点に関してメディアオブジェクトを中心に置くデフォルト整列アルゴリズムがある。また,id値についての登録点"topMargin"には,登録点での左上の位置に置くデフォルト整列アルゴリズムがある。

以下の整列点を使用して区域に様々なメディア要素を表示することができるだろう

  
    <ref region="a" src="rtsp://..." dur="2s" regPoint="midPoint" /> 
    <ref region="b" src="http://..." dur="2s" 
                         regPoint="midPoint" regAlign="bottomRight"/>
    <ref region="a" src="http://..." dur="2s" regPoint="topMargin" />
    <ref region="b" src="http://..." dur="2s" 
                         regPoint="topMargin" regAlign="center"/>

最初の例で,メディアオブジェクトは区域 aの中央に位置する。2番目の例で,メディアオブジェクトは区域bの中央の右下隅に位置する。同様に,3番目の例で,メディアオブジェクトは区域a内の点10,15に置かれる左上隅であり,及び4番目の例で,区域bでの点10,15の周りにオブジェクトは位置される。

同じ大きさを共有しない1集合のメディアオブジェクトの配置を調整するために登録点を使用することができる。(例えば,区域の中心に1集合の画像を並べることができる。) また,以下のように,区域の特定の点に関する画像の表示を調整するためにそれらを使用することができる。

   <layout>
      <regPoint id="middle" top="50%" left="50%" regAlign="center" />
      <region id="a" ... />
   </layout> 
   ...
   <seq>   
    <ref region="a" src="rtsp://..." dur="2s" regPoint="middle" 
                                        regAlign="bottomRight"/> 
    <ref region="a" src="http://..." dur="2s" regPoint="middle" 
                                        regAlign="bottomLeft"/>
    <ref region="a" src="http://..." dur="2s" regPoint="middle" 
                                        regAlign="topLeft"/>
    <ref region="a" src="http://..." dur="2s" regPoint="middle" 
                                        regAlign="topRight"/>
  </seq>

この例では,4つのオブジェクトが時間がたつにつれて,区域の中央に並べられる。何かメディア要素が区域の境界の外側に拡張する場合,それは区域に切り取られるだろう

登録点はレイアウトの文脈内でグローバルであり,そして特定の区域に結ばれないが,区域において再利用できることに注意すること。そういうものとして,画素ベースのオフセットは慎重に使用されることが望ましい。

オーサリングにおいて便利なように,SMIL HierarchicalLayoutモジュールはいくつかの事前に定義されたtopLefttopMidtopRightmidLeftcentermidRightbottomLeftbottomMid及びbottomRightを含んでいる区域登録点を提供する。

例えば,このようなどんな区域もメディアオブジェクトを中心に置くことができる。

    <ref ..." regPoint="center" regAlign="center" />

区域のためのregAlignのデフォルト値はtopLeftとする。regAlign属性がregPoint 属性なしで使用される場合,整列操作はオブジェクトを含んでいる区域の左上点に関連付けられる。つまり,regPointtopLeftとして指定されたかのように振る舞う。

regPoint及びregAlign属性に基づく区域内のオブジェクトを切取りを扱う法則は下に定義される。

5.10 SMIL 2.0 HierarchicalLayoutの構文及びセマンティクス

5.10.1 要素及び属性

この節はSMIL 2.0 HierarchicalLayoutモジュールを作る要素及び属性を定義する。

layout要素

この要素はここに表される拡張によってBasicLayoutの中で定義される。

前述で記述された登録点の機能をサポートするためにある新しい要素がlayout要素の内容モデルに追加される。

要素属性

SMIL HierarchicalLayoutモジュールは。layout要素へどんな新しい属性も提供しない。

要素内容

レイアウト要素のタイプ属性が値 "text/smil-basic-layout"をもっている場合,それは次の要素を含む

region
root-layout
topLayout
regPoint

regPointを除いたすべての要素内容はBasicLayout及びMultiWindowLayoutモジュール中の上で定義される。regPoint要素は下に記述される。

region要素

区域要素はメディアオブジェクト要素の位置,大きさ及び拡大縮小を制御する。このモジュールは階層区域の定義を含むためにregion要素の定義を拡張する。

top及びleft 属性によって定義されるような区域の位置はいつも親要素によって定義される親ジオメトリに関係している。SMIL 2.0 HierarchicalLayout モジュールのために,すべての階層区域要素は直下の親region又はtopLayout要素 としてもっているにちがいない。階層区域の位置は親要素に関係して定義される。区域の本来的な大きさは親ジオメトリの大きさに等しい。

width及びheight属性によって指定されるような区域の位置は"%"記法について関係していると宣言され,階層区域の大きさは親区域の大きさに関係している。絶対画素値として宣言された大きさは子区域について使用されたときでさえ絶対値とする。

(階層)区域が親の制約を越えて拡張するそのような方法で定義してもよいことに注意すること。この場合,子区域は親境界に切り取られなければならない。

z-index属性が階層区域上で定義してもよい場合,親そのものの中でローカルインデックスとして評価される。

 

要素属性

HierarchicalLayoutモジュールにおいて,region要素は,他の含まれたレイアウトモジュールに提供されるものに渡って追加属性をもってない。しかしながら,z-index属性のセマンティクスは,階層的な区域をサポートするために拡張される。

z-index
この属性はここでレンダリングされた拡張によってBasicLayoutモジュール中として定義された。
 
z-index 属性は親区域積重ね文脈内の区域のレベルを定義する。より高いレベル区域に割当てられる要素は同じ親区域内のより低いレベル区域の正面で表示される。子区域はそれらの親区域の正面にいつも置かれる。これは区域視界の2ステージソーティングをもたらす。最初に親子の封じ込め,そして次に兄弟間の z-indexの封じ込めによって。

まさしく単一な非階層区域とする場合,臨時の起動によって階層区域の積み重ね順序は影響してもよい。メディアがそれの中に表示され始める場合又はその子区域の一つが活性になる場合,区域は活性になる。二つの兄弟区域に同じz-indexがある場合,ごく最近活性された区域はもう片方の区域の正面にある。

要素内容

オプション的に他のregion要素を含むためにSMIL HierarchicalLayout モジュールはregion要素内容モデルを拡張する。

regPoint要素

視覚的レンダリングの表面内の区域文書の本体で整列要素を使用するためにregPoint要素は区域の左上隅に関係して点の(x,y)座標を決定する。regPointは,絶対(画素)又は相対(百分率)に基づいた値を使用して定義してもよい。regPoint機能は,本来的な大きさをもたないメディアに対しては,定義されないし使用しなくてもよい。

regPoint機能の目的のために,メディア及び区域は,直角をなす辺をもち,時計回りにtop(上),right(右),bottom(下)及びleft(左)の順番になる辺をもつ長方形になるように定義される。top辺は,"上(up)"と考えられる表示装置の点又は辺に最も近い辺とする。

regPoint要素はlayout要素の直下の子としてだけ現れてもよい。

登録点の機能もまた,下位区域位置決めを使用するメディアオブジェクト上に使用される場合,登録点は下位区域に適用される。

登録点又は整列の機能がメディアオブジェクト上で使用される場合,メディアオブジェクトが表示される区域のregPoint属性値,regAlign 属性値,及びfit属性値の間の相互作用は次のとおりとする。

fill fit
これはregAlign属性値に依存する。(すべての場合で,メディアは,regPointにおいて適切な整列を保持しなければならないことに注意すること。)
topLeft regAlign
内容がちょうど箱のbottom及びrightの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
topMid regAlign
内容が,ちょうど箱のbottomの辺に接触し,left又はrightの辺の(regPointに対して)一番近いところに接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
topRight regAlign
内容がちょうど箱のbottom及びleftの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
midLeft regAlign
内容がちょうど箱のtop又はbottomの辺の(regPointに対して)一番近いところに接触し,箱のrightの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
center regAlign
内容がちょうど箱のtop又はbottomの辺の(regPointに対して)一番近いところに接触し,箱のleft又はrightの辺の(regPointに対して)一番近いところに接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
midRight regAlign
内容がちょうど箱のtop又はbottomの辺の(regPointに対して)一番近いところに接触し,箱のleftの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
bottomLeft regAlign
内容がちょうど箱のtop及びrightの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
bottomMid regAlign
内容がちょうど箱のtopの辺に接触し,left又はrightの辺の(regPointに対して)一番近いところに接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
bottomRight regAlign
内容がちょうど箱のtop及びleftの辺に接触するように,オブジェクトのheight及びwidthを独立に拡大縮小する。
hidden fit
regAlignにつきregPointを与えられた上のメディアを並べること。そのように位置するメディアが区域の境界を超えて広がる場合,余分なメディアを切り取ること。そのように位置するメディアが区域の境界を満たさない(meet)場合,区域の背景色で残っているスペースを埋める(fill)こと。
meet fit
これはregAlign属性の値に依存する。そして,メディアでカバーされていない区域のどんな部分も区域の背景色で埋められる。(すべての場合で,メディアは終わっているように適切な整列をregPoint上で保持しなければならないことに注意すること。)
topLeft regAlign
内容のいずれも切り取られないが,内容がちょうど箱のright又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
topMid regAlign
内容のいずれも切り取られないが,内容がちょうどleft,right又はbottomの辺の少なくとも一つに接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
topRight regAlign
内容のいずれも切り取られないが,内容がちょうど箱のleft又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
midLeft regAlign
内容のいずれも切り取られないが,内容がちょうどtop,right又はbottomの辺の少なくとも一つに接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。    
center regAlign
内容のいずれも切り取られないが,内容がちょうどtop,left,right又はbottomの辺の少なくとも一つに接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
midRight regAlign
内容のいずれも切り取られないが,内容がちょうどtop,left又はbottomの辺の少なくとも一つに接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
bottomLeft regAlign
内容のいずれも切り取られないが,内容がちょうど箱のtop又はrightの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
bottomMid regAlign
内容のいずれも切り取られないが,内容がちょうどtop,left又はrightの辺の少なくとも一つに接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
bottomRight regAlign
内容のいずれも切り取られないが,内容がちょうど箱のtop又はleftの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。
scroll fit
regAlign属性についてregPoint上のメディアを並べること。メディアのいずれかの部分が区域の境界を越えて伸びる場合,区域の境界を越えて切り取られたメディアを見ることを可能にする,スクロール機構が起動されることが望ましい。
slice fit
これはregAlign属性の値に依存する。(すべての場合,メディアはregPoint上に適切な整列を保持しなければならないことに注意すること。)
topLeft regAlign
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のright又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。
topMid regAlign
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のleft,right又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。切取りは区域の最大二つの辺に現れるだろう。    
topRight regAlign
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のleft又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。
midLeft regAlign
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop,right又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。切取りは区域の最大二つの辺に現れるだろう。
centerregAlign
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop,left,right又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。切取りは区域の最大二つの辺に現れるだろう。
midRight regAlign value:
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop,left又はbottomの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。切取りは区域の最大二つの辺に現れるだろう。
bottomLeft regAlign value:
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop又はrightの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。
bottomMidregAlign value:
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop,left又はrightの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。切取りは区域の最大二つの辺に現れるだろう。
bottomRight regAlign value:
どちらが最大の拡大縮小率を要求しても内容がちょうど箱のtop又はleftの辺に接触するように,その縦横比を保持しながら,視覚的メディアオブジェクトのheight及びwidthを拡大縮小する。区域の境界で広がるどんな内容も切り取られる。

例えば,ワイドスクリーンビデオは,区域内で"letterbox"モードで再生するように作られることができる。 その区域は,width-height率が,regPoint ="center"及び,regAlign="center"及び,区域のfit値が"meet"に設定することを用いることによって,より小さくなる。その結果,ビデオは区域のleft及びrightの辺に触れ,上下の隙間が区域の背景色によって埋められて,上下方向の中心に置かれる。

要素属性
top
この値は唯一,区域のbottomに関係して登録点の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。topのデフォルト値はautoとする。
bottom
この値は唯一,区域のbottomに関係して登録点の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。bottomのデフォルト値はautoとする。
left
この値は唯一,区域のleft位置に関係して登録点の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。leftのデフォルト値はautoとする。
right
この値は唯一,区域のright位置に関係して登録点の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。rightのデフォルト値はautoとする。
regAlign
この属性はメディアオブジェクトに関係してregPointと関連づけられるデフォルト整列アルゴリズムを指定する。指定される値がない場合,topLeftの値はregPointにとってデフォルトとする。次の値は許可される。
topLeft
登録点についてオブジェクトのtop-left隅に整列する。
topMid
登録点でオブジェクトのtop-middle点に整列する。top-middleは,オブジェクトtop-left隅のrightからwidth/2のオフセット点とする。
topRight
登録点についてオブジェクトのtop-right隅に整列する。
midLeft
登録点でオブジェクトのmiddle-left点に整列する。middle-leftは,オブジェクトtop-left隅のdownからheight/2のオフセット点とする。
center
登録点についてオブジェクトのcenterに整列する。
midRight
登録点でオブジェクトのmiddle-right点に整列する。middle-rightは,オブジェクトtop-right隅のdownからheight/2のオフセット点とする。
bottomLeft
登録点についてオブジェクトのbottom-left隅に整列する。
bottomMid
登録点でオブジェクトのbottom-middle点に整列する。bottom-middleは,オブジェクトbottom-left隅のrightからwidth/2のオフセット点とする。
bottomRight
登録点についてオブジェクトのbottom-right隅に整列する。

要素内容

なし。

5.10.2 SMIL HierarchicalLayoutの位置決め属性及びプレゼンテーション属性

レンダリング面上に置くために要素上でregion属性だけをSMIL 2.0 BasicLayout モジュールが提供する場合,HierarchicalLayout モジュールは区域内の内容メディアの位置を洗練し,そして区域内のメディアの視覚的プレゼンテーションを洗練するために属性を含む。

このモジュールはメディア要素が,メディアが示される区域の背景色とすると宣言することを許可することによってメディア要素を囲む背景色でファイン制御を提供する。

区域を定義することを許可する1集合の属性(下位区域位置決め属性)は宣言している区域の子であり,そしてメディアオブジェクト内の同封のレイアウト区域内で完全に含まれる。他の1集合の属性は登録点に関連付けられるデフォルトアルゴリズムを上書きするオブジェクト及びオプティカルレイアウトアルゴリズムと一緒に使用される登録点を定義するために使用される。

fit属性及び整列属性regPoint及び regAlign が特定のメディアオブジェクトの配置に関連する場合,相互作用はregPointの定義に記述されるのと同様とする。下位区域位置決め属性がfit又は整列属性regPoint及び regAlignに沿ってメディアオブジェクト上で使用される場合,これらの属性は下位区域に適用される。この場合,参照区域要素上のfit設定は下位区域に適用されない。

下位区域位置決め及び登録点の両方を使用するため,関連区域上のz-index属性の値が使用される。メディアオブジェクトが空間的に重なる場合,z-index不一致を解決するための既存の規則が適用される。

区域内の配置がそのような方法で区域の範囲外にメディアオブジェクトを広げるように定義してもよいことに注意すること。この場合,メディアオブジェクトは区域境界に切り取られなければならない。

メディア指定の背景色

backgroundColor
この属性はメディア要素が下位区域で示されれているときに使用される背景色を指定することを許可する。正当な値の範囲はregion要素上のbackgroundColor属性と同様とする。この属性のためのデフォルト値はtransparentとする。

下位区域位置決め属性

top
この値は唯一,区域のtopに比例して区域のtop辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。topのデフォルト値はautoとする。
bottom
この値は唯一,区域のbottomに比例して区域のbottom辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。bottomのデフォルト値はautoとする。
height
この値は唯一,区域のtop sideに比例して区域のbottom辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。heightのデフォルト値はautoとする。
left
この値は唯一,区域のleftに比例して区域のleft辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。leftのデフォルト値はautoとする。
right
この値は唯一,区域のright sideに比例して区域のrightの辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。rightのデフォルト値はautoとする。
width
この値は唯一,区域のleft sideに比例して区域のrightの辺の位置又は距離(CSS2画素又は非負比率値を使用して)を識別する。widthのデフォルト値はautoとする。

区域の大きさ属性bottom heightleft, righttop及び width の間の不一致はregion要素上の節で記述されるプレースホルダ要素のための規則によって解決される。

layout節のregion要素の識別子を指定するregion属性なしで下位区域位置決め属性が要素上で使用される場合,それらは無視されるだろう。

登録点属性

regPoint要素と関連してregPoint属性は使用される。regPoint属性が存在しないregPoint要素を見逃したり又は参照したりする場合,regAlign属性の値はメディアオブジェクトを含んでいる区域のtop-left点に適用される。

regPoint
この値は,オブジェクトの配置に使用されるために唯一登録点を識別する。値はregPoint要素のXML識別子とすることが望ましい。
次の値は使用される前にregPoint要素として宣言される必要はない事前に定義された登録点とする。
topLeft
regPoint属性なしの要素上で top="0%" left="0%" を使用するのと同様とする。
topMid
regPoint属性なしの要素上で top="0%" left="50%" を使用するのと同様とする。
topRight
regPoint属性なしの要素上で top="0%" left="100%" を使用するのと同様とする。
midLeft
regPoint属性なしの要素上で top="50%" left="0%" を使用するのと同様とする。
center
regPoint属性なしの要素上で top="50%" left="50%" を使用するのと同様とする。
midRight
regPoint属性なしの要素上で top="50%" left="100%" を使用するのと同様とする。
bottomLeft
regPoint属性なしの要素上で top="100%" left="0%" を使用するのと同様とする。
bottomMid
regPoint属性なしの要素上で top="100%" left="50%" を使用するのと同様とする。
bottomRight
regPoint属性なしの要素上で top="100%" left="100%" を使用するのと同様とする。
regAlign属性値がメディアと比較してもつように事前に宣言された登録点が区域と比較して同じ意味をもつことに注意すること。与えられた値がない場合,topLeft (top="0%", left="0%") のデフォルト登録点は仮定される。つまり,メディアは区域の左上に並べられる。
regAlign
この値は,オブジェクトのために定義されたregPointに使用されるために唯一登録アルゴリズムを識別する。そして,参照regPoint要素上でregAlign を上書きする。許されている値はregPoint要素のためにregAlign属性のもとで定義されているものとする。明示的なregPoint属性なしで使用される場合,値は関連メディアオブジェクトによって使用された区域の左上点と比較するだろう。

fit上書き

fit属性は表示表面上で要素のディスプレイを制御するためにregion属性に関連して要素上で使用される。要素上で与えられるfit属性の値は参照region要素で宣言されたfitの値を上書きする。

fit
視覚的メディアオブジェクトの本来的なheight及びwidthが区域のheight及びwidthの値によって指定される値と異なっている場合,この属性は振る舞いを指定する。それは,region要素上のfit属性と同じ値をとり,宣言されたfitは,それを使用するメディア要素が宣言する下位区域だけに適用され同じ親regionを使用してもよい他の要素には適用されないということを除いて,同じセマンティクスをもつ。

区域z-index上書き

z-index属性は,レンダリング面上で要素の表示を制御するために下位区域位置決め属性と結合して要素上で使用される。要素上で与えられるz-index属性の値は,親区域スタック順序の文脈内の下位区域のためにz-indexを設定する。

z-index
この属性は下位区域のためのスタック化順序振る舞いを指定する。それは,region要素上のz-index属性と同じ値をとり,宣言されたz-indexは,メディア要素が宣言する下位区域だけに適用され同じ親regionを使用してもよい他の要素には適用されないということを除いて,同じセマンティクスをもつ。