[xsde-users] XSD/e 3.0.0 released

Della Betta Filippo filippo.dellabetta at telecomitalia.it
Fri Feb 6 08:43:51 EST 2009


Dear Boris,
        first of all thank you for your excellent work. I like the hybrid mapping very much.
I faced some problem with xsd and xml attached.
After generating code with

# xsde cxx-hybrid --generate-parser --generate-serializer --generate-aggregate --no-long-long --cxx-suffix .cpp --hxx-suffix .h --location-map http://www.w3.org/2001/xml.xsd=xml.xsd --namespace-map urn:ietf:params:xml:ns:resource-lists=urn_ietf_params_xml_ns_resource_lists --namespace-map http://www.w3.org/2001/xml.xsd=xml_xsd resource-lists_rfc4826.xsd

# xsde cxx-hybrid --generate-parser --generate-serializer --generate-aggregate --no-long-long --cxx-suffix .cpp --hxx-suffix .h --namespace-map http://www.w3.org/2001/xml.xsd=xml_xsd xml.xsd

I wrote the following program to test hybrid / aggregate functionality.
While printing the name for "2nd level" list (see rl.xml), I got access violation (windows, visual studio 2008).
Did I do something wrong ?
Thanks in advance
Regards,
Filippo


#include <iostream>
#include <fstream>
#include <string>

#include "resource-lists_rfc4826.h"
#include "resource-lists_rfc4826-pimpl.h"
#include "resource-lists_rfc4826-simpl.h"

using namespace std;
using namespace urn_ietf_params_xml_ns_resource_lists;

int
main (int argc, char* argv[])
{
  try
  {
        resource_lists_paggr resource_lists_p;
        ::xml_schema::document_pimpl doc_p (
                                resource_lists_p.root_parser(),
                                resource_lists_p.root_namespace(),
                                resource_lists_p.root_name() );

        resource_lists_p.pre ();
        ifstream i("rl.xml");
    doc_p.parse (i);
    resource_lists* rl = resource_lists_p.post ();


        for ( resource_lists::sequence_iterator si = rl->sequence().begin(); si != rl->sequence().end(); si++){
                for ( listType::sequence_iterator li = si->list().sequence().begin();  li != si->list().sequence().end(); li++){
                        switch (li->choice_arm()){
                                case listType::sequence_type::list_tag:
                                        cout << "list name = " << li->list().name() << endl;
                                default:
                                        break;
                        }

                }


        }

        delete rl;

  }
  catch (const xml_schema::parser_exception& e)
  {
    cerr << e.line () << ":" << e.column ()
         << ": " << e.text () << endl;
    return 1;
  }
}




-----Original Message-----
From: xsde-users-bounces at codesynthesis.com [mailto:xsde-users-bounces at codesynthesis.com] On Behalf Of Boris Kolpackov
Sent: mercoledì 4 febbraio 2009 8.12
To: xsde-users at codesynthesis.com
Subject: [xsde-users] XSD/e 3.0.0 released

Hi,

We have released XSD/e 3.0.0. This is a major release which introduces
the new Embedded C++/Hybrid mapping.

C++/Hybrid provides a light-weight, tree-like object model on top
of the C++/Parser and C++/Serializer mappings. It supports fully in-
memory as well as hybrid, partially even-driven, partially in-memory
XML processing. Other major features of this mapping include:

  * Precise reproduction of the XML vocabulary structure and element
    order.

  * Support for filtering of XML data during parsing and object model
    during serialization.

  * Customizable object model classes as well as parsing and
    serialization code.

  * Small memory footprint, including heap and stack usage.

  * Highly-portable, can be used without STL, RTTI, iostream, C++
    exceptions, and with minimal use of C++ templates.

For more information refer to the Embedded C++/Hybrid Mapping page:

http://www.codesynthesis.com/products/xsde/c++/hybrid/


For a quick introduction to the mapping, refer to the Embedded
C++/Hybrid Mapping Getting Started Guide:

http://www.codesynthesis.com/projects/xsde/documentation/cxx/hybrid/guide/


Other NEWS file entries for this release are as follows:

  * New option, --disable-warning, disables printing of a warning with
    the specified id. Specifying 'all' for the warning id disables all
    warnings.

  * The interfaces of the non-STL versions of the xml_schema::qname and
    xml_schema::string_sequence classes have changed. Now by default
    their modifier functions assume ownership of the passed strings.
    The *_copy() versions of the modifier functions that make copies
    of the passed strings are now provided. See the documentation for
    details.

  * The implementation of the STL version of the xml_schema::string_sequence
    class has changed. Now a custom implementation of the sequence
    container is used instead of std::vector. See the documentation for
    details.

  * When STL is enabled the xml_schema::string_sequence objects
    corresponding to the NMTOKENS and IDREFS types are now returned and
    passed by pointer rather than by value.

This release also adds official support for QNX 6.x, iPhone OS 2.x,
and Visual Studio 2008 with Smart Devices. For a complete list of
supported platforms and toolchains, refer to the Platforms page:

http://www.codesynthesis.com/products/xsde/platforms.xhtml


Precompiled binary distributions are available from the product's
Download page:

  http://www.codesynthesis.com/products/xsde/download.xhtml


Source code for this release is available from the project's page:

  http://www.codesynthesis.com/projects/xsde/


SHA1 checksums for the files:

a7c404aa1473ea9334b2fadbc7b89adbc2b9195f  xsde-3.0.0.tar.bz2
b66f665ec950afd3eb838eeb71c616fcf7513e4f  xsde-3.0.0-i686-linux-gnu.tar.bz2
dab7f7deff45b731ee64b376b8411fe492c1047a  xsde-3.0.0-i686-macosx.tar.bz2
4a514a01db87c203a5322594511b1f60c120a873  xsde-3.0.0-sparc-solaris.tar.gz
b40b39cf668b81807056320feb494f5cd9b18e4d  xsde-3.0.0-i686-windows.zip

Enjoy,
        Boris


Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rl.xml
Type: text/xml
Size: 780 bytes
Desc: rl.xml
Url : http://codesynthesis.com/pipermail/xsde-users/attachments/20090206/c46229d2/rl.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: resource-lists_rfc4826.xsd
Type: text/xml
Size: 3166 bytes
Desc: resource-lists_rfc4826.xsd
Url : http://codesynthesis.com/pipermail/xsde-users/attachments/20090206/c46229d2/resource-lists_rfc4826.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xml.xsd
Type: text/xml
Size: 5840 bytes
Desc: xml.xsd
Url : http://codesynthesis.com/pipermail/xsde-users/attachments/20090206/c46229d2/xml.bin


More information about the xsde-users mailing list