From a82b6dcec2155a105d1d8bdc6cea76107961b0bb Mon Sep 17 00:00:00 2001
From: Nigel Megitt This specification defines a text-based profile of the Timed Text Markup Language version 2.0 [[TTML2]]
+ This specification defines a text-based profile of the Timed Text Markup Language version 2.0 [[ttml2]]
intended to support dubbing and audio description workflows worldwide,
to meet the requirements defined in [[?DAPT-REQS]], and to permit usage of visual presentation
- features within [[TTML2]] and its profiles, for example those in [[ttml-imsc1.2]].Dubbing and Audio description Profiles of TTML2
Scope
-
This specification defines the data model for DAPT scripts and - its representation as a [[TTML2]] document (see [[[#data-model]]]) + its representation as a [[ttml2]] document (see [[[#data-model]]]) with some constraints and restrictions (see [[[#profile-constraints]]]).
A DAPT script is expected to be used to make audio visual media accessible or localized for users who cannot understand it in its original form, @@ -217,9 +239,9 @@
The top level structure of a document is as follows.
- The xmlns
attribute and the tt
element indicate that this is a TTML document
- and the contentProfiles
attribute indicates that it adheres to the DAPT profile defined in this specification.
- The daptm:scriptType
attribute indicates the type of DAPT script
+ The xmlns
attribute and the <tt>
element indicate that this is a TTML document
+ and the ttp:contentProfiles
attribute indicates that it adheres to the DAPT content profile defined in this specification.
+ The daptm:scriptType
attribute indicates the type of script
but in this empty example, it is not relevant, as only the structure of the document is shown.
The structure is applicable to all types of DAPT scripts, dubbing or audio description.
Dubbing Examples@@ -351,7 +377,7 @@ Documentation Conventions
- This document uses the same conventions as [[TTML2]] for the specification of parameter attributes, styling attributes and metadata elements. In particular: + This document uses the same conventions as [[ttml2]] for the specification of parameter attributes, styling attributes and metadata elements. In particular:
- Section 2.3 of [[TTML2]] specifies conventions used in the [[XML]] representation of elements; and - Sections 6.2 and 8.2 of [[TTML2]] specify conventions used when specifying the syntax of attribute values. + Section 2.3 of [[ttml2]] specifies conventions used in the [[XML]] representation of elements; and + Sections 6.2 and 8.2 of [[ttml2]] specify conventions used when specifying the syntax of attribute values.
- This specification uses Feature designations as defined in Appendices E at [[TTML2]]: - when making reference to content conformance, these designations refer to the syntactic expression or the semantic capability associated with each designated Feature; and - when making reference to Processor conformance, these designations refer to processing requirements associated with each designated Feature. - If the name of an element referenced in this specification is not namespace qualified, then the TT namespace applies (see .) + This specification uses Feature designations as defined in Appendices E at [[ttml2]] + and defines Extension designations: + when making reference to content conformance, + these designations refer to the syntactic expression or the semantic capability associated with each designated Feature or Extension; + and when making reference to Processor conformance, + these designations refer to processing requirements associated with each designated Feature or Extension. + If the name of an element referenced in this specification is not namespace qualified, + then the TT namespace applies (see 9.3 Namespaces.)
Script Type
Pre-recording Dub Script, and As-recorded Dub Script are referred to as Dubbing Scripts. -To represent this property, the following TTML attribute MUST be present on the
+tt
element:To represent this property, the
daptm:scriptType
attribute MUST be present on thett
element:+ -daptm:scriptType @@ -507,14 +533,41 @@Character
for example during recording by an actor or when transforming the script into subtitles. +A Character is represented in TTML with the following structure and constraints:
-
- There MUST be a
<ttm:agent>
element at the path +- If the Character has a Talent Name property: +
+
+ +- A
+<ttm:agent>
element corresponding to the Talent Name + MUST be present at the path +/tt/head/metadata/ttm:agent
, with the following constraints: ++
+- its
+type
attribute MUST be set toperson
- its
+xml:id
attribute MUST be set.- it MUST have a
+<ttm:name>
child element whose +type
MUST be set tofull
and its content set to the Talent Name- If more than one Character is associated with the same + Talent Name there SHOULD be a single +
+<ttm:agent>
element corresponding to that Talent Name, + referenced separately by each of the Characters.- Each
+<ttm:agent>
element corresponding to a Talent Name + SHOULD appear before any of the Character<ttm:agent>
elements + whose<ttm:actor>
child element references it.- The Character is represented by a
@@ -528,31 +581,18 @@<ttm:agent>
element present at the path/tt/head/metadata/ttm:agent
, with the following constraints:
- The
type
attribute MUST be set tocharacter
.- The
xml:id
attribute MUST be present on thettm:agent
and set to the Character Identifier.- The
+ttm:agent
MUST contain attm:name
element with itstype
attribute set toalias
and its content set to the Character Name.- If the Character has a Talent Name, it MUST contain a
<ttm:actor>
child element. + That child element MUST have anagent
attribute set to + thexml:id
of the<ttm:agent>
element + corresponding to the Talent Name, + that is, whosetype
is set toperson
.Character
... -- If the Character has a Talent Name property, the following TTML constraints apply: -
-
- Another
-<ttm:agent>
element MUST be added at the path -/tt/head/metadata/ttm:agent
, with the following constraints: --
-- its
-type
attribute MUST be set toperson
- its
-xml:id
attribute MUST be set.- it MUST have a
-ttm:name
child element whosetype
MUST be set tofull
and its content set to the Talent Name- the
-ttm:agent
whosetype
is set tocharacter
MUST have attm:actor
child, with itsagent
attribute set to thexml:id
of thettm:agent
whosetype
is set toperson
.- the
-ttm:agent
whosetype
is set tocharacter
should appear before thettm:agent
whosetype
is set toperson
.... <metadata> + <ttm:agent type="person" xml:id="actor_A"> + <ttm:name type="full">Matthias Schoenaerts</ttm:name> + </ttm:agent> <ttm:agent type="character" xml:id="character_2"> <ttm:name type="alias">BOOKER</ttm:name> <ttm:actor agent="actor_A"/> </ttm:agent> - <ttm:agent type="person" xml:id="actor_A"> - <ttm:name type="full">Matthias Schoenaerts</ttm:name> - </ttm:agent> </metadata> ...@@ -561,10 +601,12 @@Character
for example to include proprietary metadata but the above recommends that only one is used to define the characters.
A Character Style is represented in TTML with the following structure and constraints:
<style>
element children of the <styling>
element.<style>
elements
+ at the path /tt/head/styling/style
.<style>
element is associated with the Character by having a ttm:agent
attribute
whose value is the xml:id
of the <ttm:agent>
element representing the Character.xml:id
of each style
@@ -574,9 +616,9 @@ Any style attribute defined in [[TTML2]] or [[ttml-imsc1.2]] +
Any style attribute defined in [[ttml2]] or [[ttml-imsc1.2]]
(or other profiles using non-W3C namespaces) can be present on the <style>
element.
A <style>
element MAY omit the ttm:agent
attribute if it is not associated with a Character.
Such styles MAY be applied in the same way as any other style, via a reference in the style
attribute.
p
elements representing each Text object.style
attribute MAY be present. If present, it MAY contain a reference to the <style>
defining the Character Style. Additional style references or inline styles MAY be used.metadata
element representing the On Screen property.daptm:onScreen
attribute MAY be present to represent the On Screen property.style
attribute MAY be present.
If present, it MAY contain a reference to the <style>
that defines the relevant Character Style.
- Additional style references or inline styles MAY be used as defined in [[TTML2]],
+ Additional style references or inline styles MAY be used as defined in [[ttml2]],
and MAY be applied to sub-sections of the text defined by <span>
elements.<p>
element MUST have one Text Language Source property.<p>
element SHOULD have an xml:lang
attribute corresponding to the language of the Text object.
@@ -769,7 +808,7 @@ The On Screen property is represented as a metadata
element with the following constraints:
+
The On Screen property is represented as a daptm:onScreen
attribute with the following constraints:
The resulting [[xml]] document can contain character references, - and entity referencess to + and entity references to predefined entities.
The predefined entities are (including the leading ampersand and trailing semicolon):
- Document Instances remain subject to the content conformance requirements specified at Section 3.1 of [[TTML2]]. - In particular, a Document Instance can contain elements and attributes not in any TT namespace, i.e. in foreign namespaces, since such elements and attributes are pruned by the algorithm at Section 4 of [[TTML2]] prior to evaluating content conformance. + Document Instances remain subject to the content conformance requirements specified at Section 3.1 of [[ttml2]]. + In particular, a Document Instance can contain elements and attributes not in any TT namespace, i.e. in foreign namespaces, since such elements and attributes are pruned by the algorithm at Section 4 of [[ttml2]] prior to evaluating content conformance.
For validation purposes it is good practice to define and use a content specification for all foreign namespace elements and attributes used within a Document Instance. @@ -893,9 +932,9 @@
Many dubbing and audio description workflows permit annotation of Script Events or documents with proprietary metadata. - Metadata vocabulary defined in this specification or in [[TTML2]] MAY be included. + Metadata vocabulary defined in this specification or in [[ttml2]] MAY be included. Additional vocabulary in other namespaces MAY also be included.
-It is possible to add information such as the title of the programme using [[TTML2]] constructs.
+It is possible to add information such as the title of the programme using [[ttml2]] constructs.
@@ -935,25 +974,25 @@Namespaces
TT tt
- http://www.w3.org/ns/ttml
[[TTML2]] +[[ttml2]] TT Parameter ttp
- http://www.w3.org/ns/ttml#parameter
[[TTML2]] +[[ttml2]] TT Feature none - http://www.w3.org/ns/ttml/feature/
[[TTML2]] +[[ttml2]] TT Audio Style tta: - http://www.w3.org/ns/ttml#audio
[[TTML2]] +[[ttml2]] + DAPT Metadata @@ -961,6 +1000,12 @@Namespaces
http://www.w3.org/ns/ttml/profile/dapt#metadata
This specification + DAPT Extension +none ++ http://www.w3.org/ns/ttml/profile/dapt/extension
This specification +@@ -1006,13 +1051,14 @@
Synchronization
TTML documents representing DAPT Scripts MUST specify a ttp:contentProfiles
attribute
- on the tt
element with one value equal to the designator of the DAPT 1.0 profile
- to which the Document Instance conforms.
- Other values MAY be present to declare conformance to other profiles of [[TTML2]].
This profile is associated with the following profile designator:
+This profile is associated with the following profile designators:
DAPT 1.0 | - -http://www.w3.org/ns/ttml/profile/dapt |
+ DAPT 1.0 Content Profile | +http://www.w3.org/ns/dapt/profile/content |
+
DAPT 1.0 Processor Profile | +http://www.w3.org/ns/dapt/profile/processor |
ttp:contentProfiles
The ttp:contentProfiles
attribute
+ is used to declare the [[ttml2]] profiles to which the document conforms.
TTML documents representing DAPT Scripts MUST specify a ttp:contentProfiles
attribute
+ on the <tt>
element including one value equal to the
+ DAPT 1.0 Content Profile designator.
+ Other values MAY be present to declare conformance to other profiles of [[ttml2]],
+ and MAY include profile designators in proprietary namespaces.
ttp:profile
The ttp:profile
attribute
+ is a mechanism within [[?TTML1]] for declaring the processing requirements for a Document Instance.
+ It has effectively been superceded in [[ttml2]] by ttp:processorProfiles
.
TTML documents representing DAPT Scripts MUST NOT specify a ttp:profile
attribute
+ on the <tt>
element.
ttp:processorProfiles
The ttp:processorProfiles
attribute
+ is used to declare the processing requirements for a Document Instance.
TTML documents representing DAPT Scripts MAY specify a ttp:processorProfiles
attribute
+ on the <tt>
element.
+ If present, the ttp:processorProfiles
attribute MUST include one value equal to
+ the designator of the DAPT 1.0 Processor Profile.
+ Other values MAY be present to declare additional processing constraints,
+ and MAY include profile designators in proprietary namespaces.
ttp:processorProfiles
can be used
+ to signal that features and extensions in additional profiles
+ need to be supported to process the Document Instance successfully.
+ For example, a local workflow might introduce particular metadata requirements,
+ and signal that the processor needs to support those by using an additional
+ processor profile designator.
If the content author does not need to signal that
+ additional processor requirements than those defined by DAPT
+ are needed to process the DAPT document then the
+ ttp:processorProfiles
is not expected to be present.
[[ttml2]] specifies a vocabulary and semantics that can be used to define the set of features + that a document instance can make use of, or that a processor needs to support, + known as a Profile.
+Except where specified, it is not a requirement of DAPT that this profile vocabulary is supported by + processors; nevertheless such support is permitted.
+The majority of this profile vocabulary is used to indicate how a processor can compute the set of features + that it needs to support in order to process the Document Instance successfully. + The vocabulary is itself defined in terms of TTML2 features. + Those profile-related features are listed within as being optional. + They MAY be implemented in processors + and their associated vocabulary + MAY be present in Document Instances. +
+Unless processor support for these features and vocabulary has been + arranged (using an out-of-band protocol), the vocabulary is not expected to be present.
+The additional profile-related vocabulary for which processor support is + not required (but is permitted) in DAPT is:
+<ttp:profile>
element;<ttp:feature>
+ and <ttp:extension>
elements;ttp:permitFeatureNarrowing
attribute;ttp:permitFeatureWidening
attribute;ttp:contentProfileCombination
attribute;ttp:inferProcessorProfileSource
attribute;ttp:processorProfileCombination
attribute.ttp:timeBase
The only permitted ttp:timeBase
value is media
,
- since prohibits all timeBase features
+ since prohibits all timeBase features
other than #timeBase-media
.
This means that the beginning of the document timeline, i.e. time "zero", @@ -1126,548 +1249,798 @@
- See Conformance for a definition of permitted, prohibited and optional. -
-Intent is to make it as easy as possible to transform a Document Instance into - IMSC ([[ttml-imsc1.2]]), so we need to check that there are no IMSC permitted Features that we prohibit, or if there - are, then we can explain the reason. -
-Editorial task: go through this list of features and check the disposition of each. IMSC-only features should be optional.
-Feature | -Disposition | -Additional provision | -
---|---|---|
Relative to the TT Feature namespace | -||
#animation-version-2 |
- permitted | -- |
#audio |
- permitted | -- |
#audio-description |
- permitted | -- |
#audio-speech |
- permitted | -- |
#backgroundColor-block |
- prohibited | -- |
#backgroundColor-region |
- prohibited | -- |
#cellResolution |
- prohibited | -- |
#chunk |
- permitted | -- |
#clockMode |
- prohibited | -- |
#clockMode-gps |
- prohibited | -- |
#clockMode-local |
- prohibited | -- |
#clockMode-utc |
- prohibited | -- |
#content |
- permitted | -- |
#contentProfiles |
- required | -- |
#core |
- permitted | -- |
#data |
- permitted | -- |
#display-block |
- prohibited | -- |
#display-inline |
- prohibited | -- |
#display-region |
- prohibited | -- |
#display |
- prohibited Consider display="none" in relation to AD content |
- - |
#dropMode |
- prohibited | -- |
#dropMode-dropNTSC |
- prohibited | -- |
#dropMode-dropPAL |
- prohibited | -- |
#dropMode-nonDrop |
- prohibited | -- |
#embedded-audio |
- permitted | -- |
#embedded-data |
- permitted | -- |
#extent-root |
- prohibited | -- |
#extent |
- prohibited | -- |
#frameRate |
- permitted | -- See [[[#framerate-section]]]. - | -
#frameRateMultiplier |
- permitted | -- |
#gain |
- permitted | -- |
#layout |
- prohibited | -- |
#length-cell |
- prohibited | -- |
#length-integer |
- prohibited | -- |
#length-negative |
- prohibited | -- |
#length-percentage |
- prohibited | -- |
#length-pixel |
- prohibited | -- |
#length-positive |
- prohibited | -- |
#length-real |
- prohibited | -- |
#length |
- prohibited | -- |
#markerMode |
- prohibited | -- |
#markerMode-continuous |
- prohibited | -- |
#markerMode-discontinuous |
- prohibited | -- |
#metadata |
- permitted | -- |
#opacity |
- prohibited | -- |
#origin |
- prohibited | -- |
#overflow |
- prohibited | -- |
#overflow-visible |
- prohibited | -- |
#pan |
- permitted | -- |
#pitch |
- permitted | -- |
#pixelAspectRatio |
- prohibited | -- |
#presentation |
- prohibited | -- |
#processorProfiles |
- permitted | -- |
#profile |
- permitted | -- See . - | -
#region-timing |
- prohibited | -- |
#resources |
- permitted | -- |
#showBackground |
- prohibited | -- |
#source |
- permitted | -- |
#speak |
- permitted | -- |
#speech |
- permitted | -- |
#structure |
- permitted | -- |
#styling |
- permitted | -- |
#styling-chained |
- permitted | -- |
#styling-inheritance-content |
- permitted | -- |
#styling-inheritance-region |
- prohibited | -- |
#styling-inline |
- permitted | -- |
#styling-nested |
- permitted | -- |
#styling-referential |
- permitted | -- |
#subFrameRate |
- permitted | -- |
#tickRate |
- permitted | -See [[[#tickrate-section]]]. | -
#timeBase-clock |
- prohibited | -- |
#timeBase-media |
- permitted | -
- See [[[#timebase-section]]]. -NOTE: [[TTML1]] specifies that the default timebase is |
-
#timeBase-smpte |
- prohibited | -- |
#time-clock-with-frames |
- permitted | -See [[[#framerate-section]]] and [[[#time-clock-with-frames-section]]]. | -
#time-clock |
- permitted | -- |
#time-offset-with-frames |
- permitted | -See [[[#framerate-section]]]. | -
#time-offset-with-ticks |
- permitted | -See [[[#tickrate-section]]]. | -
#time-offset |
- permitted | -- |
#timeContainer |
- permitted | -See [[[#timecontainer-section]]]. | -
#timing |
- permitted | -See [[[#time-expression-section]]]. | -
#transformation |
- permitted | -- See constraints at #profile. - | -
#visibility-block |
- prohibited | -- |
#visibility-region |
- prohibited | -- |
#writingMode-horizontal-lr |
- prohibited | -- |
#writingMode-horizontal-rl |
- prohibited | -- |
#writingMode-horizontal |
- prohibited | -- |
#zIndex |
- prohibited | -- |
This specification does not put additional constraints on the layout and rendering features defined in [[!ttml-imsc1.2]].
+This specification does not put additional constraints on the layout and rendering Features defined in [[!ttml-imsc1.2]].
layout
is used in the head
element) or may be explicit by the use of the region
attribute, if a region
element is defined in a layout
element in the head
element.[[ttml2]] specifies a formal language for expressing document and processor requirements, + within the Profiling sub-system. + The normative requirements of this specification are defined using the conformance terminology + described above, and are also defined using this TTML2 profile mechanism. + Where TTML2 vocabulary is referenced, the syntactic and semantic requirements relating to that + vocabulary as defined in [[ttml2]] apply.
+Whilst there is no requirement for a DAPT processor to implement the + TTML2 profile processing semantics in general, + implementers can use the TTML2 profiles defined in + as a means of verifying that their implementations meet the normative requirements + of DAPT, for example as a checklist. +
+Conversely, a general purpose [[ttml2]] processor that does support the TTML2 + profile processing semantics can use the TTML2 profiles defined in + directly to determine if it is capable of processing a DAPT document. +
+Conformant DAPT Scripts are [[ttml2]] Document Instances that + conform to the normative provisions of this specification. + Those provisions are expressed using the + profile vocabulary of [[ttml2]] in the + content profile defined + in .
+Conformant DAPT Processors are [[ttml2]] + content processors that + conform to the normative provisions of this specification. + Those provisions are expressed using the + profile vocabulary of [[ttml2]] in the + processor profile defined + in .
+This section defines + a [[ttml2]] content profile + and a processor profile + by expressing dispositions against a set of Features and Extensions. + The DAPT extensions are defined in . +
+The Profile Semantics specified in [[ttml2]] apply.
- Profile A TTML profile specification is a document that lists all the features of TTML that are required / optional / prohibited within “document instances” (files) and “processors” (things that process the files), and any extensions or constraints. + A TTML Profile specification is + a document that lists all the features of TTML that are required / optional / prohibited + within “document instances” (files) and “processors” (things that process the files), + and any extensions or constraints.
- A Document Instance that conforms to the profile defined herein: + A Document Instance + that conforms to the content profile defined herein:
- A Document Instance, by definition, satisfies the requirements of Section 3.1 at [[TTML2]], and hence a Document Instance that conforms to a profile defined herein is also a conforming TTML2 Document Instance. + A Document Instance, by definition, satisfies the requirements of Section 3.1 at [[ttml2]], + and hence a Document Instance that conforms to a profile defined herein is also a conforming TTML2 Document Instance.
- A Presentation processor that conforms to the profile defined in this specification: + A Presentation processor that conforms to the processor profile defined in this specification:
- A Transformation processor that conforms to the profile defined in this specification: + A Transformation processor that conforms to the processor profile defined in this specification:
The dispositions required, permitted, optional and prohibited as used in this specification
+ map to the [[ttml2]] <ttp:feature>
+ and <ttp:extension>
elements'
+ value
attribute values as follows:
+ | <ttp:feature> or <ttp:extension> value attribute value in |
+ |
---|---|---|
DAPT disposition | +content profile | +processor profile | +
required | +required | +required | +
permitted | +optional | +required | +
optional | +optional | +optional | +
prohibited | +prohibited | +optional | +
The use of the terms presentation processor - and transformation processor within this document does not imply conformance per se to any of the Standard Profiles defined in [[TTML2]]. - In other words, it is not considered an error for a presentation processor or transformation processor to conform to the profile defined in this document without also conforming to the TTML2 Presentation Profile or the TTML2 Transformation Profile. + and transformation processor within this document does not imply conformance + per se to any of the Standard Profiles defined in [[ttml2]]. + In other words, it is not considered an error for + a presentation processor or transformation processor + to conform to the profile defined in this document + without also conforming to the TTML2 Presentation Profile or the TTML2 Transformation Profile. +
++ The use of the [[ttml2]] profiling + sub-system to describe DAPT conformance within this specification + is not intended imply that DAPT processors are required to support any features of that + system other than those for which support is explicitly required by DAPT.
- This document does not specify presentation processor or transformation processor behavior when processing or transforming a non-conformant Document Instance. + This document does not specify presentation processor or transformation processor behavior + when processing or transforming a non-conformant Document Instance.
- The permitted and prohibited dispositions do not refer to the specification of a ttp:feature or ttp:extension element as being permitted or prohibited within a ttp:profile element.
+ The permitted and prohibited dispositions do not refer to the specification of
+ a <ttp:feature>
or <ttp:extension>
element
+ as being permitted or prohibited within a <ttp:profile>
element.
The Features and Extensions listed in this section express the + minimal requirements for Document Instances, + Presentation Processors, + and Transformation Processors. + DAPT Document Instances MAY additionally conform to other profiles, + and include syntax not prohibited by the DAPT content profile. + Presentation Processors and Transformation Processors + MAY support additional syntax and semantics relating to other profiles.
+For example, a DAPT Script can include syntax permitted + by the IMSC ([[ttml-imsc1.2]]) profiles of [[ttml2]] to enhance the presentation + of scripts to actors recording audio, + or to add styling important for later usage in subtitle or caption creation. +
+Editorial task: go through this list of Features and check the disposition of each. + There should be no prohibited features that are permitted in IMSC.
+Feature or Extension | +Disposition | +Additional provision | +
---|---|---|
Relative to the TT Feature namespace | +||
#animation-version-2 |
+ permitted | ++ |
#audio |
+ permitted | ++ |
#audio-description |
+ permitted | ++ |
#audio-speech |
+ permitted | ++ |
#bidi |
+ permitted | ++ |
#bidi-version-2 |
+ permitted | ++ |
#chunk |
+ permitted | ++ |
#clockMode |
+ prohibited | ++ |
#clockMode-gps |
+ prohibited | ++ |
#clockMode-local |
+ prohibited | ++ |
#clockMode-utc |
+ prohibited | ++ |
#content |
+ permitted | ++ |
#contentProfiles |
+ optional | +See + and . | +
#contentProfiles-combined |
+ optional | +See . | +
#core |
+ permitted | ++ |
#data |
+ permitted | ++ |
#direction |
+ permitted | ++ |
#dropMode |
+ prohibited | ++ |
#dropMode-dropNTSC |
+ prohibited | ++ |
#dropMode-dropPAL |
+ prohibited | ++ |
#dropMode-nonDrop |
+ prohibited | ++ |
#embedded-audio |
+ permitted | ++ |
#embedded-data |
+ permitted | ++ |
#frameRate |
+ permitted | ++ See [[[#framerate-section]]]. + | +
#frameRateMultiplier |
+ permitted | ++ |
#gain |
+ permitted | ++ |
#markerMode |
+ prohibited | ++ |
#markerMode-continuous |
+ prohibited | ++ |
#markerMode-discontinuous |
+ prohibited | ++ |
#metadata |
+ permitted | ++ |
#metadata-item |
+ permitted | ++ |
#metadata-version-2 |
+ permitted | ++ |
#pan |
+ permitted | ++ |
#permitFeatureNarrowing |
+ optional | +See . | +
#permitFeatureWidening |
+ optional | +See . | +
#pitch |
+ permitted | ++ |
#presentation-audio |
+ permitted | ++ |
#processorProfiles |
+ optional | +See . | +
#processorProfiles-combined |
+ optional | +See . | +
#profile |
+ partially permitted | ++ See . + | +
#profile-full-version-2 |
+ partially permitted | ++ See . + | +
#profile-version-2 |
+ partially permitted | ++ See . + | +
#resources |
+ permitted | ++ |
#set |
+ permitted | ++ |
#set-fill |
+ permitted | ++ |
#set-multiple-styles |
+ permitted | ++ |
#source |
+ permitted | ++ |
#speak |
+ permitted | ++ |
#speech |
+ permitted | ++ |
#structure |
+ required | ++ |
#styling |
+ permitted | ++ |
#styling-chained |
+ permitted | ++ |
#styling-inheritance-content |
+ permitted | ++ |
#styling-inline |
+ permitted | ++ |
#styling-referential |
+ permitted | ++ |
#subFrameRate |
+ permitted | ++ |
#tickRate |
+ permitted | +See [[[#tickrate-section]]]. | +
#time-clock |
+ permitted | ++ |
#time-clock-with-frames |
+ permitted | +See [[[#framerate-section]]] and [[[#time-clock-with-frames-section]]]. | +
#time-offset-with-frames |
+ permitted | +See [[[#framerate-section]]]. | +
#time-offset-with-ticks |
+ permitted | +See [[[#tickrate-section]]]. | +
#time-offset |
+ permitted | ++ |
#time-wall-clock |
+ prohibited | ++ |
#timeBase-clock |
+ prohibited | ++ |
#timeBase-media |
+ required | +
+ See [[[#timebase-section]]]. +NOTE: [[TTML1]] specifies that the default timebase is |
+
#timeBase-smpte |
+ prohibited | ++ |
#timeContainer |
+ prohibited | +See [[[#timecontainer-section]]]. | +
#timing |
+ permitted | +See [[[#time-expression-section]]]. | +
#transformation |
+ permitted | ++ See constraints at #profile. + | +
Relative to the DAPT Extension namespace | +||
#agent |
+ permitted | ++ This is the profile expression of . + | +
#contentProfiles-root |
+ required | ++ This is the profile expression of . + | +
#onScreen |
+ permitted | ++ This is the profile expression of . + | +
#profile-root |
+ prohibited | ++ This is the profile expression of . + | +
#scriptType-root |
+ required | ++ This is the profile expression of . + | +
#serialization |
+ required | ++ This is the profile expression of . + | +
#textLanguageSource |
+ required | ++ This is the profile expression of as required at . + | +
#xmlId-div |
+ required | ++ This is the profile expression of . + | +
#xmlLang-root |
+ required | ++ This is the profile expression of . + | +
The Profile Semantics specified in [[ttml2]] apply.
-Since imposes constraints on profile signalling,
- by requiring the presence of the ttp:contentProfiles
attribute,
- the algorithm for profile resolution can be simplified.
- For the purpose of content processing,
- the determination of the resolved profile SHOULD take into account both the signaled profile,
- as defined in , and profile metadata,
- as designated by either (or both) the Document Interchange Context or (and) the Document Processing Context,
- which MAY entail inspecting document content.
+ The DAPT Content Profile expresses the conformance requirements of DAPT Scripts
+ using the profile mechanism of [[ttml2]].
+ It can be used by a validating processor that supports the DAPT Processor Profile
+ to validate a DAPT Document Instance. There is no requirement to include the DAPT Content Profile within a Document Instance. The DAPT Processor Profile expresses the processing requirements of DAPT Scripts
+ using the profile mechanism of [[ttml2]].
+ A processor that supports the required features and extensions of the DAPT Processor Profile
+ can, minimally, process all permitted features within a DAPT Document Instance. There is no requirement to include the DAPT Processor Profile within a Document Instance.DAPT Content Profile
+ DAPT Processor Profile
+
The following sections define extension designations, + expressed as relative URIs (fragment identifiers) + relative to the DAPT Extension Namespace base URI. + These extension designations are used in + to describe the normative provisions of DAPT that are not expressed + by [[ttml2]] profile features.
-A transformation processor supports the #agent
extension if
+ it recognizes and is capable of transforming values of the following
+ elements and attributes on
+ the <ttm:agent>
element:
xml:id
attribute<ttm:name>
elementand if it recognizes and is capable of transforming each of the following value combinations:
+<ttm:agent>
element with type="person"
+ and child <ttm:name>
element with type="full"
;<ttm:agent>
element with type="character"
+ and child <ttm:name>
element with type="alias"
;A presentation processor supports the #agent
extension if
+ it implements presentation semantic support of the above listed
+ elements, attributes and value combinations.
A transformation processor supports the #contentProfiles-root
extension if
+ it recognizes and is capable of transforming values of the
+ ttp:contentProfiles
attribute on the <tt>
element.
A presentation processor supports the #contentProfiles-root
extension if
+ it implements presentation semantic support of the
+ ttp:contentProfiles
attribute on the <tt>
element.
A transformation processor supports the #onScreen
extension if
+ it recognizes and is capable of transforming values of the
+ daptm:onScreen
attribute on the <div>
element.
A presentation processor supports the #onScreen
extension if
+ it implements presentation semantic support of the
+ daptm:onScreen
attribute on the <div>
element.
A transformation processor supports the #profile-root
extension if
+ it recognizes and is capable of transforming values of the
+ ttp:profile
attribute on the <tt>
element.
A presentation processor supports the #profile-root
extension if
+ it implements presentation semantic support of the
+ ttp:profile
attribute on the <tt>
element.
A transformation processor supports the #scriptType-root
extension if
+ it recognizes and is capable of transforming values of the
+ daptm:scriptType
attribute on the <tt>
element.
A presentation processor supports the #scriptType-root
extension if
+ it implements presentation semantic support of the
+ daptm:scriptType
attribute on the <tt>
element.
An example of a transformation processor that supports this extension is
+ a validating processor that provides appropriate feedback, for example warnings,
+ when the SHOULD requirements defined in for a
+ DAPT Document's daptm:scriptType
are not met,
+ and that reports an error if the extension is required by a
+ content profile but the Document Instance claiming
+ conformance to that profile either does not have a
+ daptm:scriptType
attribute on the <tt>
element
+ or has one whose value is not defined herein.
A serialized document that is valid with respect to the #serialization
+ extension is
+ an XML 1.0 [[xml]] document encoded using
+ UTF-8 character encoding as specified in [[UNICODE]],
+ that contains no entity declarations and
+ no entity references other than to predefined entities.
A transformation processor or a presentation processor supports
+ the #serialization
extension if
+ it can read a serialized document as defined above.
A transformation processor that writes documents supports
+ the #serialization
extension if
+ it can write a serialized document as defined above.
A transformation processor supports the #textLanguageSource
extension if
+ it recognizes and is capable of transforming values of the
+ daptm:langSrc
attribute on the <p>
element.
A presentation processor supports the #textLanguageSource
extension if
+ it implements presentation semantic support of the
+ daptm:langSrc
attribute on the <p>
element.
A transformation processor supports the #xmlId-div
extension if
+ it recognizes and is capable of transforming values of the
+ xml:id
attribute on the <div>
element.
A presentation processor supports the #xmlId-div
extension if
+ it implements presentation semantic support of the
+ xml:id
attribute on the <div>
element.
A transformation processor supports the #xmlLang-root
extension if
+ it recognizes and is capable of transforming values of the
+ xml:lang
attribute on the <tt>
element.
A presentation processor supports the #xmlLang-root
extension if
+ it implements presentation semantic support of the
+ xml:lang
attribute on the <tt>
element.