[xml] EXI



Now that the first working draft of EXI [1] has been released, I was
wondering how people (especially Daniel) feel about adding it to libxml.
Read the primer for a quick overview of EXI.

By and large I think that EXI is a good format, where they have managed
to address many different concerns with a simple design. The major
issues that I came across are:

First, the EXI implementation should be an independent parser (and
generator) front-end. It should emmanate SAX events, so that we can
seamlessly use SAX, DOM, and xmlReader for EXI documents. Hopefully
this will also allow us to use all the other XML technologies (XPath,
XML Schema, XSLT, etc.) that libxml supports. I do not know the details
of libxml well enough to evaluate if this is indeed the case.

Second, EXI has some built-in datatypes that are like the XML Schema
datatypes. Obviously, some code should be reused here.

Third, EXI supports a schema-informed grammar, which means that it can
use information found in XML Schemas, RELAX NG schemas, or DTDs to
create a more compact EXI document. Although the schema-informed grammar
is independent on the various schemas (XML Schema, RELAX NG, DTD), it
eventually has to be populated by those schemas, so it will create some
kind of dependency to these parts of libxml.

Fourth, EXI allows (but does not mandate) the support of user-defined
CODECS for encoding and decoding contents. As this is optional, I have
not looked further into that, but obviously it should be considered if
and how this should be supported by libxml.

[1] http://www.w3.org/XML/EXI/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]