Closed skynavga closed 4 years ago
I am not so sure this isn't a TTML2 issue. If TTML2's [construct effective processor profile] and [construct effective processor profile] algorithms can not resolve a profile unambiguously given a strangely formed document like this then that is potentially a bug in those algorithms.
In this specific case of the Text and Image profiles, we can enumerate the possibilities of what a processor might do, assuming that either option might be chosen by any processor:
Profile chosen by implementation | Actual document profile | Result |
---|---|---|
Text | Text | OK |
Text | Image | Not valid, presumably no presentation |
Image | Image | OK |
Image | Text | Not valid, presumably no presentation |
Ultimately in the not ok cases it does seem to be a fault in the document that needs to be resolved.
Clearly, a processor cannot resolve this problem, so it cannot be a TTML2 issue. That is, TTML2 semantics are perfectly clear. In the Not OK cases above, if validation were not enabled, then presentation need not occur depending upon whether the processor implemented the features used from the actual document profile.
What I was thinking, however, was that IMSC, which does place many restrictions/constraints on documents, might wish to prohibit a document from specifying the Not OK cases above, which could be checked by a validator to avoid inconsistent usage.
That is, TTML2 semantics are perfectly clear.
@skynavga What are the semantics?
Given the example at https://github.com/w3c/imsc/issues/506#issue-513893582, the effective processor profile will be http://www.w3.org/ns/ttml/profile/imsc1.1/image
, and the effective content profile
will be http://www.w3.org/ns/ttml/profile/imsc1.1/text
.
As a result:
So, unless the document is empty, the resulting presentation may be incomplete.
It might be smart for a validator to highlight this fact, i.e. that the intersection of the effective processor profile and effective content profiles is the null set, but I do not see a requirement to prohibit it in IMSC.
ok, but IMSC has plenty of requirements that can be paraphrased as "don't do stupid <
fill in the blank>
"
IMSC does not constrain the effective processor profile and effective content profile to be the Image Profile
or the Text Profile
, so prohibiting the effective processor profile to be the Image Profile
if the effective content profile is equal to the Text Profile
-- or vice versa -- would catch only corner cases, right?
Yes, this is certainly a corner case, so it is a judgment call as to whether too spec it, or let the author get what they asked for. I don't have a strong opinion, and am fine with letting the existing semantics hand the author what they've asked for.
I don't have a strong opinion, and am fine with letting the existing semantics hand the author what they've asked for.
As I recall, we used to have all kinds of complicated logic, and ultimately chose to (a) specify constraints on documents, (b) mandate features supported by processors and (c) to let the (unambiguous) TTML2 profile resolution algorithm tell the author whether they are doing something silly and/or inform processors of potential issues.
@skynavga we'd like to be able to resolve this before or during Thursday's call if possible.
@nigelmegitt my input is above
The Timed Text Working Group just discussed Potential semantic conflict between ttp:profile and ttp:contentProfiles. imsc#506
, and agreed to the following:
SUMMARY: proposal listed above to add a normative SHOULD statement to TTML2, left open for further consideration before resolving.
The Timed Text Working Group just discussed Potential semantic conflict between ttp:profile and ttp:contentProfiles. imsc#506
, and agreed to the following:
SUMMARY: @skynavga to consider the proposal further
The Timed Text Working Group just discussed Potential semantic conflict between ttp:profile and ttp:contentProfiles. w3c/imsc#506
.
I have reviewed the proposal made by Nigel in https://github.com/w3c/imsc/issues/506#issuecomment-565085770 and have concluded that this proposal is overreaching, and will be a far greater burden on implementers than might ever be derived as a benefit for authors. Furthermore, upon reviewing the original issue and the underlying TTML2 semantics, I have determined that there is no essential semantic conflict, which is to say, if an author defines and declares a document to adhere to some content profile A and then subsequently requests that the document be processed using a processor profile B that is incompatible with content profile A, then it is the author's prerogative to do so, however unwise that might be. In particular, it does not seem necessary to standardize any semantics for this scenario in the specification at this time, and, therefore, I propose to close this issue without any further action.
In a future edition of TTML2, e.g., 3rd Edition, I would suggest an informative note something along the lines of the following. This would permit implementation experience to be gained and QOI (quality of implementation) competition to occur in the area of validation/verification functionality in the content constraint specification, a matter that should proceed with caution in the base standard.
Note: Content authors may wish to make use of TTML content verification tools that detect and warn about overly constrained uses of content and processor profile attribute vocabulary; for example, were a content author to specify that a document adheres to a content profile X, but then specify that an processor profile Y be used to process the document where profiles X and Y are semantically incompatible.
The Timed Text Working Group just discussed Potential semantic conflict between ttp:profile and ttp:contentProfiles. imsc#506
, and agreed to the following:
SUMMARY: Consensus reached to add a note to IMSC 1.2 along the lines of @skynavga's comment earlier today. Comments from the Editor welcome.
The Timed Text Working Group just discussed Potential semantic conflict between ttp:profile and ttp:contentProfiles. imsc#506
, and agreed to the following:
SUMMARY: Editor to prepare Pull Request
At present, neither IMSC1.2 nor TTML2 says anything about the case where a document requires a processor to support one profile but declares the document to conform to another profile that is mutually exclusive with the former. Since TTML2 doesn't define mutually exclusive profiles, TTML2 has not had the need to say anything of note in this regard, but it would possibly seem relevant for IMSC1.2 to do so given the mutual exclusivity of its text and image profiles. For example, it would be a bit strange for a document to specify
However, AFAICT, this is a perfectly legitimate IMSC1.X document.