Example of TTML specification listing in the constraints.xml:
<Specifications> <Specification ID="spec-imsc1.1"> <Name> TTML Profiles for Internet Media Subtitles and Captions 1.1 </Name> <Acronym>IMSC1.1 Common</Acronym> <Version>2018-11-08</Version> </Specification> <Specification ID="spec-ttml2"> <Name> Timed Text Markup Language 2 (TTML2) CR </Name> <Acronym>TTML2</Acronym> <Version>2018-11-08</Version> </Specification> </Specifications>
Example of a documented IMSC rule:
<Constraint ID="d1e1321"> <ShortName> Extent attribute presence on region element </ShortName> <SpecifiedBy> <SpecificationReference> spec-imsc1-text </SpecificationReference> <SpecText> [The feature] #extent-region [is] permitted... </SpecText> <Error_Level>ERROR</Error_Level> <Chapter>7.4</Chapter> <URI> https://www.w3.org/TR/ttml-imsc1/#features-and-extensions-1 </URI> </SpecifiedBy> <SpecifiedBy> <SpecificationReference> spec-imsc1.0.1-text </SpecificationReference> <SpecText>...</SpecText> <Error_Level>ERROR</Error_Level> <Chapter>7.4</Chapter> <URI> https://www.w3.org/TR/ttml-imsc1.0.1/#features-and-extensions-1 </URI> </SpecifiedBy> <SpecifiedBy> <SpecificationReference> spec-imsc1.1-text </SpecificationReference> <SpecText>...</SpecText> <Error_Level>ERROR</Error_Level> <Chapter>8.4.2</Chapter> <URI> https://www.w3.org/TR/ttml-imsc1.1/#extent-region </URI> </SpecifiedBy> <ShortDescription> tts:extent on all regions </ShortDescription> <ShortDescriptionUser> The extent attribute shall be present on all region elements. </ShortDescriptionUser> </Constraint>
Example of rule implementation in Schematron:
<sch:pattern id="attributeRequirement"> <sch:rule context="/tt:tt/tt:head/tt:layout/tt:region"> <sch:assert diagnostics="elementId" see="http://www.irt.de/subcheck/constraints/d1e1321" id="assert-d1e1321-1"> The attribute tts:extent is present. </sch:assert> </sch:rule> </sch:pattern>
Example of an IMSC document with an error:
<tt xmlns="http://www.w3.org/ns/ttml" ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en"> <head> <layout> <region tts:origin="10% 80%" xml:id="bottom"/> </layout> </head> <body> <div> <p region="bottom" begin="0s" end="1s"> Hello, I am Mork from Ork. </p> </div> </body> </tt>
Example of the SVRL Output:
<svrl:failed-assert test="attribute::tts:extent" see="http://www.irt.de/subcheck/constraints/d1e1321" location="/*:tt[namespace-uri()='http://www.w3.org/ns/ttml'][1]/..." subcheck:alternativeLocation="/tt/head/layout/region"> <svrl:text> The attribute tts:extent is present. </svrl:text> <svrl:diagnostic-reference diagnostic="elementId"> The affected 'region' element has the ID 'bottom'. </svrl:diagnostic-reference> </svrl:failed-assert>
Example of the report view output:
<errorCategory>
<constraintID>d1e1321</constraintID>
<title>
Extent attribute presence on region element
</title>
<shortUserDesc>
The extent attribute shall be present on all
region elements.
</shortUserDesc>
<specs>
<spec>
<name>
TTML Profiles for Internet Media
Subtitles and Captions 1.0 (IMSC1)-
Text Profile, Version 2016-04-21
</name>
<nameAcronym>IMSC1-Text</nameAcronym>
<text>
[The feature] #extent-region [is]
permitted ...
</text>
<errorLevel>ERROR</errorLevel>
<section>Chapter 7.4</section>
<uri>
https://www.w3.org/TR/ttml-imsc1...
</uri>
</spec>
<spec>
<name>
TTML Profiles for Internet Media
Subtitles and Captions 1.0.1 (IMSC1)
- Text Profile, Version 2017-07-13
</name>
<nameAcronym>IMSC1.0.1-Text</nameAcronym>
<text>
[The feature] #extent-region [is]
permitted...
</text>
<errorLevel>ERROR</errorLevel>
<section>Chapter 7.4</section>
<uri>
https://www.w3.org/TR/ttml-imsc1.0.1/...
</uri>
</spec>
<spec>
<name>
TTML Profiles for Internet Media
Subtitles and Captions 1.1 -
Text Profile,Version 2017-10-17
</name>
<nameAcronym>IMSC1.1-Text (Beta)</nameAcronym>
<text>
The tts:extent attribute SHALL be present
on all region elements, where it SHALL use
px units, percentage values, or root
container relative units.
</text>
<errorLevel>ERROR</errorLevel>
<section>Chapter 8.4.2</section>
<uri>
https://www.w3.org/TR/ttml-imsc1.1/...
</uri>
</spec>
</specs>
<errors>
<error>
<messages>
<messageMain>
Assertion: The attribute tts:extent is
present.
Error Information:
The affected 'region' element has the ID
'bottom'.
</messageMain>
<messageAssertion>
The attribute tts:extent is present.
</messageAssertion>
<messageDiagnosticsAll>
The affected 'region' element has the ID
'bottom'.
</messageDiagnosticsAll>
</messages>
<locations>
<location
locationType="resolvableXPATH">
/*:tt[namespace-uri()='http://www.w3.org/...
</location>
<location
locationType="humanXPATH">
/tt/head/layout/region
</location>
</locations>
</error>
</errors>
</errorCategory>