help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] CodeSynthesis XSD - XML data binding compiler for C++


From: Boris Kolpackov
Subject: [ANN] CodeSynthesis XSD - XML data binding compiler for C++
Date: Tue, 16 May 2006 10:34:45 +0000 (UTC)
User-agent: nn/6.6.5+RFC1522

CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to
C++ compiler. Provided with an XML instance specification (XML Schema),
it generates C++ classes that represent the given vocabulary as well as
parsing and serialization code. You can then access the data stored in
XML using types and functions that semantically correspond to your
application domain rather than dealing with elements, attributes, and
text in a direct representation of XML such as DOM or SAX:


<contact>
  <name>John Doe</name>
  <email>j@doe.com</email>
  <phone>555 12345</phone>
</contact>


auto_ptr<Contact> c = contact ("c.xml");

cout << c->name () << ", "
     << c->email () << ", "
     << c->phone () << endl;


XSD supports both in-memory and event-driven, stream-oriented
processing models by implementing two C++ mappings: C++/Tree and
C++/Parser. The C++/Tree mapping represents the information stored
in XML instance documents as a tree-like, in-memory data structure.
The C++/Parser mapping generates parser templates for data types
defined in XML Schema. Using these parser templates you can build
your own in-memory representations or perform immediate processing
of XML instance documents.


XSD is available on GNU/Linux, HP-UX, Mac OS X, Solaris, and Windows.
Supported C++ compilers include: GNU g++, HP aCC, Intel C++, Sun C++,
and MS Visual C++.

More information, source code as well as precompiled binaries for all
supported platforms are available from

http://codesynthesis.com/products/xsd/


Best Regards,
Boris

-- 
Boris Kolpackov
Code Synthesis Tools CC
http://www.codesynthesis.com
Tel: +27 76 1672134
Fax: +27 21 5526869


reply via email to

[Prev in Thread] Current Thread [Next in Thread]