Gentlemen, 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 it.
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. -will -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Daniel Veillard Sent: Thursday, December 21, 2006 10:38 AM To: Boris Kolpackov Cc: [email protected] 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 API. > > 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 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. all the markup is usually ASCII. And no UTF-16 XML instances are not common. > > 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 Technically nor XSD nor RNG are handled by parsers, it's sitting on top. > 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. When you mean data bindings, it's records, even easier in RNG than XSD, 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 picture, so please could you keep this focused on what is really needed and not what you would like to promote, thanks. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
