- Add custom parser for assertion facet (without position() and last()).
- Move parser initialization to XsdAssert.parse_xpath_test() because
all the components must be defined.
- Default and fixed values are inserted during the decode or
encode process
- Update tox.ini to include coverage and flake8 to environments
and an optional environment to build source and wheel packages
- The defusedxml seems to be unmaintained and has some problems
with the ElementTree loading
- Replaced by a safe XMLParser that forbids entities processing
- Updated and revised documentation
- Code cleaning (iter_encode and iter_decode args)
- to_json() and from_json() module functions
- New tests for module level API
- Modified CHANGELOG.rst
- Lookup functions rewritten and bound to global names for serialization
- Dependancy: elementpath minimal version now is 1.0.10
Defuse XML data:
- Added 'defuse' argument to XMLSchema class
- Remote XML data is defused for default
- Optionally one can disable defusing or force also
for local XML data
Bug #58:
- Added a file for test circular model detection
Integrating defusedxml:
- defusedxml.ElementTree API loaded in etree.py
- safe load with defusedxml only for network resources
- now parses also WSDL-SOAP original schema
xmlschema/schema.py module:
- more XSD compiliant imports and includes
- added 'locations' argument to schema class init
- improved schema location hints
- revised documentation with more autodoc
- schema class code cleaning
- schema class creation is now based on a metaclass
xmlschema/resources.py module:
- added iter_schema_location_hints
- fetch_schema code cleaned
- removed old functions for retrieving XSI attributes
xmlschema/exceptions.py module:
- added index and expected attributes to XMLSchemaChildrenValidationError
Updated docs using more autodocs
Added requirements-dev.txt