[xsd-announcements] plans for the xsd 2.X.Y release series

Boris Kolpackov boris at codesynthesis.com
Wed Mar 8 10:43:44 EST 2006


Good day,

It is about time to release xsd 2.0.0 and we would like to share
with you our plans for this release series. Below is a list of
major new features that we plan to implement. If you have a need
for something that is not on the list, it's a good time to bring
it up. Also your feedback on the proposed new features is always
appreciated.

  General

    * New cardinality calculator [2.0.0]. This will improve support
      for schemas that use complex structures with repeated elements,
      e.g.,

      <complexType name="Type">
        <choice>
          <sequence>
            <element name="a" type="string"/>
            <element name="c" type="string"/>
          </sequence>
          <sequence>
            <element name="b" type="string"/>
            <element name="c" type="string"/>
          </sequence>
        </choice>
      </complexType>

      For this schema, xsd-1.9.0 will assume cardinality of element
      'c' to be "optional" while it is actually "one".

    * New identifier escaping code [2.0.0]. With this feature xsd
      will be able to generate proper code for schemas that use the
      same name for an element and an attribute in the same type or
      use several elements/attributes with different qualified names
      but with the same local name, e.g.,

      <!-- base.xsd -->
      <schema xmlns="http://codesynthesis.com/xmlns/test/foo"
              targetNamespace="http://codesynthesis.com/xmlns/test/foo">

        <element name="foo" type="int"/>

      </schema>


      <schema xmlns="http://codesynthesis.com/xmlns/test/bar"
	      xmlns:f="http://codesynthesis.com/xmlns/test/foo"
              targetNamespace="http://codesynthesis.com/xmlns/test/bar">

        <import namespace="http://codesynthesis.com/xmlns/test/foo"
                schemaLocation="base.xsd"/>

        <element name="foo" type="string"/>

        <complexType name="Foo">
          <sequence>
            <element ref="foo"/>
            <element name="foo" type="long"/>
            <element ref="f:foo"/>
            <element ref="f:foo"/>
          </sequence>
          <attribute name="foo" type="string"/>
        </complexType>

      </schema>


  C++/Tree

    * Customization of the generated code. This will include adding
      base classes to all or individual generated types as well as
      deriving from the generated types and using the resulting types
      to construct the in-memory representation. See the following
      thread for more information:

      http://codesynthesis.com/pipermail/xsd-users/2006-March/000254.html

    * Perfect parser. With this feature, complete XML Schema validation
      will be (optionally) performed in the generated code rather than
      (optionally) by a separate validating parser.

    * In-memory validation. This feature will allow to validate an in-
      memory instance without first converting it to DOM or XML.

    * Minimization and cleanup of the generated code.


  C++/Parser

    * Perfect parser. With this feature, complete XML Schema validation
      will be (optionally) performed in the generated code rather than
      (optionally) by a separate validating parser.

    * Specialization for void as a parser hook return type.

    * Generation of sample implementation. This will allow you to implement
      your logic by modifying working code rather than starting from scratch.


-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-announcements/attachments/20060308/e795668f/attachment.pgp


More information about the xsd-announcements mailing list