Commit Graph

38 Commits

Author SHA1 Message Date
Davide Brunato b7b6fef418 Base modules refactoring for fix ElementTree import 2019-10-07 15:31:18 +02:00
Davide Brunato 7a0dbf9afc Fix other XSD 1.1 parsing errors for wilcards 2019-08-17 09:36:24 +02:00
Davide Brunato f2a30baf32 Fix XSD 1.1 bugs with W3C XML Schema suite 2019-08-01 17:16:12 +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
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 85cdd364ad Fix facets for XSD builtin types
- Added facets to numerical XSD builtins but keep validator functions
  - More checks on min/max value facets
  - Removed HFP namespace from base schemas (used only for meta-schema wildcars)
2019-03-28 07:26:36 +01:00
Davide Brunato 9cf8e25a36 Fix hexBinary and base64Binary validators ('' is a valid value) 2019-03-11 11:42:51 +01:00
Davide Brunato 1ae3ebd131 Remove sample value from XSD primitive builtin types
- No more necessary, now provided by elementpath v1.1.4+.
2019-02-25 13:47:10 +01:00
Davide Brunato 9cc61e8788 Rewrite assertions implementation 2019-02-22 22:50:05 +01:00
Davide Brunato d746e4918a Clean and improve facets usage
- Removed FACETS, LIST_FACETS, UNION_FACETS from schema classes
  - Added admitted_facets argument to XsdAtomicBuiltin class
2019-02-11 17:15:17 +01:00
Davide Brunato bae76af808 Improve tests for XSD datetime and duration types 2019-01-21 22:12:04 +01:00
Davide Brunato b8b31f95ca Remove old XSD datetime types validators
- Add test subclass TestDecoding11
  - Remove unused regex patterns related to datetime types
2019-01-20 22:59:23 +01:00
Davide Brunato b08139ea67 Update requirements and spilt XSD 1.0 and 1.1 built-in types
- requires elementpath >= 1.1.1
   - eg. XSD 1.0 dates use Date10 that not allows year 0000
2019-01-20 18:14:06 +01:00
Davide Brunato 9d6b88baae Change copyright years info 2019-01-20 16:56:10 +01:00
Davide Brunato 768a2074bd Fix atomic builtin type checking in iter_decode and iter_encode
- Fix XsdExplicitTimezoneFacet validators (x argument is not a string
    but an date/time instance of an AbstractDateTime subclass)
2019-01-03 16:08:31 +01:00
Davide Brunato e61c826d4e Add XSD datatypes for durations and date/time
- datatypes imported from elementpath 1.1
2019-01-01 16:52:54 +01:00
Davide Brunato 6f90effc53 Fix xs:short and xs:unsignedShort validators 2018-11-15 10:54:11 +01:00
Davide Brunato 34c3f8a326 Added a base schema for creating XSD 1.1 list builtin types
- Set different BASE_SCHEMAS for XMLSchema10 and XMLSchema11
  - XMLSchemaMeta now uses include for XSD namespace base schemas
2018-10-30 18:15:23 +01:00
Davide Brunato 9a3329dfbe Fix builtin types for XSD 1.1
- Added dayTimeDuration and yearMonthDuration
  - Split XSD 1.0 and XSD 1.1 builtins and tests
2018-10-20 16:31:55 +02:00
Davide Brunato 3c7e4d2577 Fix for issue #85 2018-10-18 19:05:29 +02:00
Davide Brunato 7866437f8e Add XSD 1.1 builtin types 2018-10-10 07:17:48 +02: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 ad5e4debb6 Add re.compile patterns to parseutils internal API
- RE_ISO_TIMEZONE changed to accept only [-14:00, 14:00]
  - Added XsdExplicitTimezoneFacet
2018-10-07 09:49:02 +02:00
Davide Brunato 16b0b61a20 Code refactoring for XsdSingleFacet
- Created a class for each facet type
  - Use of _parse method instead of init
2018-10-04 15:55:55 +02:00
Davide Brunato a34033ee2f Improve matching and use unicode_literals
- Added names attribute for XSD declarations
2018-09-15 22:18:16 +02:00
Davide Brunato 876622e9e9 Added XMLSchema11 class for development 2018-08-09 07:10:39 +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 ea16244f4d Add 'parent' attribute to XsdComponent classes
- Attribute 'is_global' turned to a property
  - XSD builtins creation rewritten and simplyfied
2018-08-08 17:23:20 +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 02e4c7aa20 Fix for issue #67 (union restriction admitted facets)
- Fixed UNION_FACETS to {pattern, enumeration, assertion}
  - Added a test file (cases/features/model/recursive-groups.xsd)
  - Added a test for issue #67
2018-06-07 07:10:05 +02:00
Davide Brunato abba56e210 Update testing.rst with testing commands 2018-06-04 15:50:35 +02:00
Davide Brunato 0a0fadf07a Fix base64Binary facets
- Issue #63 continuation for base64Binary length
  - Add reason strings to facet's validators
  - Improving decoding tests for base64Binary data
2018-06-04 13:12:01 +02:00
Davide Brunato 449736da37 Fix an issue for builtins encoding and remove py33 from tox.ini
- Added instance_types attribute to XsdAtomicBuiltin: this stores
    the admitted types for an instance, that are used for encode checks.
    If the argument python_type is a tuple the constructor sets
    self.instance_types with the tuple and self.python_type with the
    first item of python_type.
  - Drop support for Python 3.3
2018-05-18 11:28:03 +02:00
Davide Brunato 7f5ed286f3 New __repr__ for XsdComponent classes and for NamespaceView class 2018-01-21 12:13:44 +01:00
Davide Brunato 43d0c77eee Fixed bug #34, updated copyright information. 2018-01-08 09:15:09 +01:00
Davide Brunato 094caa146e Some refactoring and bug fixes.
- 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
2017-12-15 15:56:07 +01:00