- Remove SafeXMLParserError and use ElementTree.ParseError
- PyElementTree safe APIs errors are re-raised as C mod ParseError
- Simplify ElementTree API and XMLResource class
- The issue was related to recursive complexType
- Added a test to XsdGroup.iter_components to skip iteration
of inherited items of an XsdComplexType instance
- XsdGroup.built refactored, adding also the same test added to
XsdGroup.iter_components
- Added namespaces argument to etree_tostring helper method.
- Refactored validator error string representation.
- Moved namespaces argument at last position for methods validate
and iter_errors of class ValidationMixin.
- Fixed document validate API and added tests for it
- Children validation errors use a dummy element for reproducing the
instance (more clear and better printable than JSON conventions)
- Fix for 'all' models visiting
- Rewritten etree_tostring() helper function for implementing the
reindentation of the serialized XML
- Added tests for models validation
- Now all errors include reference to XML resource and namespaces
- Added namespaces argument to iter_errors() and validate() methods
- Modified etree_iterpath to map namespaces and to add position
predicates for repeated tags
- Added namespaces, relative and add_position to etree_getpath
- XsdValidator._parse_error() renamed to parse_error
- ValidationMixin._validation_error() renamed to validation_error
- Added test for errors completeness
- This is a more safer test for Element objects for this package, because it
also checks that the argument is not an instance of ElementPathMixin class
- Add tests for fetch_schema_locations and load_xml_resource functions
- Now a warning message is sent to the logger for include or
for namespace import errors
- Add XMLSchemaImportWarning and XMLSchemaIncludeWarning
- Add warning attribute to schemas for collecting the message
strings about include and import warnings
- URIDict class removed (faulty with empty fragment #)
- Added --warning and --timeout to test factory arguments
- Removed --network from test factory arguments
- If instance element of an error has a sourceline attribute
display it on message.
- Fix XsdElement._validation_error() to fill with the instance
element if the error.elem is None.
- Related to residual emptiable content parsing of a top level
group of a sequence
- The patch code have to be moved to XsdGroup
- Added a case for the issue
Some refactoring to XsdComponent: target_namespace, namespace and maps
are trasformed to @property functions.
Update documentation for pass doctests.
- 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
- Added _validation_error() method to XsdComponent base class.
This method unifies all error checks and continue on the basis
of the validation mode value.
- Now validator's iter_decode(), iter_decode_children() and
iter_encode() methods raise at first error when strict validation
mode is selected.
- Fixed issues #28 and #29
- Code cleaning
- Created a "validators" subpackage that includes schemas, xsd global
maps and all the XSD components
- Added "prefixed_name" property to XsdComponent class