Yesterday I’ve released pyxser-1.0R with all the work done. The ChangeLog for this release is as follows:
1.0r (2009.05.09): Daniel Molina Wegener <dmw at coder dot cl> * Set default validation to XML Schema validation, to allow pyxser to work with WebServices and similar technologies, without restricting the namespace prefix to pyxs. * Removed memory leaks concerning XML Schema validation. * Succeful tests with more than 1.200.000 pyxser operations. * Added pyxser 1.0 XML Schema to allow imports of the pyxser model into WebServices WSDL and similar technologies. * Addded getxsd(), getxsd_c14n(), u_validate_c14n_dtd(), u_validate_dtd(), validate_c14n_dtd(), validate_dtd() functions. * All *_dtd() related functions allows you to validate pyxser documents using the pyxser 1.0 DTD, instead of the pyxser 1.0 XML Schema.
Design Changes
On the document structure and alorithms are no changes. It continues with the same flow. Mainly, the design changes regards the validation method and document declaration. pyxser-1.0R is validating documents against the pyxser 1.0 XML Schema. This XML Schema can be used in WebServices and similar tasks to allow the document structure to be embeded, in example inside SOAP messages
As sample document header we have…
<pyxs:obj xmlns:pyxs="http://projects.coder.cl/pyxser/model/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://projects.coder.cl/pyxser/dtd/pyxser-1.0.xsd" version="1.0" type="ParentObject" module="testpkg.sample" objid="id--1210138260"> <pyxs:prop type="unicode" name="dyn_prop4" size="42">sxf3mxe9 txe8xtxe8 xefxf1 Unicodxe8</pyxs:prop>
I know, the document structure seems to be a rigid one, but this structure allows the document validation, and allows a standard way to embed the document structure in other types of documents.