Commit Graph

62 Commits

Author SHA1 Message Date
Davide Brunato 249e555659 Improve content model encoding
- Update iter_collapsed_content() to perform a model conforming
    reordering.
2019-10-13 21:42:41 +02:00
Davide Brunato d89a597c82 Update documentation and fix PEP8 errors 2019-10-11 13:44:10 +02:00
Davide Brunato 7b5a2b9d6d Removed unmap_prefixed() from NamespaceMapper
- Added an optional name table to unmap_qname() for the lookup
    of local names
  - Fix lxml encoding tests in case of default namespace
2019-08-27 10:58:32 +02:00
Davide Brunato 1c0e18b648 Fix XSD 1.1 xs:all group restriction
- Added an additional fallback check for xs:choice groups in
    Xsd11Group.is_all_restriction()
  - Fixed tests for wildcards and updated the W3C test script with
    total counters displayed before run
2019-08-26 11:01:41 +02:00
Davide Brunato 9e58e99e01 Add XSD 1.1 support and XSD components API to documentation 2019-08-19 13:52:30 +02:00
Davide Brunato 3db78707b1 Complete openContent and defaultOpenContent parsing 2019-07-12 18:22:11 +02:00
Davide Brunato 7d20e8eff1 Add tests for meta-schema and add XMLSchema11 to package base
- Build meta-schema when is used for validation/decode/encode
    or the builtin-types() accessor is used
  - Add clear() method to XMLSchema base class
2019-06-27 10:48:25 +02:00
Davide Brunato 81849f2368 Fix path normalization and tests for Windows platform 2019-06-19 20:02:45 +02:00
Davide Brunato 674f14c3ff Update docs and CHANGELOG.rst 2019-06-19 10:35:13 +02:00
Davide Brunato 149a1e454f Update documentation 2019-05-05 15:08:58 +02:00
Davide Brunato d4207cd457 Fix the substitution groups build phase
- Select schema's substitution groups instead of the ones of the namespace
2019-03-15 10:26:51 +01:00
Davide Brunato 4dc7714a18 Update documentation and requirements 2019-02-25 14:44:28 +01:00
Davide Brunato 13a5f5371c Parse of XSD 1.1 targetNamespace of elements and attributes
- Added XsdComponent._parse_target_namespace()
2019-02-07 23:10:31 +01:00
Davide Brunato 49f2fb1246 Update for close the release v1.0.9
- Fix SafeXMLParser and add tests for it
  - SafeXMLParser raises only pure Python ParseError exception
  - Add three XML cases with entities in xmlschema/tests/test_cases/resources/
2019-02-03 17:17:26 +01:00
Davide Brunato 7137ee2cf0 Update MANIFEST.in and CHANGELOG.rst 2019-02-02 23:21:04 +01:00
Davide Brunato 5f10fe67a7 Code cleaning of test scripts
- Removed old code of xmlschema imports
  - Test header enriched with Python version and platform
2019-01-31 22:09:18 +01:00
Davide Brunato 074e42c9d1 Closing the release v1.0.8 2019-01-30 18:02:35 +01:00
Davide Brunato 2eabc190fe Replace defusedxml dependency
- The defusedxml seems to be unmaintained and has some problems
    with the ElementTree loading
  - Replaced by a safe XMLParser that forbids entities processing
2019-01-22 17:50:13 +01:00
Davide Brunato bae76af808 Improve tests for XSD datetime and duration types 2019-01-21 22:12:04 +01:00
Davide Brunato 4251afc21b Update changelog with v1.0.7 info 2018-11-15 12:38:15 +01:00
Davide Brunato c0e2bbdec5 Add assertion facet
- Added XsdAssertionsFacet: based on MutableSequence like XsdPatternsFacet
  - Fixed a typo in XsdPatternsFacet.__setitem__
  - Started development of release v1.0.7
2018-10-23 11:24:38 +02:00
Davide Brunato 9d393fbc81 Complete the tests for XSD 1.1 builtin types
- Update CHANGELOG.rst for releasing
2018-10-21 08:10:52 +02:00
Davide Brunato 35685c5964 Start development of release v1.0.6
- Added test slots for parse helper functions
2018-09-28 19:09:10 +02:00
Davide Brunato 2ccd91e9b6 Fix compare links in CHANGELOG.rst 2018-09-27 18:38:50 +02:00
Davide Brunato 33c8e881bb Protect simple types lookups and base type building
- Added check_namespace_prefixes() test helper to XMLSchemaTestCase
  - Added namespace ckecks to encoded trees and errors
  - Update CHANGELOG.rst
2018-09-27 18:26:26 +02:00
Davide Brunato 717d467bc5 Start release v1.0.5 and fix for issue #82 2018-09-25 17:52:44 +02:00
Davide Brunato eb55baf3bb modified: CHANGELOG.rst 2018-09-23 11:28:33 +02:00
Davide Brunato 191d7630de Update CHANGELOG and add tests for imports
- Tests for lazy import of defusedxml library for mitigate the issue #80
  - Added versioning links to CHANGELOG
  - Removed test_etree.py (tests added to test_package.py)
2018-09-22 23:25:59 +02:00
Davide Brunato 96cb4b57af Refactoring of error and to etree_tostring serialization
- 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
2018-08-27 15:43:19 +02:00
Davide Brunato 857ee59cbe Added new helper methods for validation errors generation 2018-08-11 13:09:12 +02:00
Davide Brunato 0d96f6a90c Set converter as positional argument of iter_decode and iter_encode 2018-08-09 23:01:36 +02:00
Davide Brunato 39275c4242 Simplyfied the building of dummy groups
- Added create_any_content_group and create_any_attribute_group
    to schema class
  - Removed old functions from builtins.py
2018-08-08 23:01:07 +02:00
Davide Brunato 175d3a1ab3 Extension of validator error classes done
- 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
2018-08-07 21:45:30 +02:00
Davide Brunato 07d6071db1 Remove intermediate class XsdDeclaration
- Restore old XSD class structure for emerged problems with Py34
    serialization of TEI schema
  - Started the development of release 1.0.3
2018-07-26 23:31:59 +02:00
Davide Brunato 0e95ddd568
Update CHANGELOG.rst 2018-07-26 18:02:21 +02:00
Davide Brunato 80c200f651 Add is_etree_element helper function
- 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
2018-07-13 22:40:35 +02:00
Davide Brunato 7d006d670d Update changelog with release dates and code cleaning 2018-06-27 16:29:59 +02:00
Davide Brunato a05abfe7ea Completion of the release 0.9.31
- Decoder tests completed for the default converter
2018-06-24 16:45:39 +02:00
Davide Brunato 1c41af022c Unify all decoder test scripts, update doc and changelog
modified:   CHANGELOG.rst
    modified:   doc/testing.rst
    modified:   xmlschema/tests/test_all.py
    renamed:    xmlschema/tests/test_decoding.py -> xmlschema/tests/test_decoder.py
    deleted:    xmlschema/tests/test_encoding.py
    modified:   xmlschema/tests/test_schemas.py
    deleted:    xmlschema/tests/test_validation.py
    modified:   xmlschema/validators/groups.py
    modified:   xmlschema/validators/simple_types.py
    modified:   xmlschema/validators/wildcards.py
2018-06-22 17:17:10 +02:00
Davide Brunato fb24068ebe Fix schema serialization and update version
- Modified CHANGELOG.rst
  - Lookup functions rewritten and bound to global names for serialization
  - Dependancy: elementpath minimal version now is 1.0.10
2018-06-15 18:39:52 +02:00
Davide Brunato 245ff9adb9 Improve encoding and encoding tests
- Added a method etree_elements_equal(elem, other, strict=True) on
    compare two element tree structures with some flexibility on text
    and tail (maybe needed also for attributes, but not now)
  - Fixed base_type selection in XsdAtomicRestriction.iter_encode()
2018-06-07 17:45:03 +02:00
Davide Brunato aeae152725 Extend lxml support on XML data
- Fix for issue #61
  - Extended the decoding tests also for lxml e-trees
  - Add a specific test full of comments (collection4.xml)
2018-06-03 10:07:34 +02:00
Davide Brunato 8da8ebd301 Update docstring of decode() and encode() methods of ValidatorMixin 2018-05-18 12:51:21 +02:00
Davide Brunato 3d84da310c Update documentation with new features 2018-05-08 06:57:49 +02:00
Davide Brunato e9dcdb3f1e Implement model restriction checks
Added methods:

  - ParticleMixin.is_restriction()
  - XsdGroup.is_restriction()
  - XsdGroup.iter_group()
  - XsdElement.is_restriction()
2018-04-10 11:10:48 +02:00
Davide Brunato c0a66696be Switch to release 0.9.25
- Fixed doctest error (relative wrong XPath path)
  - Added test for issue #56
  - Version updated
2018-04-05 14:02:04 +02:00
Davide Brunato 8c3d1043a9 Enable testing with tox, add tox to requirements-dev.txt 2018-04-03 23:23:59 +02:00
Davide Brunato 4903848a4b Fix for issues #52 and #54
- Add a test for #54 in test_schemas.py
2018-04-03 21:44:06 +02:00
Davide Brunato fa796d2dcf Complete xpath module substitution, improve testing
- With elementpath-1.0.4 pass all tests
  - Check version alignment with test_package.py
2018-03-27 19:47:56 +02:00
Davide Brunato fbeaa270de Update CHANGELOG 2018-03-10 09:17:28 +01:00