This post stems from a discussion on the Seneca IRC channel and then on the webvtt-dev mailing list. David Humphrey has asked for us to move the technical discussion to be this mailing list.
The issue concerns which sections of the WebVTT specification our parser library must be compliant with. Everyone agrees we want to make a WebVTT implementation that conforms to the specification, so I will only copy a few quotes on the subject at the root our disagreement. This issue is very important because solving is soon will make it clear how the work needs to be done, thus reducing work to change it later (if required) or the effort involved in perusing two lines of work. Second, it determines the behavior of WebVTT when it is implemented. ------------------ Kyle Barnhart: "These [parser rules] are the only rules a parser/interpreter needs to comply with, this was the deliberate intention of having a parser section. It is important to note that the interpreter can be written in away way so long as it arrives to the same results as in the parsing specifications. There should be test to ensure compliance." Caitlin Potter: "... the parser is modeled after the syntax, because the parser's job is to process input according to that syntax or grammar." Kyle Barnhart: [By validator I mean it only ensures compliance with the syntax rules] "If the parser is actually only a validator, when are we writing an interpreter? We cannot send anything to a browser to process without one." Caitlin Potter: "The rules of a parser come from the syntax or grammar. The parser spec isn't actually required for interpreting data in the files, because that all comes from the grammar, and additional information about the markup elements." ----------------- To summarize, some maintain that our parser library needs to be compliant with the sytnax rules of the specification and so the parser library tests should ensure that. The parser section is not required but useful. I maintain that the parser library must conform the parser rules in the specification, and that checking syntax rules is not required but useful. We both maintain that the test for the parser library should reflect the part of the specification that is required. I have the following quotes from people I have talked with and research into the issue I have done. "When writing something that reads WebVTT files, be very sure to parse it as specified by the parser--*not* by reading the syntax and coming up with your own parsing algorithm." - Glenn Maynard "[Syntax rules] are requirements for writing, not for parsing. Requirements in that section don't apply to you." - Simon Pieters "'It's a bit unusual for a standard to specify the parsing algorithm, but I can understand why.' It's not unusual for modern specs. It's a much more dependable way of getting to consistent behavior than only specifying a format." - Glenn Maynard Also... "It should follow what implementations do as well. So if there's something strange there it might be a bug in the spec." - Velmont "yeah, what Velmont said. If there's a reason to implement something other than the spec, we should change the spec." - Ian Hickson "If the code is to end up in Gecko, it had better follow the specification to the letter" - Ms2ger Please help us to determine which is the correct approach. Thank You, Kyle Barnhart _______________________________________________ dev-media mailing list [email protected] https://lists.mozilla.org/listinfo/dev-media

