Timed Text Markup Language (TTML) 1.0: Changes

N Change History (Non-Normative)
    N.1 Changes from First to Second Last Call Working Draft
    N.2 Changes from Second Last Call Working Draft to First Candidate Recommendation
    N.3 Changes from First Candidate Recommendation to Third Last Call Working Draft
    N.4 Changes from Third Last Call Working Draft to Second Candidate Recommendation
    N.5 Changes from Second Candidate Recommendation to Third Candidate Recommendation
    N.6 Changes from Third Candidate Recommendation to Proposed Recommendation
    N.7 Changes from Proposed Recommendation to Recommendation

N Change History (Non-Normative)

N.1 Changes from First to Second Last Call Working Draft

Technical Changes

The following changes result in a technical change of the conformance
criteria, the normative abstract document type that is defined
for use with TTML, or the defined value space of an attribute or
property:

* Update namespace URIs to use 2006/04 instead of 2004/11;
* Remove ttp:defaultLengthUnit definition and all references;
  + change initial (default) value definition of tts:fontSize to
    be 1/24th of the height of the root container in all cases;
  + change syntax of scalar form of <length> to require units
* Remove ttp:defaultTimeMetric definition and all references;
  + change syntax of <duration> to require a metric
* Add "transcription" to ttm:role enumeration in section 12.2.2;
* In section 8.2.16, change "dynamic" value to read "scroll" instead,
  which is already defined by CSS/XSL and given UA dependent
  semantics; here we will specify fixed semantics and map to dynamic
  flow; change also usage in 8.1.7 to refer to "scroll";
* In section 6.2.1, change implied default value of ttp:cellResolution
  from 1col/1row to 32cols/15rows, based on CEA/EIA-608-C maximum values;
* In 8.3.12, add "cyan" and "magenta" as aliases for "aqua" and
  "fucshia", since it turns out these are defined by SVG1.0;
* Add following new values for ttm:role to support EIA/CEA-708 caption
  text functions: dialog, expletive, narration, quality, source,
  suppressed; remove associated editorial note;
* In 3.1, add new conformance criteria item 1 that specifies the use
  of application/ttaf+xml as MIME media type with optional "profile"
  parameter; use new references to MIME and XML Media Types;
* Remove begin, dur, and end attributes and descriptions thereof from
  <tt/> and <layout/>;
* Move description of tts:extent attribute from <tt/> to
  <body/>;
* Change "meta" element name to "metadata" to match SVG usage, on
  which this vocabulary item is modeled;
* Remove name attribute from <metadata/> element;
* Change initial (default) value definition of tts:fontSize to
  be 1c (one grid cell) in order to match implied default value for
  ttp:cellResolution row count;
* For sake of symmetry, add Metadata.class and Animation.class children to
  content model of <br/>;
* Add style, ttm:*, tts:* and foreign namespace attributes to
  <br/>;
* Add usage of tts:padding property that takes three length specifications;
* Add left and right values to textAlign;
* Add monospace, serif, and sansSerif to generic font family names;
* Add missing "auto" value to zIndex, and make "auto" initial value
  in order to comply with XSL/CSS usage;
* Add means to specify rate (in units per second) to definition of
  flowIntervalArguments in section 8.3.8;
* Populate Appendix B on Dynamic Flow Processing which defines normative
  semantics (previously unspecified);

Editorial Changes

The following changes are editorial in nature or entail semantic
clarifications that do not affect the abstract document type or defined
schemas for TTML:

* Add "Contributing Authors" to preamble, listing contributors;
* Merge current and former members description in Appendix H (now
  Appendix K);
* Remove references to AFXP as follows:
  + remove 1st note in section 1
  + remove 1st note in section 1.1
  + remove definition of AFXP from glossary
  + remove section 4.2
  + remove AFXP profile entry from Table 2 - Profiles
  + remove reference to 2nd catalog in section 5.3 preamble
  + remove last clause of 2nd para of section 5.3
  + change "AFXP" to "future profiles" in 1st para of section 5.3.1
  + remove section 5.3.2
  + remove last sentence of 2nd note in section 7.1.4
  + remove last sentence of 1st note in section 7.1.6
  + change "AFXP" to "advanced profiles" in 3rd para of Appendix H (now
  Appendix K);
* Add clarifying language in the last para of section 8.3.6;
* Clarify definition of "Valid Abstract Document Instance" in section 4
  to account for the pruning of attributes in other namespaces and
  residual requirements on the presence and value type of attributes;
  + remove redundant definition in glossary to prevent competing
    definitions
* Add informative reference to SMPTE170M (for NTSC); add a
  reference to this bibliographic entry from the 1st note under
  section 6.2.4; add new sentence to this same note indicating
  that other frame rate multipliers apply in other regions and
  with other video formats;
* Add normative reference to UAAG; add recommendation in
  conformance clause 3.2 item (5) that a presentation processor
  should satisfy UAAG defined guidelines;
* Add note in introduction expressing that a related sign language
  representation may be appropriate in some circumstances, but that
  this is not addressed explicitly by TTML;
* Add note in section 6.2.11 indicating that control over state of
  external media time base is outside the scope of TTML;
* Add note in section 5.2 indicating possible uses of profile
  information;
* Fix typos:
  + section 6.2.1: s/express number/express the number/
  + section 6.2.5 (now 6.2.3): s/in document/in a document/
  + section 6.2.6 (now 6.2.4): s/MHz/Hz/
* Add note to 6.2.2 referring to section 10.3 Time Value Expressions;
* Add normative reference to UTC, using reference in section 6.2.2;
* Add normative reference to GPS, using reference in section 6.2.2;
* Add note to 6.2.2 summarizing difference between GPS and UTC;
* Add para to 6.2.2 clarifying that ttp:clockMode is significant
  only on <tt/> element;
* In section 8.3.11, add or refer to definitions of "px", "em", and
  "c";
* In section 7.2.3, replace definition of semantics of xml:space
  values with a new definition that maps to XSL-FO properties;
* In section 9.3.2, add new item (8) that specifies mapping for
  <br/> elements to <fo:character/>;
* In section 4, add new step 2 to definition of Abstract Document
  Instance, which is needed to remove certain XML whitespace that
  remains after pruning elements; e.g., a <br/> element may have
  children from another namespace, that, after pruning, would result
  in a non-empty <br/> element; this new step ensures that the
  element is emptied prior to validation against its abstract
  document type;
* In section 8 preamble, add new para indicating that no normative
  use of a stylesheet PI is defined;
* In section 8.2.16, add condition tts:wrapOption="noWrap" in note;
* In section 8.2.22, move visibility="hidden" from <p/> to <span/>s;
  otherwise, content would remain hidden due to <p/> being hidden;
* Add informative reference to CEA/EIA-608-C; use this reference
  in a new note in 6.2.1;
* Add note in 6.2.1 explaining that it is not expected that glyph
  areas align with uniform grid defined by ttp:cellResolution,
  indicate that such alignment would occur only when using monospace
  font whose EM square exactly matches grid's cell size;
* Add normative reference to SRGB definition;
* Add normative use of SRGB in section 8.3.2 <color> and 8.3.12 <namedColor>
* In 8.3.2, add para indicating that SRGB is used for both input and
  output of notional composition functions; add note indicating that
  a presentation processor may actually use another color space for
  internal or external purposes;
* In 8.2.14, specify that opacity applies on a linear scale;
* Add informative reference to SVG 1.0;
* Add note in 8.3.12 indicating that named color set is a strict
  subset of SVG 1.0 named color set;
* Add empty informative Appendices H, I, and L, to document Vocabulary
  Derivation, QA Framework Compliance, and Change History,
  respectively; renumber former appendices G and H as Appendices J
  and K, respectively;
* Add normative reference to RFC2046, MIME Media Types;
* Add normative reference to RFC3023, XML Media Types;
* Change description of implied begin/end on <tt/> to refer to
  external context temporal interval;
* Change description of implied begin/end on <body/> to refer to
  external time interval;
* In 7.1.2, 8.1.1, and 9.1.1, specify that implied time intervals of
  head, styling, and layout are coterminous with external time
  interval;
* In 9.1.2, indicate that begin/end points specified on <region/>
  are relative to the time interval of the nearest ancestor associated
  with a time interval;
* In 9.1.2, remove constraint that if no tts:extent is specified in
  computed style set then no content is flowed into region; this
  constraint is redundant since the initial value of tts:extent is
  "auto" which is defined to be extent of root container;
* Fix typos:
  + section 9.1.2, s/layout/region/ in para describing dur attribute;
* Add note at end of the preamble to section 8.2, [Styling] Attribute
  Vocabulary, indicating that (to support inheritance) any style
  property may be specified on any content element independently of
  whether it applies to that element;
* Remove note in 7.1.7 that indicated that <br/> is empty in
  the reduced XML infoset, which no longer holds as both metadata and
  animation children may be present;
* In Appendix I, add table I-1 with element vocabulary derivation;
* Define monospace to be either serifed or not; define serif and
  sansSerif to be equivalent to proportionalSerif and proportionalSansSerif,
  respectively;
* Add time metric to time expressions in example content;
* Add definition of implicit duration of document instance in section 7.1.1;
* In definition of <time-expression> syntax in section 10.3.1,
  remove paragraph referring to default time metric, which no longer
  applies now that time metric must be specified;
* In Appendix I, add table I-2 with attribute vocabulary derivation;
* Add definition of percentage lengths to each style property
  definition. Percentages apply to the following styles: extent,
  fontSize, lineHeight, origin, padding, and textOutline;
* Fill in Appendix I with QA Framework compliance information;
* Add section 5.3.2 defining a presently empty "Extension Catalog"
  that serves as a placeholder for future standardized extensions and
  additionally specifies that document instance may contain arbitrary
  namespace qualified elements and attributes from other namespaces;
* Add section 3.3 defining conformance claims and requirements
  regarding for providing an implementation compliance statement;
* Add hyperlinks throughout document for references to elements,
  attributes, and value expressions;
* Add new Appendix F containing sample code and sample compile,
  load, run session transcript;
* Change IDREF to IDREFS as value of ttm:agent as found in prose in
  section 12.2.1;

N.2 Changes from Second Last Call Working Draft to First Candidate Recommendation

Technical Changes

The following changes result in a technical change of the conformance
criteria, the normative abstract document type that is defined
for use with TTML, or the defined value space of an attribute or
property:

* Restore support for nested div and span elements [that had
  been removed in an early working draft].
* Change "id" attribute to "xml:id".
* Add tts:textDecoration style property.
* Update namespace URIs to use 2006/10 instead of 2006/04.
* Update profile URIs to use 2006/10 instead of 2006/04.

Editorial Changes

The following changes are editorial in nature or entail semantic
clarifications that do not affect the abstract document type, defined
schemas, or conformance criteria for TTML:

* Update "status of this document" (SOTD) section to
  reflect CR transition.
* Add normative reference to xml:id recommendation.
* Add note in section 9.3.3 indicating that intermediate document
  examples are internal processing states and do not represent
  valid TTML documents.
* Add "Except for transparent, " to note in section 8.3.12.
* Add recommendation, in section 3.1 item 5, that conformant
  reduced infoset "should" adhere to WCAG1.0.
* Add normative reference to WCAG1.0.
* Update informative reference to SVG1.0 to reference SVG1.1
  instead.
* Insert new (normative) Appendix D that specifies the
  MIME Media Type registration information for application/ttaf+xml.
* Add normative reference to RFC3023 tagged as [XML Media Types],
  for use by new Appendix D.
* Normalize and add missing dates of W3C Recs cited in
  Appendices E (References) and F (Other References).
* In Table 4, express groups as choice lists instead of
  sequences (which might have been confusing).
* Revise content models of XML Representation of div, p,
  and span element information items in order to make
  reference to Block.class and Inline.class element
  groups.
* Add "This appendix is normative" to beginning of each
  normative appendix.
* Add clarifications in sections 8.3.13 and 8.3.14 that
  syntactic element "char" adheres to production [2] of
  XML1.1, while syntactic element "S" adheres to
  production [3] of XML1.1.
* Add note to section 7.1.7 (and rearrange paragraph ordering)
  to indicate that two <br> elements are intended to
  produce two forced line breaks in a sequence.
* Add note to section 6.2.4 that indicates that PAL
  formatted video nominally uses a 1:1 frame rate multiplier
  (except for PAL/M).
* Add note to end of section 9.3.2 that indicates that a
  compliant XSL1.0 presentation processor may be insufficient
  to satisfy the presentation semantics of TTML.
* Clarify syntax of <alpha> style value expression to
  use XML Scheme Datatype lexical representation of xs:float,
  which was the intended syntactic value space for this
  expression.
* Clarify that ttp:cellResolution columns or rows must not be zero
  if present.
* Clarify that ttp:frameRate must be greater than zero if present.
* Clarify that ttp:frameRateMultipler denominator must not be zero
  if present. Correct misspelling "demoninator".
* Clarify that ttp:pixelAspectRatio width or height must not be zero
  if present.
* Clarify that ttp:subFrameRate must not be zero if present.
* Clarify that ttp:tickRate must not be zero if present.
* Remove superfluous end tag close (>) in XML representation of
  metadata element information item in section 12.1.1.
* Add clarification that the declared value of an inline style
  attribute on body, region, and style elements must not be "inherit".
* Add clarification in section 8.5.1 item 2 that use of value
  "inherit" does not apply if element is body element.
* Clarify that tt element establishes the root stacking context
  for the purpose of interpreting the tts:zIndex style property;
  this corresponds with the prescribed mapping of tt:tt to fo:root
  as described in section 9.3.2 item 3.
* Clarify that ttp:{markerMode,smpteMode,tickRate,timeBase} are
  significant only when specified on tt element.
* Add note at end of section 8.2.17 that padding style attribute
  is based on XSL 1.0 shorthand "padding" property except that
  the individual values map to writing mode relative padding
  properties, i.e., padding-before, padding-after, etc.
* Update attribute derivation table (Appendix I.2) to reflect
  addition of tts:textDecoration and change from id to xml:id.
* Update publishing date and dates in SOTD CR publication.
* Update SOTD to remove use of sample code as satisfying 2
  implementation convention for exit criteria. Note that sample
  code can still serve as 1 implementation of 2 required.
* Add paragraph to SOTD describing unsatisfied comments during
  first LC.
* Change "reference code" to read "sample code".

N.3 Changes from First Candidate Recommendation to Third Last Call Working Draft

Technical Changes

The following changes result in a technical change of the conformance
criteria, the normative abstract document type that is defined
for use with TTML, or the defined value space of an attribute or
property:

* Change TT Style Namespace to use #styling instead of #style as
  fragment identifier [I-087]. 
* Add ttp:{profile,features,feature,extensions,extension} element types
  [I-060].
* Add Parameters.class group, containing ttp:profile element, to content
  model of head element [I-060].
* Define three normative profiles: dfxp-{transformation,presentation,full},
  with dfxp-transformation being the default in absence of declaration
  [I-060, I-096].
* Subdivide processor conformance into transformation and presentation
  processors, mandating support for the respective profile [A-035].
* Add optional tts:extent attribute to tt element [A-028, I-069].
* Change default time containment of body element to 'par' [I-041].
* Remove 'inherit' value from all tts:* style attributes [I-054].
* Allow unquoted font family names to contain whitespace in
  <familyName> style value expression used with tts:fontFamily
  attribute [I-033].
* Change 'scroll' value to 'dynamic' on tts:overflow attribute [I-082].
* Add 'rollUp' value to tts:dynamicFlow attribute [A-034, I-101].
* Remove (1) 'within' flow function, (2) 'block', 'inline', and 'pixel'
  flow units, (3) 'fade' flow style, and (4) flow transition and flow
  transition styles from <flowFunction> style value expression
  [I-081, I-086, I-100].
* Rename intra(..) and inter(..) to fill(..) and clear(..), respectively,
  in <flowIntervalFunction> style value expression [I-102].
* Allow tts:display style property to apply to region element [I-051].
* Allow ttm:role attribute on region element [A-032].
* Improve content model of metadata element [I-097].
* Change data type of ttm:role attribute to NMTOKENS [I-089].
* Add 'description' value to ttm:role attribute [I-008].

Editorial Changes

The following changes are editorial in nature or entail semantic
clarifications that do not affect the abstract document type, defined
schemas, or conformance criteria for TTML:

* Clarify prose with respect to support for nested div and span [A-024, I-028].
* Define default region in absence of explicit region [A-026, I-012, I-042].
* Map anonymous spans to fo:inline only when parent is p or span [A-027, I-037].
* Fix inconsistencies regarding time containment semantics [A-029].
* Clarify semantics of dur and end attributes [A-030].
* Unify specification of behavior of style resolution processing [A-033, I-032, I-040, I-050].
* Add examples of metadata and animation vocabulary [I-009].
* Revert XML and XML Namespace references to their 1.0 versions [I-015].
* Fix incorrect reference to SMIL2 sections [I-016].
* Fix syntactic definition of <duration> style value expression [I-017].
* Correct name of tts:textDecoration value 'lineThrough' [I-027].
* Clarify prose describing <opacity> style value expression [I-035, I-090].
* Clarify processing and inheritance of anonymous spans [I-034, I-036, I-077].
* Fix example code for content hierarchy region mapping [I-043].
* Fix various typos and formatting issues [I-044, I-045, I-056, I-073, I-076].
* Add missing inheritance and percentage constraints [I-046].
* Fix ordering and missing entry in list of style value expressions [I-052].
* Designate tts:textDecoration and tts:textOutline as inheritable [I-055].
* Make all style properties animatable [I-059].
* Correct flow interval computation with definite rate [I-061].
* Clarify dynamic flow buffer semantics [I-062, I-063, I-066, I-067, I-104].
* Clarify dynamic flow timing semantics [I-064, I-104].
* Clarify affect of animation of styles and dynamic flow [I-065].
* Clarify semantics of space filling of region [I-068].
* Clarify extent of region with respect to tts:overflow semantics [I-070].
* Update XSL reference to 1.1 version [I-079].
* Remove appendix containing sample code [I-080].
* Clarify dynamic flow operation semantics [I-083, I-099].
* Clarify default flow style semantics [I-084].
* Clarify default denominator on ttp:frameRateMultiplier [I-085].
* Add missing style default semantics [I-091].
* Clarify mutability of TTML namespaces [I-094].
* Clarify constraints on syntax of flow functions [I-103].
* Clarify interaction between dynamic flow and wrap option processing [I-105].
* Clarify line breaking semantics [I-106].
* Enlarge syntactic treatment of foreign attributes on head element [I-110].
* Fix note regarding context of usage of metadata items [I-111].
* Remove style and metadata extension namespaces [I-112].
* Clarify region association algorithm [I-118].

N.4 Changes from Third Last Call Working Draft to Second Candidate Recommendation

Technical Changes

The following changes result in a technical change of the conformance
criteria, the normative abstract document type that is defined
for use with TTML, or the defined value space of an attribute or
property:

* Change value syntax of ttp:frameRateMultiplier and ttp:pixelAspectRatio
  to use whitespace separator rather than COLON ':' separator [I-122].
* Add flow style duration argument to flow interval function [I-126].
* Add 'break' value as flow interval argument in flow interval function [I-127].
* Add missing feature designators [I-130].
* Add path separator '/' to end of TT Profile, Feature, and Extension
  Namespace strings, which are used as base URIs [I-131].
* Prohibit use of 'dur' attribute when operating in discontinuous marker
  mode [I-141].
* Change name of ttp:smpteMode attribute to ttp:dropMode [I-142].

Editorial Changes

The following changes are editorial in nature or entail semantic
clarifications that do not affect the abstract document type, defined
schemas, or conformance criteria for TTML:

* Change #style to #styling suffix of TT Styling Namespace in RNC
  schema [I-119].
* Remove use of TT extension namespaces in RNC schema [I-119].
* Add missing direction and unicodeBidi style attributes to
  TTAF.Styling.attrib in RNC schema [I-120].
* Enhance foreign element pattern for metadata content model in RNC
  schema [I-121].
* Clarify that numerator of ttp:frameRateMultiplier must be non-zero [I-123].
* Remove erroneous specification of inheritance on tts:displayAlign [I-125].
* Fix typos in descriptive prose of flow timers [I-128].
* Update tts:dynamicFlow attribute example to use 'break' clear interval  [I-129].
* Rename #fontSize-anisomorphic and #textOutline-blur feature designators [I-130].
* Fix miscellaneous typos [I-132].
* Clarify use of 'transparency' [I-133].
* Reorder descriptive prose on root container origin [I-134].
* Clarify meaning of presence of both 'dur' and 'end' attributes
  on an element [I-135].
* Add note on first usage of 'c' (cell) length unit [I-136].
* Add example of foreign metadata element usage [I-137].
* Clarify meaning of 'dur' attribute with clock-time expression [I-140].
* Add note on exception to false negatives when using RNC schema [I-145].
* Add proscription against multiple instances of same flow function [I-146].
* Clarify the meaning of media time when using clock timebase [I-147].
* Clarify the meaning of offset based timing when using media or
  continuous smpte timebase [I-148].

N.5 Changes from Second Candidate Recommendation to Third Candidate Recommendation

N.6 Changes from Third Candidate Recommendation to Proposed Recommendation