[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