-
Notifications
You must be signed in to change notification settings - Fork 3
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
Investigate Data Model and TTML Syntax mapping #214
Comments
Examples of possible TTML syntax that would be permitted per the profile definition but not matching the data model:
The above just focused on checking the elements/attributes already permitted somewhere in DAPT. For other TTML attributes/elements, #110 should cover that. |
Editor's discussion 2024-03-01: Adopt the proposal in #110 to rename §5.2 to be about unrecognised rather than foreign vocabulary. General agreement that for extensibility we design the spec so that adding new features does not break old processors, but that they just ignore them for semantic processing (but should preserve them syntactically). For mapping from TTML to the DAPT data model, either:
The only TTML element that structurally cannot necessarily be mapped into the DAPT Model is nested
Discussion to be continued... |
My thought over the weekend: if we are going to write a DAPT extension feature constraining a document from having a The only issue with this is that I don't know how we would later be able to introduce nested |
Concluded discussion with @cconcolato . Decided not to make new constraints, and not to change the data model. Instead, add a new section that explains how to map a DAPT TTML2 document into the DAPT data model. Effectively these are like "parsing" rules, but not parsing because that's XML's domain. Rather, it should explain that the spec leaves flexibility; there can be conformant DAPT TTML documents that contain more than what is strictly in the data model. That being the case, the new section needs to explains how to retrieve or build a DAPT data model instance from a DAPT TTML document. This also pertains to considerations about extensibility and backwards compatibility. |
Agreed mapping rules (so far): Any A |
The Timed Text Working Group just discussed
The full IRC log of that discussion<nigel> Subtopic: Investigate Data Model and TTML Syntax mapping #214<nigel> github: https://github.com//issues/214 <nigel> Nigel: The issue is that it is possible to construct TTML documents that are conformant DAPT documents <nigel> .. but which contain things that do not map directly to the DAPT data model. <nigel> .. Things that we considered were: <nigel> .. Adding more constraints to the DAPT documents to prevent that; <nigel> .. Adding generic grouping of Script Events to match nested divs <nigel> .. Adding statements into the DAPT Data Model -> TTML representation saying how to reverse it <nigel> .. Adding a new section explaining TTML -> DAPT Data Model mapping (we decided to do that) <nigel> .. Add no extra constraints or features (we decided it is better not to add any, and to have explanations instead) <nigel> .. I am drafting a pull request to add a possibly informative new section explaining <nigel> .. suggested rules for mapping TTML to DAPT, and also updating the Foreign Vocabulary section to make it <nigel> .. more generally apply to any unrecognised vocabulary even if it's in the TTML or DAPT namespaces. <atai> q+ <nigel> .. Any thoughts about this? <nigel> ack at <nigel> Andreas: You say the new section will be informative? <nigel> Nigel: That's what I'm thinking at the moment. <nigel> Andreas: What's the normative expected behaviour of a processor. Is it implementation dependent? <nigel> Nigel: It's what's defined by the TTML features and extensions <nigel> Andreas: Er, ok. Nested divs for example, are not forbidden? <nigel> Nigel: That's right <nigel> Andreas: That would be part of the expected behaviour to deal with that? <nigel> Nigel: Yes <nigel> Andreas: You say the mapping rules will be informative, but what will the normative expected behaviour. <nigel> Nigel: It's what TTML says. There's no normative requirement to map into the DAPT data model. <nigel> .. The fact that a DAPT document was generated from the data model is interesting maybe but <nigel> .. doesn't define the processing behaviour. <nigel> Andreas: So you cannot guarantee that two DAPT data model-based implementations handle a generic TTML <nigel> .. document the same way? <nigel> .. There's no normative deterministic parsing into the data model? <nigel> Nigel: That's right, but parsing into the data model isn't a requirement. <nigel> .. There is already text around handling unknown stuff in §5.2, which is normative, and quite broad, <nigel> .. but essentially the processing semantics are defined by TTML, because DAPT is defining a profile of TTML. <nigel> .. Most of the extension features are constraining syntax, I don't think there are any that define <nigel> .. processing behaviours that wouldn't apply more generally. <nigel> .. In particular, none of the extension features is based on anything in the DAPT data model; <nigel> .. they are all constraining the TTML representation directly. <nigel> .. I think adding this guidance feels helpful, but the question is if it actually needs to be any more normative than guidance. <nigel> .. I suspect you're thinking about it and need to see the pull request. <nigel> Andreas: Yes, it would be good to see it written down and then play it through. <nigel> Nigel: Sure, I just wanted to inform you where we got to and the direction of travel. <nigel> .. Happy to have any comments either on the issue or the pull request when opened. <nigel> SUMMARY: @nigelmegitt to continue drafting a pull request |
In my experience, the process of mapping from TTML/XML to an internal model is a two-step process:
|
In the context of #158 (comment) and in #192, the group noted that the specification is currently written with a data model, and for each model part, a corresponding TTML representation is defined. However, the normative TTML profile definition permits more than the TTML representation of the data model indicates. This issue is to study options to address possible mismatches. Possible options (non exhaustive, not necessarily mutually exclusive) are:
This issue is also related to #110
The text was updated successfully, but these errors were encountered: