Pyxb

Latest version: v1.2.6

Safety actively analyzes 613568 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

1.2.6

-------------------

This is a roll-up aggregating all fixes since the last major release one year
ago. Release testing has been performed with Python 2.7.12, 3.4.7, 3.5.4, and
3.6.2.

Behavioral changes:

- Overriding the DOM implementation via `PYXB_XML_STYLE` is deprecated. See
:issue:`87`.

The following reported `defects/enhancements
<https://github.net/pabigot/pyxb/issues/>`_ have been addressed:

- Examples were not in the test suite. :issue:`61`
- Disallow setting an empty namespace prefix. :issue:`66`
- Support unicode identifiers under Python 3. :issue:`67`
- Do not use default value when constructing empty scalar values. :issue:`71`
- Defer validation when type is not yet available. :issue:`72`
- Correct validation of fixed values from XML. :issue:`73`
- Remove GPL code from PyXB. :issue:`77`
- Fix identification of restricted complex type. :issue:`78`
- Discard schema elements that cannot produce content. :issue:`79`
- Demonstrate use of overriding built-in bindings so XHTML model groups can be
referenced. :issue:`81`

1.2.5

This is a roll-up aggregating all fixes since the last major release nearly
two years ago.

The following reported `defects/enhancements
<https://github.net/pabigot/pyxb/issues/>`_ have been addressed:

- Deconflict class properties from module identifiers. :issue:`27`
- Correct handling of `xsi:type <http://www.w3.org/TR/xmlschema-1/xsi_type>`_
on non-abstract types. :issue:`32`
- Fix generation of zero-span durations. :issue:`38`
- Document how to use file URIs on Windows. :issue:`34`
- Document need for common bindings when generating OpenGIS bindings.
:issue:`28`
- Fix literal representation of not-a-number and infinite values. :issue:`43`
- Document that Python 3 is supported. :issue:`36`
- Fix processing of empty binary data tpyes. :issue:`51`
- Fix transition sort key to support Python 3. :issue:`52`
- Fix generation of modules that cannot be imported due to use of invalid
characters in the module path. :issue:`48`
- Add a method to xsd.base64Binary to allow a heavy-weight validation step to
be bypassed. :issue:`50`

1.2.4

The major feature of this release is a new approach to Python 3 support based
on the `six <https://pypi.python.org/pypi/six/>`_ module. This resolves
:ticket:`support for Python 3 <150>` and allows one release of PyXB to support
Python versions from 2.6 through 3.4, excluding 3.0. The ``maintainer/2to3``
script used in PyXB 1.2.3 is no longer supported. Both the core
implementation and the bindings are compatible with Python 2 and 3.

A second important feature was correct handling of QName by changing the
binding representation from a string to an expanded name that saves the
namespace URI rather than the prefix from the original document.

Finally, with this release primary development and support moves from
SourceForge to `Github <https://github.com/pabigot/pyxb>`_. Inter-release
updates will be made first on github (on the `next
<https://github.com/pabigot/pyxb/tree/next>`_ branch), and pushed to the
SourceForge git repository aperiodically.

Other miscellanous changes:

- Correct rich comparisons for _PluralBinding instances. :ticket:`218`
- Prevent adding non-element content as wildcard elements. :ticket:`219`
- Provide public API to _CF_enumeration helper methods. :ticket:`221`
- Specify requirements for an acceptable DOM implementation. :ticket:`224`
- Rebase xs:decimal on Python decimal.Decimal to provide high precision
support. :ticket:`91`
- Support Python 3. :ticket:`150`
- Fix mis-ordered attribute groups use/resolution issue. :ticket:`230`
- Generate facet values that are valid Python expressions. :ticket:`231`
- Improve validation failure location for simple values. :ticket:`232`
- Disallow name attribute in internal complex types. :issue:`6`
- Avoid unbounded non-deterministic expansion. :issue:`5`
- Reduce namespace intrusion with enumeration types. :issue:`9`
- Add API to replace simple content complex type values. :issue:`7`
- Fix representation and use of QNames. :issue:`13`
- Fix generation of wildcard attributes. :issue:`14`
- Fix validation of wildcard types in DOM instances. :issue:`15`
- Reference github for bug reports. :issue:`16`:
- Eliminate a gratuitous log warning on a validation failure. :issue:`17`
- Eliminate improper assertion on extension binding use of imported bindings.
:issue:`18`
- Support serialization of anonymous namespaces to allow Python copy.deepcopy
module to work on binding instances. :issue:`19`
- Generate bindings that are compatible with both Python 2 and Python 3.
:issue:`22`

1.2.3

This is primarily a bug-fix and clean-up release. One new feature is that
starting with this release a Python 3 compatible version of PyXB will be
available in the git repository. For this version, it may be obtained by::

git clone -b python3/pyxb-1.2.3 git://git.code.sf.net/p/pyxb/code pyxb3-1.2.3

The Python 3 code in this branch is created by automatic conversion of the
Python 2 code using the maintainer/2to3 script. While not officially
supported until PyXB 1.3.0, Python 3 appears to work correctly with this
version.

Behavioral changes:

- PyXB 1.2.1 automatically filled in the content of fixed elements. This
generated invalid documents when the particular element should have been
absent for some content. The feature has been removed so fixed elements
initialize to absent just like every other element.

- The former `--pre-load-archives` option to pyxbgen has been removed and
replaced by :ref:`pyxbgen--import-augmentable-namespace` which has more
consistent semantics. Schema import directives related to a non-augmentable
namespace (one for which the referenced option has not been provided) will
be ignored if content for the namespace can be located in any archive or
builtin.

- Generating DOM (or XML) expressions of bindings that were created by type
constructors and not associated with elements now cause an exception to be
raised rather than mis-using the type name as though it were a valid element
tag.

Code cleanup:

- Trailing whitespace throughout the source has been removed to decrease git
complaints and non-reproducible patches.
- Several coding practices that would not work under Python3 have been
replaced with new solutions.

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- Fix DOM style handling of xsi:type attribute. :ticket:`166`
- Fix problems with nillable simple types. :ticket:`200`
- Fix problems inserting into plural element attributes. :ticket:`201`
- Correct namespace-qualified attributes. :ticket:`202`
- Eliminate automatic derivation of XML element tag from binding type when
converting an element-free instance to DOM. :ticket:`203`
- Eliminate default to fixed value for elements. :ticket:`204`
- Re-word exception when element content was incompatible with fixed value.
:ticket:`205`
- Fix the aslocal() method for xs:dateTime values with non-UTC timezones.
:ticket:`206`
- Fix values for restricted duration ranges in pickled data such as namespace
archives. :ticket:`207`
- Correct the interpretation of QName-valued base and similar attributes with
respect to in-scope namespace declarations. :ticket:`208`
- Rework how to specify that imported namespaces should be processed to extend
the content model. :ticket:`209`
- Removed redundant code in pyxbgen relevant to
:ref:`pyxbgen--wsdl-location`. :ticket:`210`
- Refine diagnostics when an element with simple type appears in a context
that expects non-element content. :ticket:`211`
- Add :py:obj:`pyxb.NonElementContent` to simplify access to non-element content
in a mixed-content instance. :ticket:`212`
- Convert assert failures to diagnostic exceptions when generating DOM
expressions of complex types with simple content where the content is
missing. :ticket:`213`
- Ensure attribute values are converted from lexical space to value space when
assigned from an XML representation. :ticket:`216`

1.2.2

Almost all changes are bug fixes, including issues with element order when
extending types, name conflicts between XML and Python entities in the
binding, and unicode problems in diagnostics.

PyXB has never intentionally supported using bindings generated by different
versions of PyXB. This will be enforced from version 1.2.2 onwards.

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- Correct management of changes to default namespace within documents. :ticket:`183`
- Do not interleave base and extension type elements. :ticket:`184`
- Incorrect character range management resulted in regex failure. :ticket:`186`
- Wide unicode mis-defines XML1p0e2 Char class. :ticket:`187`
- Improve contents of StructuralBadDocumentError. :ticket:`189`
- Generate exception details correctly with unicode content. :ticket:`190`
- Namespace must be a reserved symbol within CTD instances.
- PyXB rejects restriction that changes element type. :ticket:`193`
- Multiple cases where names (from imported bindings, namespaces, and
top-level classes and elements) resulted in conflicts with other top-level
and class-level names. :ticket:`191`, :ticket:`194`, :ticket:`197`
- Avoid validating content of simple types marked with xsi:nil. :ticket:`195`
- Validate handling of attribute and element form attributes. :ticket:`196`
- Ensure all referenced namespaces are imported into a binding. :ticket:`198`
- Detect import of bindings generated by a different version of PyXB. :ticket:`199`

1.2.1

.. warning::

This release has an interface change: the :py:obj:`content
<pyxb.binding.basis.complexTypeDefinition.content>` method on complex types
is now deprecated in favor of the :py:obj:`orderedContent
<pyxb.binding.basis.complexTypeDefinition.orderedContent>` method. The
members in the new list have wrapper classes to correctly associate
instance bindings with the element declaration and to distinguish instances
with string values from non-element character data. The old method is
supported for this release, but will produce a warning when used, and is
likely to be removed in the next release.

Key features of the release:

- Full support for mixed content schema through a new method
:py:obj:`orderedContent <pyxb.binding.basis.complexTypeDefinition.orderedContent>` on complex
binding instances and flags that control when that list affects document
generation. See :ref:`mixed_content`. This is particularly relevant to
XHTML.

- Immediate validation of values assigned to plural elements.

- A first step to providing finer control of validation, using
:py:obj:`pyxb.ValidationConfig`

The following reported `defects/enhancements
<http://sourceforge.net/p/pyxb/tickets/>`_ have been addressed:

- Validate :ref:`pyxb.BIND<pyxb_BIND>` at point of use. :ticket:`69`
- Issues with renamed element (most of which were mis-use of pyxb.BIND). :ticket:`71`
- Support for default and fixed values in elements. :ticket:`99`
- Support for mixed content. :ticket:`153`, :ticket:`154`
- Provide an example based on a `help-forum thread
<http://sourceforge.net/projects/pyxb/forums/forum/956708/topic/5422611/>`_
to show how to take advantage of PyXB 1.2.x improved diagnostics.
:ticket:`158`
- Improve interpretation of Python native type values when used in element
constructors. :ticket:`175`
- Add :ref:`ECMA-376 (Office Open XML)<bundle_ecma376>` as an optional bundle.
:ticket:`178`
- Fix invalid error when an all model group had minOccurs=0. :ticket:`179`
- Add :ref:`Dublin Core<bundle_dc>` to the standard bundles. :ticket:`180`
- Allow control of element order in generated documents. :ticket:`181`
- Include wildcard elements in content. :ticket:`182`

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.