[xsd-users] XSD 3.1.0.b1 released

Jeroen N. Witmond [Bahco] jnw at xs4all.nl
Thu Jan 17 13:03:29 EST 2008


Boris Kolpackov <boris at codesynthesis.com> wrote:

> Jeroen N. Witmond [Bahco] <jnw at xs4all.nl> writes:
>
>> The problem is in implementation custom-xmlbase[1, item 3], and appears
>> as:
>> custom-xmlbase:
>> xsd-3.1.0.b1-i686-linux-gnu/libxsd/xsd/cxx/tree/elements.hxx:253:
>> virtual void xsd::cxx::tree::_type::_container(xsd::cxx::tree::type*):
>> Assertion `container_ == 0' failed.
>
> You need to change:
>
> xml_base::xml_base(::xsd::cxx::tree::type& type,
>                    ::xml_schema::flags f)
> {
>
> in xml-base.cpp to read:
>
> xml_base::xml_base(::xsd::cxx::tree::type& type,
>                    ::xml_schema::flags f)
>   : _xsd_base_ (f, &type)
> {
>

Thanks!

>> All other implementations worked as expected. This includes the problem
>> described in
>> http://codesynthesis.com/pipermail/xsd-users/2007-December/001418.html
>> which you may have missed due to the holidays. :)
>
> Sorry, I haven't had a chance to reply to that email yet. Which problem
> are you refering to that is fixed in this beta?

Sorry to say that, as I had not seen a reply, I expected the problem (in
item 5 in that email) still to be present in version 3.1.0.b1, and it was.
In summary, when I throw an exception in the constructor of a custom type,
the DOMDocument is reset twice. To demonstrate the problem, you can run my
implementation named custom-datamodel. This requires version 3.1.0.a1 or
later of xsd. The problem is also present in versions 3.1.0.a1 and
3.1.0.a3.

Jeroen.





More information about the xsd-users mailing list