Comparison of fast, multiplatform XML libraries
Projects Main Page         Get PDF (Better formated)



  1. The eXpat XML Parser (http://expat.sourceforge.net/)

  2. The XML C Library for Gnome (http://www.xmlsoft.org/)

  3. Apache Xerces for C++ parser (http://xml.apache.org/xerces-c/index.html)

  4. Language Technology Group RXP XML parser (http://www.ltg.ed.ac.uk/software/xml/index.html)

  5. Trolltech QT XML Module (http://doc.trolltech.com/3.1/xml.html)

  6. Oracle 9i XML Developers Kit for C/C++/Java (http://otn.oracle.com/tech/xml/xdk/)

  7. Intel XML Software Suite (http://software.intel.com/en-us/articles/intel-xml-software-suite/)

  8. Java XML pack (http://java.sun.com/xml/downloads/javaxmlpack.html)




Expat

libXML

Xerces C

RXP

QT

XSS

XDK 10

Xerces J

Author

SourceForge

Gnome

Apache

LT Group

Trolltech

Intel

Oracle

Apache

License

MIT

MIT

Apache

GPL

LGPL

Comercial

OTN

Apache

Sources

open

open

open

open

open

close

close

open

Supported OS

Win

Linux

QNX

LynxOS ?

BSD

Solaris

MacOS X

HP-UX

IRIX

AIX

OS/2

OpenUnix

OpenVMS

Win

Linux

QNX



BSD

Solaris

MacOS X











OpenVMS

MVS

Win NT

Linux





BSD

Solaris

MacOS X

HP-UX

IRIX

AIX

OS/2

UnixWare



PTX

AS/400

OS/390

Win

Linux









MacOS X

Win

Linux

QNX

LynxOS

BSD

Solaris

MacOS X

HP-UX

IRIX

AIX

OS/2

UnixWare



Tru64

XFree86

Win XP+

Linux











HP-UX
















Win NT

Linux







Solaris



HP-UX



AIX

Java

Bits

32/64

32/64

32/64

32/64

32/64

32/64

32

32/64

Language

C/C++

C/C++

C++

Java

C/C++

C++

C++

Java

C/C++



Java

Bindings

Python

PHP

Perl

Tcl/Tk

Ruby

Delphi

Python

PHP

Perl

Tcl/Tk

Ruby

Delphi

Kylix







Used By


Mozilla

Gnome

Apache, IBM, Intel





Apache, IBM, Intel

Library

Shared

Shared

Shar1ed

Static

Shared

Shared

Static


Library Size

128KB

984KB

3440KB

354KB

7033KB

14590KB

7992KB


Thread Safe

Yes

Yes

Yes

?

Yes

Yes

Yes


Multicore






?



Latest Version

v. 2.0.1

v. 2.7.3

v. 3.0.0

v. 1.4.8

v. 4.5.1

v.1.2

10.2.0.2.0

v. 2.9.1

Release Date

05.06.2007


18.01.2009


29.09.2008


29.06.2006


23.04.2009


19.01.2009

07.04.2006


15/09/07










XML

1.0

1.0

1.0

1.0

1.0

1.0

1.0

1.0

Parser

SAX Like

DOM Like

SAX, DOM

DOM Like

SAX, DOM

SAX, DOM

SAX, DOM

SAX, DOM

Namespace

+

+

+

+

+

+

+

+

Validating


+

+

+

-

+

+

+

DTD

CallBack

+

+

+


+

+

+

XML Schema


1.0 Mainly


1.0,

1.1 Planed

-

-

1.0

1.0

+

Relax NG


+







Validation without reparsing


Yes

No



?

Yes

No














SAX 1


minimal

+


+


+

+

SAX 2



Arabica5,

CenterPoint



Arabica5

+,

Arabica5


+

+

Declared in some docs

+

StAX






+



DOM L.1

Sablotron4,

Arabica5,

CenterPoint8

Gdome2,

Arabica5

+,

Arabica5


+

+

+

+

DOM L.2

Sablotron4,

Arabica5,

CenterPoint8

Gdome2,

Arabica5

+,

Arabica5


+

+

+

+

DOM L.3

CenterPoint8


Partial



Partial

Java Only

planed

DOM Tree Serialization

Sablotron4,

CenterPoint8

+

DOM Level 3


+

DOM Level 3

+

+

XSLT

Sablotron4

Libxslt1

Xalan6



+

+

+

EXSLT


Libxslt1

Xalan6



?


+

XSL-FO


Xmlroff




?



Xpath 1

Sablotron4

+

Partial,

Xalan6,

XQilla7



+

+

+

Xpath 2



XQilla7




Java Only


XQuery



XQilla7






XBase


+






+ ?

XPointer


+






+ ?

XLink


Planed






+ ?

XInclude


+






+ ?

Canonical XML

1.0

1.0






Apache XML Security

Signature


XML Security Library3

Apache XML Security13





Apache XML Security

Signature Xpath Filter


XML Security Library3






Apache XML Security

Decryption Transform for XML Signature


Planed in XML Security Library3







XML Encryption


XML Security Library3






Apache XML Security

XForms


















Additional Supported Standards


XML Catalog
















Network Clients


FTP,

HTTP

FTP,

HTTP





FTP,

HTTP

SOAP 1.1


cSOAP

Axis




+ ?

Axis

SOAP 1.2



Axis





Axis

SOAP Atachment



Axis





Axis

WSDL



Axis





Axis

UDDI








+

ebXML








+










XML GUI





+




XSD -> Class Generator







+




  1. The XSLT C Library for Gnome (http://xmlsoft.org/XSLT/) is distributed under MIT license and claims to support all systems, supported by XML C Library for Gnome.

  2. Gnome DOM Engine (http://gdome2.cs.unibo.it/) is distributed under LGPL license and claims to support all systems, supported by XML C Library for Gnome.

  3. XML Security Library (http://www.aleksey.com/xmlsec/) is distributed under MIT license and requires OpenSSL 0.9.6c or 0.9.7 (prefered).

  4. Sablotron (http://www.gingerall.com/charlie/ga/xml/p_sab.xml) is distributed under GPL and Mozilla Open License 1.1 licenses. Sablotron is written in C++ and depends on expat XML parser.

  5. Arabica (http://www.jezuk.co.uk/cgi-bin/view/arabica) is distributed under BSD license, written in C++ and claims to support Linux, Windows and different Unixes equiped with GNU compiler 3.

  6. Xalan for C++ (http://xml.apache.org/xalan-c/index.html) is distributed under Apache license and known to work on Windows, Linux, Solaris, HP-UX and AIX platforms.

  7. Pathan (http://software.decisionsoft.com/pathanIntro.html) is distributed under BSD style license, written in C++ and known to support Windows, Linux and Solaris platforms.

  8. Center Point XML (http://www.cpointc.com/XML/) is distributed under Netscape Public License and claims to support many platforms, including Windows, Linux, BSD, Solaris, HP-UX, MacOS X. Written in C++.

  9. EasySOAP++ (http://easysoap.sourceforge.net/) is distributed under LGPL license, supports Linux and Windows platforms. And claims to be compatible with different SOAP implementations including, but not limited, Microsoft SOAP toolkit, Microsoft .NET platform, Apache, White Mesa, Phalanx.

  10. iconv (http://www.gnu.org/software/libiconv/) is part of GNU c library and distributed under GPL license.

  11. IBM International Components for Unicode (http://oss.software.ibm.com/icu/) is written in pure C unicde 3.2 library, provided under X Open Source license. ICU claims to support Linux, Windows and variety of Unix platforms.

  12. Apache XML Security for C++ (http://xml.apache.org/security/index.html) is distributed under Apache license and known to work on Windows, Linux, Solaris, HP-UX and AIX platforms.




libxslt

GDome

xmlsec

sablotron

cslxml

arabica

xalan

XML Security

pathan

Author

Gnome

Gnome

Alexey Sanin

Ginger Alliance

Connective Software Engineering

Jez UK

Apache

Apache

Decision Soft

License

MIT

LGPL

MIT

GPL

Mozilla

Netscape

BSD

Apache

Apache

BSD

Requirements

LibXML2

LibXML2

LibXML2

OpenSSL

Expat

Expat

Expat

LibXML

Xerces

Xerces

Xerces

Xalan

Xerces

Language

C/C++

C/C++

C/C++

C++

C++

C++

C++

Java

C++

Java

C++

Java

Bindings

Perl

Ruby

Python



Tcl/Tk

Pascal


Perl

Ruby











Caml


Perl

Ruby

Python

Php

Tcl/Tk

Pascal

Ada

Erlang





Perl

Used By

Gnome

Gnome

Gnome

mozilla



Apache

Apache












Library

Shared

Shared

Shared

Shared

Static

Static

Shared

Shared

shared

Library Size

255 KB

225 KB

317 KB

805 KB

962 KB

76 KB

3.3 MB

345 KB

991 KB

Thread Safe

Yes

?

?

Partly1

Yes

?

Yes

Yes

Yes

Latest Version

1.1.24


0.8.1

1.2.11


1.0.3

2.1.7


Oct08

1.10


1.4.0

1.2r2

2.0beta

Release Date

08.04.08


10.05.03


07.11.07


26.06.06


15.05.03


18.10.08


08.02.07


31.10.07


04.09.03



  1. Expect DOM Modification part



Benchmark Setup


  1. Hardware

  1. Intel Core Duo E6300 (1.86GHz, 2MB L2 cache)

  2. Fujitsu-Siemens D3217-A, Intel Q965 chipset (ICH8R, 1066 Mhz bus)

  3. 4 GB DDR2-800 Memory

  4. 2 x Seagate Baracuda 7200.10 ST3500630AS (500GB) organized in Raid-1


  1. Software

  1. Gentoo Linux 64bit, Single User Mode

  2. Kernel 2.6.25

  3. GNU C Library 2.6.1

  4. GNU C Compiler 4.2.4

  5. Java SE Runtime Environment 1.6.0_07 (64 bit)


  1. Libraries

  1. Expat 2.0.1

  2. Sablotron 1.0.3

  3. Arabica Oct2008

  4. Gnome XML Library 2.7.3

  5. Gnome XML DOM Library 0.8.1

  6. Gnome XSLT Library 1.1.24

  7. XML Security Library 1.2.11

  8. Apache Xerces for C++ 3.0

  9. Apache Xalan for C++ 1.10

  10. Apache XML Security 1.4.0

  11. Apache Xerces for Java 2.9.1

  12. Apache Xalan for Java 2.7.1

  13. Apache XML Security for Java 1.4.2

  14. Trolltech QT 4.4.3

  15. Intel XML Software Suite for C++ 1.2

  16. Intel XML Software Suite for Java 1.2

  17. Oracle XML Developers Kit for C 10.2.0.2.0

  18. Oracle XML Developers Kit for Java 10.2.0.2.0


  1. XML Files

  1. RDF - A big RDF document from DMoz.org project describing various web resources. It includes nodes from few namespaces and has constant depth of 3 levels.

  2. XMLGen - Scalable data generator producing very simple XML content: 4 levels of depth, no namespaces, very limited amount of different XML nodes.

  3. XMark - Another scalable data generator provided by XMark Project . It produces XML documents modeling an auction website. The XML have slightly more complicated structure: up to 8 levels of depth, higher variety of XML elements. The namespaces are still not used.

  4. OPCGen - A data generator emulating behavior of OPC XML-DA server . The SOAP messages used in data exchange are generated. Size of some of these messages is scaled by scaling parameter, others are staying constant. The nodes and attributes are belonging to 3 different namespaces. The depth of generated XML is depending on the message type and varies from 1 to 5.

Parsing Benchmarks




Validation Benchmark




XSLT Transformation Benchmark



DOM Benchmark



XML Security Benchmark




Compiler Benchmark








SourceForge Logo