Commit Graph

729 Commits

Author SHA1 Message Date
Davide Brunato 75e547abe5 Start development of release v1.0.13 2019-06-19 17:05:41 +02:00
Davide Brunato ae85eda326 Merge branch 'develop' for updating to release v1.0.12 2019-06-19 15:38:55 +02:00
Davide Brunato 26ab90346b Fix test settings
- Limit memory tests to Python 3.7 (develop version)
  - Add a regression test for issue #64
  - Fix code formatting warnings
2019-06-19 15:34:49 +02:00
Davide Brunato 674f14c3ff Update docs and CHANGELOG.rst 2019-06-19 10:35:13 +02:00
Davide Brunato 0018e38d85 Add experimental full lazy validation
- Full lazy validation for XMLSchema.validate() and iter_errors(),
    passing lazy=True and no path.
2019-06-19 10:06:01 +02:00
Davide Brunato 6d9ce66f40 Add tests for memory usage to test_package.py
- Added memory_profiler to tox.ini deps
2019-06-18 17:26:57 +02:00
Davide Brunato 061d72c5c6 Update decode/encode methods for schemas
- Split decode()/encode() for components and for schemas
  - Removed to_dict and to_etree for XSD components
  - Updated fetch_schema_locations() to build XMLResource instance
2019-06-18 17:20:13 +02:00
Davide Brunato 5ba372e738 Unify memory checking scripts
- All memory checks put into script check_memory.py
2019-06-18 17:13:42 +02:00
Thomas Ruster 28e369ad6f Corrected fix of multi-character escapes. The real issue was that the implementation of \w and \W was inverted. 2019-06-17 10:41:52 +02:00
Davide Brunato 69405e662c Add info for building custom converters to docs (issue #109) 2019-06-14 09:07:05 +02:00
Davide Brunato 50c99f7b01 Fix issue #115
- Removed raise validation error statements for simpleType classes:
    with validation='strict' the errors are yielded and then raised at
    higher level (element/attribute) with XML instance information.
2019-06-13 16:48:51 +02:00
Davide Brunato 788135c4c5 Update document APIs
- Added arguments for building XMLResource from xml_document
2019-06-13 16:22:48 +02:00
Davide Brunato 346abfbdfa Add optional arguments to XMLSchemaConverters
- Added strip_namespaces, force_dict and force_list
2019-06-12 17:34:22 +02:00
Davide Brunato 9712319150 Fix issue #116 2019-06-12 09:21:37 +02:00
Davide Brunato 40f8bdad13 Implement preserve_root usage for default converter 2019-06-08 10:34:33 +02:00
Davide Brunato fe521dcaf4 Uniformating iter_decode/iter_encode arguments for XSD components
- Move optional argument 'converter' to keyword arguments
  - Adjust filler parameter usage in XsdAttributeGroup.iter_decode
2019-06-08 09:43:15 +02:00
Davide Brunato 318f5391ec Add optional arguments to XMLSchema.iter_decode()
- Added 'filler' callback function
  - Added 'fill_missing' boolean option
2019-06-07 19:41:19 +02:00
Thomas Ruster 760bc26f07 Regexp: Fix implementation of multi-character escapes. Upper-case and lower-case expressions (i.e. \w and \W) should match to different sequences. Tried to implement the behaviour according to https://www.w3.org/TR/xmlschema11-2/ G.4.2.5 (please check if implementation is correct!). For XSD 1.0, see https://www.w3.org/TR/xmlschema-2/. 2019-06-05 17:51:34 +02:00
Davide Brunato bed3888e5b Fix validator exceptions with lazy resource 2019-06-05 08:15:04 +02:00
Davide Brunato 5d04d7e68a Implementing lazy validation
- Added XMLResource.iterfind() for XPath iteration of a resource;
  - Validator API refactored: remove path argument from iter_errors()
    of components, add validate, is_valid, iter_errors to XMLSchema
    class with additional arguments path and schema_path.
  - Fix test case patterns.xml (now find also duplicated IDs)
2019-06-05 07:01:53 +02:00
Davide Brunato 3157a16475 Improve tests on XML resources
- Modify TestResources.test_remote_schemas_loading() to use examples
    from GitHub repository (more responsive)
  - Added xmlschema/tests/check_etree_memory.py to check ElementTree memory
    usage for a given file
2019-06-01 15:17:07 +02:00
Davide Brunato d21ac11dde Fix default values decoding as reported by issue #108
- 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
2019-05-31 09:29:41 +02:00
Davide Brunato 0e9a3cb4c0 Restrict elementpath exceptions usage to ElementPathError
- Use only the base exception, others are derivation also of
    built-in exceptions.
2019-05-29 06:53:55 +02:00
Davide Brunato 7fce51361e Fix issue #111
- Added a test case and a test method for this
  - Modified iter_components for XsdComplexType to also count the
    base type if it's a local declaration
  - Modified XsdGroup.iter_components() to yield also the redefined group
2019-05-29 06:47:40 +02:00
Davide Brunato 481a4822e7
Update LICENSE 2019-05-21 14:30:17 +02:00
Davide Brunato 3d4c5f3fab Fix issue #107 2019-05-13 11:57:23 +02:00
Davide Brunato 7045b01e4b Add a script for testing XSD and XML files directly 2019-05-13 08:55:10 +02:00
Davide Brunato 3d5c7ee110 Start next release development
- Update release to v1.0.12
  - Add XsdDefaultOpenContent subclass
  - Fix openContent parsing in complex types
2019-05-09 11:04:50 +02:00
Davide Brunato d0ddbc4d6d Merge branch 'develop' for updating to release v1.0.11 2019-05-05 15:26:41 +02:00
Davide Brunato 3f470927b8 Code cleaning and package dependencies update 2019-05-05 15:13:40 +02:00
Davide Brunato 149a1e454f Update documentation 2019-05-05 15:08:58 +02:00
Davide Brunato a2ec19b17f Merge branch 'master' of github.com:brunato/xmlschema into develop 2019-05-04 23:55:29 +02:00
Davide Brunato 1829adb4da Fix issue #103 adding finite_number_validator() to xs:decimal 2019-05-04 23:52:54 +02:00
Davide Brunato 376e20868f
Merge pull request #106 from danifus/dtfixes
Fix encoding datetime objects.
2019-05-04 23:51:55 +02:00
Davide Brunato b2302ee104 Add checks for multiple restriction case 2019-05-04 14:40:03 +02:00
Davide Brunato 001f47924f Clean import and include error handling 2019-05-03 23:04:51 +02:00
Daniel Hillier 633ac31891 Fix encoding datetime objects.
Add tests for doing a round trip decode / encode of the xsd date types
that differ between xsd version 1.0 and 1.1
2019-05-03 01:10:13 +10:00
Davide Brunato 9d984e3648 Change schema includes list to dictionary 2019-05-01 10:02:04 +02:00
Davide Brunato 22dbd7256c Add XsdList.is_derived() and XSD 1.0 invalid rule to choice restriction 2019-04-29 22:43:41 +02:00
Davide Brunato b36472bd6d Fix tests for a new release
- W3C test script cleaned
  - Fix attribute wildcard extension: new method extend_namespace()
  - Generate an error if schema has the attribute targetNamespace=''
  - Fix complexType redefinition checks
  - Fix UPA violation checking
2019-04-29 11:44:15 +02:00
Davide Brunato db18407ca2 Fix wildcards and models checks 2019-04-27 23:15:24 +02:00
Davide Brunato c4385f4559 Fixes for bad schemas checks 2019-04-27 19:41:26 +02:00
Davide Brunato eadf5ff6b0 Fix XML regex for invalid patterns
- Add invalid escape sequences \A, \Z, \z, \B, \b, \o
  - Fix unbalanced parenthesis for subpatterns
2019-04-26 11:39:22 +02:00
Davide Brunato 1e7129adef Merge branch 'master' of github.com:brunato/xmlschema into develop 2019-04-25 21:38:43 +02:00
Davide Brunato c20c9d82cf
Merge pull request #104 from Retsur/fix_backslash_escape
Fixed issue: backslashes were not properly escaped when creating pyth…
2019-04-25 20:50:25 +02:00
Davide Brunato 9e1e25d985 Complete model checking (restriction and determinism) 2019-04-24 19:40:38 +02:00
Davide Brunato 36fda82d10 Remove schema source error re-raising 2019-04-24 19:37:22 +02:00
Davide Brunato 393826bdab Modify MANIFEST.in to include also unicode_categories.json
- This optional JSON file, built by setup.py 'install' or 'develop'
    commands, is packaged but not included in the repo.
2019-04-24 19:26:53 +02:00
Davide Brunato dffbd407c9 Update test scripts 2019-04-17 19:32:54 +02:00
Davide Brunato 40ef9bfcd8 Add a test case for issue #105 (already fixed in develop) 2019-04-17 19:32:41 +02:00