[xsd-users] XSD 3.0.0.b2 released
Boris Kolpackov
boris at codesynthesis.com
Tue Jun 26 11:13:45 EDT 2007
Hi,
We have released XSD 3.0.0.b2 which is the second and final beta for
the upcoming 3.0.0 major release. This beta is mostly focused on the
C++/Parser mapping though there are some changes to C++/Tree since
the previous beta (see the second and fifth points in the C++/Tree
category below). The NEWS file entries so far are as follows:
* Anonymous type morphing (automatic type naming) is now performed by
default in both mappings. The --morph-anonymous option does not have
any effect but is preserved for backwards compatibility. A new option,
--preserve-anonymous, disables anonymous type morphing. This option is
useful together with --show-anonymous if you want to make sure your
schemas do not have any anonymous types.
* Number of bug fixes in both C++/Tree and C++/Parser mappings.
C++/Tree
* Optimizations for the generated code size and compilation time,
including space optimizations for polymorphic parsing and
serialization.
* The type definitions for local elements and attributes in the form
name::type have been changed to name_type. For example, an element
bar in type foo with maxOccurs="unbounded" used to have its iterator
type defined as foo::bar::iterator. With this change it becomes
foo::bar_iterator. Furthermore, the container type for sequence
elements has changed from foo::bar::container to foo::bar_sequence
and for optional elements and attributes from foo::bar::container
to foo::bar_optional. This is a backwards incompatible change and
may require the application code adjustments (the C++ compiler will
pinpoint the affected places).
* New option, --generate-wildcard, triggers generation of the new
wildcard (any and anyAttribute) mapping. This mapping represents the
content matched by wildcards as DOM fragments. For more information on
the new mapping see Section 2.12, "Mapping for any and anyAttribute"
in the C++/Tree Mapping User Manual as well as the wildcard example in
the examples/cxx/tree/ directory.
* New option, --generate-comparison, triggers generation of comparison
operators (== and !=) for complex types. Comparison is performed
memberwise.
* New constructor is generated for complex types with ultimate bases
that are simple types and can be default-initialized. This constructor
includes initializers for all required members but omits the initializer
for the base type. See Section 2.7, "Mapping for Complex Types" in the
C++/Tree Mapping User Manual for more information.
* Support for polymorphic binary serialization and extraction. Note that
the semantics of the --generate-insertion and --generate-extraction
options has changed. See the XSD Compiler Command Line Manual (man
pages) for details.
* New parsing function with the DOMDocument* argument and the own_dom
flag allow the tree to assume the DOM document ownership when when
DOM association is used (keep_dom flag). See the C++/Tree Mapping
User Manual for more information.
* The mapping of built-in XML Schema type decimal has changed from
long double to double. The old mapping can be obtained by providing
a custom mapping for this type.
* The xml_schema::errors type which is used in the xml_schema::parsing
and xml_schema::serialization exceptions has been renamed to
xml_schema::diagnostics and extended to include warnings in addition
to errors.
* Serialization operators now clear the element being serialized to from
existing child nodes and attributes (except for special attributes such
as prefix-namespace mappings, etc.).
* Improved built-in type parsing, including support for normalization and
whitespace collapsing.
C++/Parser
* The C++/Parser mapping have been significantly redesigned. See the new
Getting Started Guide in documentation/cxx/parser/guide/ for details.
* The new C++/Parser Mapping Getting Started Guide is available in the
documentation/cxx/parser/guide/ directory.
* The mapping now provides parser implementations for all built-in
XML Schema types. See Chapter 6 in the C++/Parser Mapping Getting
Started Guide for more information.
* The mapping now supports automatic generation of sample parser
implementations and a test driver. The --generate-noop-impl option
triggers generation of a sample implementation with empty function
bodies. The --generate-print-impl option triggers generation of a
sample implementation that prints the data stored in XML to STDOUT.
The --generate-test-driver trigger generation of a test driver. For
more information on this feature see the XSD Compiler Command Line
Manual and the 'generated' example in the example/cxx/parser directory.
Other relevant options include: --force-overwrite, --root-element-first,
--root-element-last, and --root-element.
* The xml_schema::errors type which is used in the xml_schema::parsing
exception has been renamed to xml_schema::diagnostics and extended to
include warnings in addition to errors.
Thanks to the following individuals for reporting bugs as well as
suggesting fixes and improvements:
Ray Lischner <rlischner at proteus-technologies.com>
Bradley Beddoes <beddoes at intient.com>
Mark Hoffmann <mhoffm1060 at aol.com>
Thomas Müller <th.mueller at weisang.com>
Mark Lofdahl <mark.lofdahl at bigfoot.com>
Fukasawa Mitsuo <fukasawa_mitsuo at nifty.com>
Mark Watson <mark at digitalfountain.com>
Sergei V. Firsov <sergei.firsov at mail.ru>
Paolo Volpi <paolo.volpi at tvblob.com>
Mark Kinzie <mark.kinzie at jhuapl.edu>
Arthur <mur at freenet.am>
Eelko de Groot <efdegroot at corp.csnet.nl>
Thomas Maenner <tmaenner at aehr.com>
Gerard Lanois <gerard at lanois.com>
Glenn Nieuwenhuyse <glenn.nieuwenhuyse at gmail.com>
Mark Kinzie <mark.kinzie at jhuapl.edu>
Precompiled binary distributions are available from the product's
download page:
http://www.codesynthesis.com/products/xsd/download.xhtml
Source code for this release is available from the project's web page:
http://www.codesynthesis.com/projects/xsd/
SHA1 checksums for the files:
50008c0ecbcd07313a191044404650c7b9478e3e xsd-3.0.0.b2.tar.bz2
3133d0c56f01a7901f9f8f40855af1a0efe27d2a xsd-3.0.0.b2-i686-linux-gnu.tar.bz2
9c0a76dd18a00b58aa6004400d1d544f678d646e xsd-3.0.0.b2-x86_64-linux-gnu.tar.bz2
426851e581690b1f958af35ea233b70fde77e6ee xsd-3.0.0.b2-i686-windows.zip
Have fun,
-Boris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 652 bytes
Desc: Digital signature
Url : http://codesynthesis.com/pipermail/xsd-users/attachments/20070626/27c4f8d2/attachment.pgp
More information about the xsd-users
mailing list