Re: [xml] New user, evaluating XML libraries


I welcome any discussion on this topic whether it extends beyond the
scope of libxml itself or not.  As is typically the case, the question
to be answered has morphed beyond its original scope.  The inevitable
"what about this?", "what about that?" questions have been asked and
people higher than me in this process have to sit down and honestly
answer the question "What job are we really trying to do here with XML?"
before even attempting to make a decision on which library to apply to

Considerations involving ebXML, XSD, XSD-I, XSLT and the like are all on
the table.  And perhaps just one library won't suffice.  I can see two
different jobs to be done here and I won't dismiss the possibility that
no one library is appropriate for both of them.  And from my position,
that's the approach I'm taking, looking at it from the standpoint of
appropriateness for the job first, assuming I know what the job is.  The
others will have to make the tradeoffs between performance vs. whatever,
what we know we need vs. what we think we might need, homogeneous
solution vs. heterogeneous one.

While that is taking place, any information that people with more
knowledge and experience on this subject than I wish to offer can only
help the process and result in a more informed decision.  Thank you all
for your contributions up to this point.


-----Original Message-----
From: xml-bounces gnome org [mailto:xml-bounces gnome org] On Behalf Of
Daniel Veillard
Sent: Thursday, December 21, 2006 10:38 AM
To: Boris Kolpackov
Cc: xml gnome org
Subject: Re: [xml] New user, evaluating XML libraries

On Thu, Dec 21, 2006 at 09:03:21AM +0000, Boris Kolpackov wrote:
... SAX not formerly defined except for Java. On the other hand the
XMLTextReader from C# is part of the ECMA C# spec, and is a good

You mean SAX, which is only defined for Java, is a bad thing but
XMLTextReader, which is only define for C#, is good? ;-)

  API wise, definitely, yes.

  Also DOM *requires* UTF-16 for all strings. This means that in
1/ you will loose time, most content around is UTF-8
2/ you will loose memory space/cache efficiency as the converted
output is
   way larger in average
3/ you will looose CPU efficiency as breaking cache is #1
   problem in modern computers

I think it largely depends on what kind of data one is handling. If
are a lot of non-latin characters then UTF-8 will waste at leaset as
and normally a lot more (4-byte surrogate pairs) space than UTF-16.

  all the markup is usually ASCII. And no UTF-16 XML instances are not

  There is no functional XSD validator. Go to the xmlschemas-dev
archive at W3C, check the last 5 questions from Michael Kay (who is
a Schemas implementor and one of the W3C spec writers), they are
for weeks now, nobody can tell what it is supposed to do. Trying to
XSD to promote interoperability or validation of data is kind of a
Relax-NG on the other hand is an ISO standard, has a formal
and can be read and understood by most programmers in a matter of a
of days.

While what you say could be true, most XML parsers these days support
XML Schema while there is hardly any that support Relax-NG. Also there

  Technically nor XSD nor RNG are handled by parsers, it's sitting on

are a lot of industry standards organizations that managed to define
interoperable schemas that describe fairly complex XML vocabularies.
Finally, one last thing, that a lot of people tend to overlook, is
it is fairly straightforward (in most cases) to provide XML data
binding (generated types in a programming language that represent the
given vocabulary) from XML Schema. I do not think it will be anywhere
as easy or at all possible to do the same with Relax-NG.

  When you mean data bindings, it's records, even easier in RNG than
and RNG usually reuses XSD datatypes. I see no positive differential for

XSD here. Anyway the initial question was *not* about data bindings, 
and further exchanges showed that XSD (nor RNG) was not part of the
so please could you keep this focused on what is really needed and not 
what you would like to promote, thanks.


Red Hat Virtualization group
Daniel Veillard      | virtualization library
veillard redhat com  | libxml GNOME XML XSLT toolkit | Rpmfind RPM search engine
xml mailing list, project page
xml gnome org

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