Re: [Cellar] Defining EBML Schema in the EBML spec & mandatory/default

Steve Lhomme <[email protected]> Tue, 8 Dec 2015 10:20:06 +0100
Newsgroups gmane.comp.multimedia.matroska.devel
Message-ID <CAOXsMFJGZLucsNG1Mx3WXwc_uz1Hi-R7P8OHXL8SGUmjA=1nRw@mail.gmail.com>
2015-12-07 19:04 GMT+01:00 Dave Rice <[email protected]>:
> Hi Michael,
>
> On Dec 7, 2015, at 12:37 PM, Michael Bradshaw <[email protected]> wrote:
>
> On Sat, Dec 5, 2015 at 10:58 AM, Dave Rice <[email protected]> wrote:
>>
>> The specdata.xml file is the only precedent expression of an EBML Schema
>> that I know of. Is there a machine readable expression of webm anywhere? Or
>> any other EBML Document Type?
>
>
> Not that I know of (there certainly isn't anything normative like that for
> WebM). I'm really looking forward to a standardized machine readable form,
> because it'll help keep the WebM and MKV specs consistent. Right now they've
> fallen out of sync (i.e. WebM marks several elements as supported, like
> BlockVirtual, BlockAdditions, MaxBlockAdditionID, etc that aren't marked as
> supported in WebM within the MKV spec).
>
>> Considering your points about nailing down the definition of range, there
>> are only a few range values in use in specdata.xml, “> 0”, “>0”, “0-1”,
>> “1-254”, and “not 0”, I made some notes of a definition of these in a pull
>> request comment, but propose that ultimately we move the definition of
>> `range` towards the XML Schema equivalent of `restriction`.
>
>
> Something along the lines of XML Schema restriction would probably be nice,
> because then you could use it for strings and the like.
>
>
> One caution I have here is that the current specdata.xml file is used to
> create libraries that are used to build mkvalidator. I think possibly a
> different specdata.xml could be used to create a validator from mkvalidator
> code for another EBML format. However, mkvalidator likely does not support
> much outside of the current `range` values. If we use something broader like
> XML Schema's restriction we could end up making EBML Schemas that can not be
> used within mkvalidator. On the other hand, support for string restrictions
> would allow us to have a machine-readable test on Matroska tags, whereas we
>
> If we standardize EBML Schema, I think it's practically essential to have a
> utility that can use the EBML Schema to validate an EBML Document. To do
> that there is mkvalidator and inside the PreForma project there is work
> underway to build an EBML validator using a combination of MediaTrace and
> XSL.

If we go the XSLT way, I suppose a more flexible validator could be
written using that and be easily updated on the fly, compared to a
compile program like mkvalidator.

> Cc'ing matroska-devel on this, but I like to ask:
> If EBML Schema is extended to support more comprehensive expressions that
> specdata.xml currently supports, are there volunteers to update mkvalidator
> to support the new EBML Schema? I can volunteer to update data2spec to
> produce a similar output but feasibly our work on EBML Schema may mean that
> it then continues unpredicted expressions.

I will continue maintaining mkvalidator, until another validator
supports all the same error/warning detections and profiles (live,
webm, divx).

> An alternate could be to say that EBML Schema has X features but that the
> Matroska specification adds T constraints onto the implementation of the
> schema, so that the only Matroska EBML Schema is semantically equivalent to
> specdata.xml
>
>> Regarding the conflicts of the spec regarding the meaning of Empty
>> Elements versus how the default value applies to an Empty Element, I
>> remember this discussion but forgot about it while drafting. I’ll add this
>> in shortly, it will be nice to finally have rules about
>> default/mandatory/empty all centralized as the discussions and clues have
>> been widespread.
>
>
> Great, looking forward to that. I'll review that when it's up.
>
>
> I'll probably do this by adding another paragraph and then another column
> that that lookup table that I started.
> Best Regards,
> Dave Rice
>



-- 
Steve Lhomme
Matroska association Chairman
_______________________________________________
Matroska-devel mailing list
[email protected]
http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel
Read Matroska-Devel on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.devel