[xsd-users] Any XSD vs competition comparisions

Boris Kolpackov boris at codesynthesis.com
Tue May 20 09:53:27 EDT 2008


Hi Pankaj,

Pankaj Chawla <pankaj at cadence.com> writes:

> I just wanted to check if there is a comparision document anywhere taht
> compares XSD versus other competing code generators. We are only interested
> in C++ code generators.

There is a list of high-level reasons (both business and technical) to
use XSD over other similar offerings:

http://www.codesynthesis.com/products/xsd/reasons.xhtml

If you are looking for a more technical and in-depth comparison then
there is a research paper (that I co-authored) which compares a bunch
of XML Schema-to-C++ compilers:

http://www.cse.wustl.edu/~schmidt/PDF/XSC_ACMSE.pdf

While it does not mention XSD, it talks about a tool called XSC. XSC
was a research tool I designed and implemented while at Vanderbilt
University. After I left Vanderbilt we re-implemented it from scratch
with lessons learned from XSC. Pretty much everything that is said
about XSC in that paper also applies to XSD. Quoting[1] Nicholas Grimes
from Raytheon:

"I was using XSC but found XSD which is a vastly superior product."

  [1] http://www.codesynthesis.com/pipermail/xsd-users/2006-June/000394.html


While me comparing similar features of XSD and other products probably
won't be very useful to you, I can give you a list of major features
which are not found in some/all other products :

* Event-driven C++/Parser mapping in addition to the traditional
  in-memory model (C++/Tree)

In C++/Tree:

* Customization of the generated code including XML Schema built-in types

* Customizable identifier naming convention in the generated code

* Support for XML Schema polymorphism (xsi:type and substitution groups)

* Support for accessing/modifying wildcard content (any/anyAttribute) as
  DOM fragments

* Option to maintain association with underlying DOM nodes

* Optional integration with the Oracle Berkeley DB XML database

* Extensible, high-performance serialization to compact binary formats
  (RPC XDR, ACE CDR streams, and Boost serialization are supported out
   of the box, custom formats and APIs can be easily added)

* Support for the file-per-schema and file-per-type compilation models

* Generation of documentation comments in the Doxygen format that include
  documentation extracted from schemas.

Boris




More information about the xsd-users mailing list