Davide Brunato
d89a597c82
Update documentation and fix PEP8 errors
2019-10-11 13:44:10 +02:00
Davide Brunato
75664150e6
Improve XPath bindings
...
- Extend ElementPathMixin with instance _xpath_parser
- Add xpath_tokens dictionary to schema objects
- Fix serialization removing xpath_tokens classes
2019-10-09 15:03:50 +02:00
Davide Brunato
b7b6fef418
Base modules refactoring for fix ElementTree import
2019-10-07 15:31:18 +02:00
Davide Brunato
8d56d128ca
Add XSD 1.1 inheritable check on XML instance validation
...
- Add substitutes to dynamic checks
2019-09-23 09:26:31 +02:00
Davide Brunato
a95dfe26fe
Add is_list() to XsdSimpleType and fix xs:QName length facets
2019-09-19 19:00:05 +02:00
Davide Brunato
0480e4bee8
Add is_override() to XsdComponent for XSD 1.1 schemas
...
- Change is_global() from property to function
2019-09-19 06:37:42 +02:00
Davide Brunato
e4d9941eb3
Fix wildcard restriction checking in case of notQName
2019-09-18 10:52:48 +02:00
Davide Brunato
7b696fbabb
Fix wildcard union and add tests for wildcard intersection
2019-09-18 09:41:01 +02:00
Davide Brunato
590c7e6c41
Add intersection() to XsdWildcard
...
- Renamed XsdWildcard.extend() to union()
2019-09-17 16:37:16 +02:00
Davide Brunato
07070ad714
Fix W3C instance tests
...
- Add iter_substitutes() to Xsd11Element to fix upa.xsd/upa2.xsd
tests with instances. Now for XsdElement the abstract substitutes
are simply ignored by iter_substitutes().
2019-09-11 18:43:13 +02:00
Davide Brunato
c530fda102
Fix openContent validation ad regex character group parsing
...
- Put interleave mode after model match for precedence
- Fix regex parsing of character group ending with '-'
- Fix complexType mixed content extension
2019-09-06 06:42:34 +02:00
Davide Brunato
4f5c819d0f
Fix XSD 1.1 wildcard matching
...
- Add option occurs to is_matching() method
- Create a custom match() method with additional option resolve
- Replace matched_element() with match(name, resolve=True)
2019-09-05 07:06:48 +02:00
Davide Brunato
33b6db54e9
Refactoring of ModelVisitor and Xsd11AnyElement
...
- Modify ModelVisitor for using XSD 1.1 xs:all groups
- Remove inverted list from _subgroups item
- Use occurs to store sum of xs:all items
- Add precedences to Xsd11AnyElement for managing cases of
overlapping wildcard (overlap with an adjacent element
that also matches an item).
2019-09-04 10:53:59 +02:00
Davide Brunato
f5afa915fc
Expand model tests with XMLSchema11 class
2019-08-31 07:22:44 +02:00
Davide Brunato
747036aad4
Fix for issue #127 and other W3C XML tests
...
- Added data_value() method to XsdElement and XsdAttribute()
- Rename identity constraints dictionaries to 'identities'
- Fix XSD 1.1 wilcards
2019-08-25 22:51:00 +02:00
Davide Brunato
6c47e49971
Fixing W3C XSD 1.1 schema tests
...
- Add XSD 1.1 skip list in W3C test script
- Regex: check unescaped double hyphens (--)
- Check model extension allowed types
2019-08-23 08:48:02 +02:00
Davide Brunato
b394c44933
Improve Element Declarations Consistent constraint checking
2019-08-20 22:17:19 +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
7a0dbf9afc
Fix other XSD 1.1 parsing errors for wilcards
2019-08-17 09:36:24 +02:00
Davide Brunato
7ef629e6c3
Add xs:all restriction checking for XSD 1.1
2019-08-12 18:23:43 +02:00
Davide Brunato
9f7b09be7a
Refactor XSD wilcards namespace parsing
...
- XsdWildcard.namespace transformed to a list
- Replace ##local with '' and ##targetNamespace with target_namespace
2019-08-11 11:01:51 +02:00
Davide Brunato
3ff9e8b010
Add openContent override to include notQName
...
- Replace list_builtins.xsd with xsd11-extra.xsd
2019-08-10 23:59:38 +02:00
Davide Brunato
f8ad4d975c
Code cleaning: remove get_xml_bool_attribute() helper function
2019-08-09 12:45:11 +02:00
Davide Brunato
52d1e1bb8e
Close XSD 1.1 development
...
- Still some W3C and local tests to be fixed
- Fix min/max facets derivation (decode with primitive type)
2019-08-05 17:57:34 +02:00
Davide Brunato
3d38e87d2e
Clean iter_decode and iter_encode arguments for XSD components
2019-08-02 16:19:55 +02:00
Davide Brunato
6e90de7b4c
Add Version Control namespace attributes
...
- Added xsd_version property to XSD components
- Add version_check() helper to XsdValidator base class
2019-07-31 14:19:02 +02:00
Davide Brunato
3d33424541
Refactor and clean reference and name attributes parsing
...
- Add an helper method _parse_reference()
- Removed ref property, replaced by attribute
2019-07-29 16:01:48 +02:00
Davide Brunato
035be87572
Complete XSD 1.1 wildcards (xs:any and xs:anyAttribute)
2019-07-23 16:02:17 +02:00
Davide Brunato
e26d20b770
Add restriction check for openContent
2019-07-19 18:54:19 +02:00
Davide Brunato
3db78707b1
Complete openContent and defaultOpenContent parsing
2019-07-12 18:22:11 +02:00
Davide Brunato
40d0207968
Clean element matching
...
- Added custom is_matching() and match() for XsdElement
- Removed custom match() for XsdAnyElement and XsdAnyAttribute
- Added matched_element() to XsdAnyElement
- Added matched_element() to XsdElement as match() alias
- Removed iter_elements() from XsdGroup (do not iter substitutes)
- Removed iter_subelement() from ModelGroup (use iter_elements)
- Clean converter code on some element_encode() implementations
2019-07-08 09:37:29 +02:00
Davide Brunato
281a426ec4
Code optimization on parse helpers
...
- Remove iter_xsd_components() and has_hsd_components() helpers
replaced by filter() and any() calls
2019-06-26 07:27:18 +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
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
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
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
36dbb1a904
Move and fix XsdType.is_derived()
...
- Method replaced by an abstract method and moved to XsdSimpleType
2019-04-15 18:49:42 +02:00
Davide Brunato
8f4eaaa46c
Fix model group checking
...
- Refactoring ParticleMixin hierarchy
2019-04-15 13:07:31 +02:00
Davide Brunato
7b77f6be14
Split XSD group validators from model
...
- Code cleaning and refactoring in order to complete model verifiers
2019-04-09 16:56:28 +02:00
Davide Brunato
64d21997a5
Additional fixes for checking invalid schemas
2019-03-31 09:35:50 +02:00
Davide Brunato
b221fa255f
Bugfix for attributes and attribute groups
2019-03-27 11:59:22 +01:00
Davide Brunato
b434721a93
Fix deterministic model cheching
2019-03-23 22:50:59 +01:00
Davide Brunato
f1427a3335
Fix complex restriction checking
...
- ParticleMixin.is_restriction() renamed to has_particle_restriction()
2019-03-22 18:17:57 +01:00
Davide Brunato
a8eebf3d15
Starting integration with W3C test suite
...
- Added a script for using W3C test suite with unittest
- Started with invalid schema tests
2019-03-01 09:33:06 +01:00
Davide Brunato
9d6b88baae
Change copyright years info
2019-01-20 16:56:10 +01:00
Davide Brunato
aebbe296c2
Fix for issue #93
2018-12-24 23:27:02 +01:00
Davide Brunato
bd90cacc7a
QNames refactoring
...
- Moved all QNames to the same module
- Create module helpers.py that includes XSD parse utils and name
manipulation helper functions
2018-10-08 23:47:18 +02:00
Davide Brunato
c790838d13
Move XSD builtin QNames to qnames.py module
2018-10-08 15:32:50 +02:00
Davide Brunato
79fdea9a55
Code cleaning: removed get_xml_attribute helper function
2018-10-05 07:15:25 +02:00