1

http://www.w3.org/2008/12/dfxp-testsuite/web-framework/START.html (MediaSeqTiming002)の TTML テスト スイートからの抜粋を次に示します。

<body timeContainer="par">
  <div timeContainer="seq" dur="40s">
    <div timeContainer="seq" dur="20s">
      <metadata>
        <ttm:desc>default duration for elements in this context is 0</ttm:desc>
      </metadata>
      <p begin="00:00:05:00" dur="5s">This text must appear at 5 seconds<br/>and be remain visible to 10 seconds,</p>
      <p begin="00:00:05:00">This text must not appear.</p>
      <p  dur="00:00:05:00">This text must appear at 15 seconds<br/>and be remain visible to 20 seconds,</p>
    </div>
    [...]
  </div>
</body>

<p>2 番目の要素のテキスト (8 行目) が表示されないという要件は正しいですか? TTML 仕様 ( http://www.w3.org/TR/ttaf1-dfxp/ ) を分析したところ、次のことがわかりました。

  • 「このテキストを表示してはならない」は、並列 timeContainer 内の匿名スパンであるため、10.4 (最初の箇条書き) によれば、その暗黙の期間は無期限です。
  • 上記の<p>テキストを含む要素には、そのすべての子が非アクティブになると終了する暗黙の期間があります (並列 timeContainers のendsync= allに従って)。したがって、その暗黙の期間も無期限です。

このことから、「このテキストを表示してはならない」は 15 秒で開始し、20 秒で終了し、3 番目<p>がアクティブになることはないと考えています。

<p>このテストは、秒の暗黙的な持続時間が 0 であるべきであることを示唆しているようです。

どこが間違っていますか?

4

1 に答える 1

2

あなたは間違っていません; 私はあなたの結論に同意します - W3C TTML タイミング属性の説明での私の説明も参照してください

あなたが与えた例は、次のように解決すると思います:

  • 0 ~ 5 : 何も表示されない
  • 5 秒から 10 秒:This text must appear at 5 seconds<br/>and be remain visible to 10 seconds,
  • 10 秒から 15 秒: 何も表示されていません
  • 15~20代:This text must not appear.
  • 20代以降:表示なし

メタデータの説明が正しくないようです。

分析

TTML1 §10.4 タイミング間隔は次のように述べています。

  • body、div、p、または span 要素の暗黙的な持続時間は、(1) 要素が並列または順次の時間コンテナーであるかどうか、(2) 上記の 10.2.4 timeContainer で定義されているデフォルトの endsync セマンティクス、および ( 3) これらの時間コンテナに適用される [SMIL 2.1] のセマンティクス。

この場合、div 要素は (明示的に)seq時間コンテナーであり、p 要素は (暗黙的に)par時間コンテナーです。partimeContainerの暗黙の継続時間は、SMIL 2.1で次のように定義されています。

パーの暗黙のデュレーション

par の暗黙的な継続時間は、endsync によって制御されます。デフォルトでは、par の暗黙的な期間は endsync="last" セマンティクスによって定義されます。暗黙的な期間は、子要素の最後のアクティブな終了で終了します。

ただし、TTML1 は、 の適用可能な値が であると指定していますendsync"all"これは、パー timeContainer の暗黙的な期間が実質的に「その親 timeContainer が終了するまで」であることを意味します。

seq完全を期すために、 timeContainerの暗黙の dur はSMIL 2.1で次のように定義されています。

seq コンテナーの暗黙的な期間

  • seq の暗黙的な期間は、seq の最後の子のアクティブな終了で終了します。
  • seq のいずれかの子の有効期間が無期限である場合、seq の暗黙の期間も無期限です。

もちろん、これはここでは当てはまりません。すべての seq timeContainers が明示的に期間を指定しているためです。

欠陥のあるテストへの対処

https://www.w3.org/AudioVideo/TT/tracker/issues/265で、このテストを「悪い」ものとして、悪いテストの包括的な問題に追加しました。

于 2015-05-13T10:49:49.837 に答える