[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] New user, evaluating XML libraries
- From: Boris Kolpackov <boris codesynthesis com>
- To: xml gnome org
- Subject: Re: [xml] New user, evaluating XML libraries
- Date: Thu, 21 Dec 2006 09:03:21 +0000 (UTC)
Hi Daniel,
Daniel Veillard <veillard redhat com> writes:
> Le'ts be frank, it's a bit of FUD, Schemas is being implemented, it's
> not fully implemented because the spec is basically broken beyond recovery.
I thought it is because Kasimier is missing in action ;-). But, I agree,
XML Schema is not the easiest spec to read.
> ... 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 API.
You mean SAX, which is only defined for Java, is a bad thing but
XMLTextReader, which is only define for C#, is good? ;-)
> Also DOM *requires* UTF-16 for all strings. This means that in general
> 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 performance
> problem in modern computers
I think it largely depends on what kind of data one is handling. If there
are a lot of non-latin characters then UTF-8 will waste at leaset as much
and normally a lot more (4-byte surrogate pairs) space than UTF-16.
> 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 unanswered
> for weeks now, nobody can tell what it is supposed to do. Trying to use
> XSD to promote interoperability or validation of data is kind of a joke.
> Relax-NG on the other hand is an ISO standard, has a formal specification
> and can be read and understood by most programmers in a matter of a couple
> 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
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 that
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.
hth,
-boris
--
Boris Kolpackov
Code Synthesis Tools CC
http://www.codesynthesis.com
Open-Source, Cross-Platform C++ XML Data Binding
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]