- Validated data encoding to XML
- Improved converters with decoding/encoding of namespace information
- Added helper functions for encoding and decoding to JSON
- Added XMLResource class for managing access to XML data sources
- Added warnings for failed schema includes and namespace imports
- Schema serialization with pickle for Python 3 (enhancement related to issue #68)
- Data encoding with the default converter
- Improved decoding for xs:union
- First experimental version of data encoding with the default converter
- Fixes for issues #65, #66 and #67
- Extended the tests on lxml XML data
- Fixes for issues #61, #63 and #64
- Encoding of XSD builtin types (strings and numerical)
- Fix for issue #62
- Drop support for Python 3.3
- Add support for preventing XML attacks with the use of the defusedxml package (added defuse argument to schemas)
- Fix for group circularity (issue #58)
- Fix for billion laughs attacks using XSD groups expansion
- Added checks for model restrictions
- Removed XsdAnnotated class
- Added XsdType class as common class for XSD types
- Fixes for issues #55 and #56
- Added XPath 1.0/2.0 full parsing with the derived elementpath package
- Fixes for issues #52 and #54
- Test package improved (tox.ini, other checks with test_package.py)
- Fixes for issues #45, #46, #51
- Added kwargs to iter_decode(), dict_class and list_class arguments have been removed
- Added kwargs to converters initialization in order to push variable keyword arguments from iter_decode()
- Fixes 'final' derivation attribute for complexType
- Decoupling of the XPath module from XsdComponent API
- Fix for issue #41
- Substitution groups support
- Added fetch_schema_locations function to API
- Added locations argument to fetch_schema, validate and to_dict API functions
- A more useful __repr__ for XSD component classes
- Fixes for issues #35, #38, #39
- Fixed issue #34 (min_occurs == 0 check in XsdGroup.is_emptiable)
- Updated copyright information
- Updated schema class creation (now use a metaclass)
- Added index and expected attributes to XMLSchemaChildrenValidationError
- Added locations optional argument to XMLSchema class
- Key/Unique/Keyref constraints partially rewritten
- Fixed ad issue with UCS-2/4 and maxunicode
- UnicodeSubset class rewritten (more speed, less memory)
- Updated unicode_categories.json to Python 3.6 unicodedata
- Added XMLSchemaChildrenValidationError exception
- Some bug fixes
- Code cleaning
- XSD components modules has been merged with schema's modules into 'validators' subpackage
- Improved test scripts with a SchemaObserver class and test line arguments
- Full support for date and time XSD builtin types
- Added identity constraints
- Some bug fix
- Factories code moved to XsdComponent subclasses for simplify parsing and debugging
- All XSD components built from ElementTree elements with a lazy approach
- Implementation of the XSD validation modes ('strict'/'lax'/'skip') both for validating schemas and for validating/decoding XML files
- Defined an XsdBaseComponent class as the common base class for all XSD components, schemas and global maps
- Defined a ValidatorMixin for sharing a common API between validators/decoders classes
- Added built and validity checks for all XSD components
- Added converters for decode/encode data with different conventions
- Modifications on iter_decode() arguments in order to use converters
- Added notations and substitution groups
- Created a subpackage for XSD components
- Documentation extended and tested
- Improved tests for XPath, validation and decoding
- Added an XPath parser
- Added iterfind(), find() and findall() APIs for searching XSD element declarations using XPath