[Matroska-devel] EBML Namespaces

HAESSIG Jean-Christophe haessije at eps.e-i.com
Wed Apr 5 14:40:18 CEST 2006



I would like to know if there are any plans to include some namespacing
feature into EBML.

I think namespaces are an important feature to enable compositing of
EBML documents and

transparent extension of existing formats.


Just in case, if nobody ever seriously thought about it, please consider
the following

proposal :

my idea is to replace the high order bits (not the ones coding for the
ID length) of

the Class-IDs with a namespace ID. First of all, a few new level 1+
Class-IDs are

defined : 4288, an integer element that defines how many bits are used
for namespacing.

4289 is the namespace declaration element. It has two sub-elements : 81
is an integer

representing the namespace ID, 82 is a string containing the namespace
key, which can

be a URL, as in traditional XML namespaces, or a public key fingerprint.


When a Class-ID has high-order set bits that would conflict with the
namespace ID,

that Class-ID is simply represented as a larger class (it would be
coherent with the

EBML RFC section 2.2, which states that Class-IDs are always encoded in
their shortest

Form, therefore no ID clashes can happen)


The namespace ID is always 0 for EBML elements, so for files using up to
7 additional

namespaces, the header elements wouldn't change at all. Another
advantage of my

approach is that the lowest level of EBML parsers (which do not
interpret Class-IDs)

would not be confused by the files using namespaces.


I welcome any comments and would be pleased to answer if further detail
is required

JC Haessig.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.matroska.org/pipermail/matroska-devel/attachments/20060405/c481d096/attachment.html>

More information about the Matroska-devel mailing list