Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add module framework (#29). #30

Merged
merged 7 commits into from
Apr 4, 2019
66 changes: 62 additions & 4 deletions spec/ttml3.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1147,6 +1147,16 @@ attribute of a <loc href="#embedded-content-vocabulary-source"><el>source</el></
content element</loc>.</p>
</def>
</gitem>
<gitem id="terms-external-module">
<label>[external module]</label>
nigelmegitt marked this conversation as resolved.
Show resolved Hide resolved
<def>
<p>A module defined externally to this specification in a separate module defining document. An external module
skynavga marked this conversation as resolved.
Show resolved Hide resolved
is designated at the time of specification as either a W3C defined module, in which case any vocabulary or semantic
behavior it defines is specified in the scope of one or more TTML Namespaces listed in <specref ref="namespace-vocab-table"/>,
skynavga marked this conversation as resolved.
Show resolved Hide resolved
or as a non-W3C defined module, in which case any vocabulary or semantic behavior it defines is specified in the scope
of one or more namespaces not listed in <specref ref="namespace-vocab-table"/>.</p>
</def>
</gitem>
<gitem id="terms-external-source">
<label>[external source]</label>
<def>
Expand Down Expand Up @@ -1363,6 +1373,13 @@ that effectively represent the content, styling, layout, and timing of a source
an <loc href="#terms-intermediate-synchronic-document">intermediate synchronic document</loc>.</p>
</def>
</gitem>
<gitem id="terms-internal-module">
<label>[internal module]</label>
<def>
<p>A module defined within the body of this specification, specifically, the modules defined by
<specref ref="element-vocab-table"/> and <specref ref="attribute-vocab-table"/>.</p>
</def>
</gitem>
<gitem id="terms-intrinsic-block-content-extent">
<label>[intrinsic block content extent]</label>
<def>
Expand Down Expand Up @@ -1410,6 +1427,32 @@ consist of one or more <loc href="#terms-inline-area">inline areas</loc>.</p>
<p>Any of the element types defined by the <loc href="#element-vocab-type-metadata">Metadata Module</loc>.</p>
</def>
</gitem>
<gitem id="terms-module">
<label>[module]</label>
<def>
<p>A collection of element types, attributes, features, or the specification(s) of such entities. Modules may be defined
nigelmegitt marked this conversation as resolved.
Show resolved Hide resolved
<loc href="#terms-internal-module">internally</loc> (within the specification of an edition or version of a TTML defining document)
or <loc href="#terms-external-module">externally</loc> (in one or more separate documents).</p>
<note role="clarification">
<p>A module is distinct from (and orthogonal to) a <loc href="#terms-profile">profile</loc> in the sense that the former
defines functionality (regardless of application of use) while the latter selects functionality (for support by a processor
skynavga marked this conversation as resolved.
Show resolved Hide resolved
or use by a document). Note also that a single specification may define functionality (either explicitly or implicitly) associated
with a module and also define a profile. For example, this specification defines a collection of <loc href="#terms-internal-module">internal modules</loc>
skynavga marked this conversation as resolved.
Show resolved Hide resolved
and also defines three <loc href="#terms-profile">profiles</loc>, about which see <specref ref="core-vocabulary-overview"/> and
<specref ref="standard-profiles"/>, respectively.</p>
</note>
<note role="elaboration">
<p>Each module intended to be independently implemented is expected to be listed in the <loc href="#terms-module-registry">module registry</loc>.</p>
</note>
</def>
</gitem>
<gitem id="terms-module-registry">
<label>[module registry]</label>
<def>
<p>A formally defined list of <loc href="#terms-module">modules</loc> associated with identifying information,
as specified in the Timed Text Module Registry <bibref ref="ttmlmods"/>.</p>
</def>
</gitem>
<gitem id="terms-nested-profile">
<label>[nested profile]</label>
<def>
Expand Down Expand Up @@ -1585,7 +1628,7 @@ must or may be implemented (supported) by a content processor.</p>
<gitem id="terms-profile">
<label>[profile]</label>
<def>
<p>A collection of <loc href="#terms-feature">features</loc> and <loc href="#terms-extension">extensions</loc>, which, when
<p>A collection of <loc href="#terms-feature-specification">feature</loc> and <loc href="#terms-extension-specification">extension</loc> specifications, which, when
interned (instantiated), is represented by a <loc href="#semantics-profile-state-profile-instance">profile instance</loc> state object.
A profile is typed as a <loc href="#terms-content-profile">content profile</loc> or a <loc href="#terms-processor-profile">processor profile</loc>.</p>
</def>
Expand Down Expand Up @@ -2499,8 +2542,7 @@ namespace names are listed in <specref ref="namespace-vocab-table"/>.
<div2 id="ttml-content-doctype">
<head>TTML Content Document Type</head>
nigelmegitt marked this conversation as resolved.
Show resolved Hide resolved
<p>The TTML Content Document Type is an <loc href="#terms-abstract-document-type">abstract document type</loc> of a profile
of the Timed Text Markup Language intended to be used for interchange among distribution systems. This document type
is defined in terms of the element and attribute vocabulary specified in <specref ref="vocabulary"/>.</p>
of the Timed Text Markup Language defined in terms of a collection of functional <loc href="#terms-module">modules</loc>.</p>
<p>This specification references two types of schemas that may be used to validate a superset/subset
of <loc href="#terms-timed-text-content-document-instance">timed text content document instances</loc>:</p>
<ulist>
Expand Down Expand Up @@ -2537,6 +2579,17 @@ of <loc href="#terms-document-instance">document instance</loc> validity.</p>
<p>A conforming <loc href="#conformance-generic-processor">Generic Processor</loc> is required to support the ingestion and processing
of a <loc href="#terms-timed-text-content-document">timed text content document</loc>.</p>
</note>
<note role="clarification">
<p>A <loc href="#terms-timed-text-content-document">timed text content document</loc> is not prohibited from using
element or attribute vocabulary items defined by a private (unregistered) module.
In such case, a <loc href="#terms-content-processor">content processor</loc>
that supports the private module may employ one or more schemas associated with the
private module in order to augment a validity assessment that would normally be performed using only schemas
associated with public (registered) modules. However, a <loc href="#terms-content-processor">content processor</loc>
that does not support the private module will prune unknown element and attribute vocabulary items
according to the validity assessment rules described above, and, therefore, not report any potential invalidity that exists due to the
use of such vocabulary items.</p>
</note>
</div2> <!-- ttml-content-doctype -->
skynavga marked this conversation as resolved.
Show resolved Hide resolved
<div2 id="ttml-intermediate-doctype">
<head>TTML Intermediate Document Type</head>
Expand Down Expand Up @@ -16633,7 +16686,7 @@ element type of <emph>E</emph> is not animation element type <el>animate</el> or
and is not styling element type <el>style</el>,
then for each style property
<emph>P</emph> in the set of style properties defined
above in <specref ref="styling-attribute-vocabulary"/>, perform the
in <specref ref="styling-attribute-vocabulary"/> or in a supported <loc href="#terms-external-module">external module</loc>, perform the
following ordered sub-steps:</p>
<olist>
<!-- (a) -->
Expand Down Expand Up @@ -16755,6 +16808,7 @@ do not perform the subsequent step below on <emph>E</emph>:</p>
<item><p><loc href="#styling-vocabulary-style"><el>style</el></loc></p></item>
<item><p><loc href="#terms-anonymous-span">anonymous span</loc></p></item>
</ulist>
<p>or a <loc href="#terms-styled-element">styled element</loc> defined in a supported <loc href="#terms-external-module">external module</loc>;</p>
</item>
<item><p> <phrase role="strong">[resolve computed styles]</phrase>
determine (obtain) the computed style set <emph>CSS</emph> of
Expand Down Expand Up @@ -25511,6 +25565,10 @@ Vector Graphics (SVG) 1.1 Second Edition</titleref>, W3C Recommendation, 16
August 2011. (See
<xspecref href="http://www.w3.org/TR/2011/REC-SVG11-20110816/">http://www.w3.org/TR/2011/REC-SVG11-20110816/</xspecref>.)
</bibl>
<bibl id="ttmlmods" key="TTML-MOD-REG">Glenn Adams, Ed.,
<titleref href="https://w3c.github.io/tt-module-registry/">Timed Text Module Registry</titleref>,
Editor's Draft. (See <xspecref href="https://w3c.github.io/tt-module-registry/">https://w3c.github.io/tt-module-registry/</xspecref>.)
</bibl>
<bibl id="ttml1" key="TTML1">Glenn Adams and Pierre-Anthony Lemieux, Eds.,
<titleref href="https://www.w3.org/TR/2018/REC-ttml1-20181108/">Timed Text Markup Language 1 (TTML1) (Third Edition)</titleref>,
W3C Recommendation, 08 November 2018. (See
Expand Down