[Matroska-devel] Re: EBML Namespaces
HAESSIG Jean-Christophe
haessije at eps.e-i.com
Thu Apr 27 18:43:50 CEST 2006
> This all seems a little on the complex side. Why not just
It is somewhat complicated indeed.
> define an element that indicates a change of name space for
> all formats?
This is a feature I want to have, as you can see in my last
Post about namespaces
> Something without much chance of random collision like:
> [12][34][56][78]
>
> If you want to be able to indicate *which* name space you are
> changing to, then include a child element that includes the
> format's DocType:
> [13][87][65][43]
As you describe it, it seems that the EBML generic elements
should be valid in all namespaces. I thought it would be
much cleaner for EBML to have its own namespace, which would
improve the extensibility of EBML. Otherwise further additions
of new class-ids used by EBML may collide with older formats.
> Either have that as the first element, with other elements
> from the new name space following later, or put all of the
> elements from the new name space in their own element like:
> [14][87][12][87]
>
> So, format XYZ that wants to contain a Matroska file would
> contain this:
> [12][34][56][78] (size)
> [13][87][65][43] (size) {matroska}
> [14][87][12][87] (size)
> [18][53][80][67] (size)
>
>
> This seems pretty strait forward and backwards compatible to
> me. Am I missing something?
I think it would lead to too much overhead. For one namespace
switch you would have at least 10 to 16, if not more extra bytes.
Formats intensively mixing 3 or 4 vocabularies would yield
huge files...
The feature you describe (namespace switching) is definitely a
must-have, but is not sufficient to suit all use cases IMO.
JC
More information about the Matroska-devel
mailing list