Skip to content

Commit ff8cf3a

Browse files
feat: update python-xmlschema to 3.4.5-1
1 parent b5b1823 commit ff8cf3a

File tree

255 files changed

+27586
-7439
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+27586
-7439
lines changed

.coveragerc

Lines changed: 0 additions & 13 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ build/
1818
development/
1919
test_cases/
2020
!tests/test_cases/
21+
!tests/test_cases/serialization/*.json

.readthedocs.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1+
version: 2
2+
13
build:
2-
image: latest
4+
os: "ubuntu-22.04"
5+
tools:
6+
python: "3.12"
7+
8+
formats:
9+
- pdf
10+
11+
sphinx:
12+
configuration: doc/conf.py
313

414
python:
5-
version: 3.7
6-
pip_install: true
7-
extra_requirements:
8-
- docs
15+
install:
16+
- requirements: doc/requirements.txt

CHANGELOG.rst

Lines changed: 228 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,200 @@
22
CHANGELOG
33
*********
44

5-
`v1.10.0`_ (2022-03-07)
5+
`v3.4.5`_ (2025-03-22)
6+
======================
7+
* Fix xs:all groups occurs check (issue #437)
8+
9+
`v3.4.4`_ (2025-03-18)
10+
======================
11+
* Migrate project metadata to pyproject.toml (PR #436)
12+
* Fix static typing errors with mypy==1.15.0 and elementpath==4.8.0
13+
14+
`v3.4.3`_ (2024-10-31)
15+
======================
16+
* Fix incorrect validation error for substitution group with abstract head (issue #417)
17+
* Refactor XSD identities processing using also typed XPath 2.0+ for getting values (issue #418)
18+
* Clean tag retrieval during encode for some converter types (Abdera, BadgerFish and GData)
19+
20+
`v3.4.2`_ (2024-09-17)
21+
======================
22+
* Fix other failing URL normalization tests
23+
* Avoid the use of sys.version_info for checking results, better to extend the check to more values.
24+
25+
`v3.4.1`_ (2024-09-12)
26+
======================
27+
* Fix failing URL normalization tests (issue #416)
28+
* Disable protocols checking with elementpath v4.5.0
29+
30+
`v3.4.0`_ (2024-09-10)
31+
======================
32+
* Extended ModelVisitor to make it usable as an helper class for generating content
33+
(issues #405 and #408)
34+
35+
`v3.3.2`_ (2024-07-29)
36+
======================
37+
* Fix UNC path tests (issues #405 and #408)
38+
39+
`v3.3.1`_ (2024-04-27)
40+
======================
41+
* Update validation errors with logging stacktrace in debug mode
42+
* Improve locations parsing and URL encoding
43+
44+
`v3.3.0`_ (2024-04-17)
45+
======================
46+
* Rewrite the validation of openContent using InterleavedModelVisitor and SuffixedModelVisitor
47+
* Fix validation of XSD 1.1 'all' nested models
48+
49+
`v3.2.1`_ (2024-04-07)
50+
======================
51+
* Improve ModelVisitor and particle occurs checking
52+
* Fix interleave mode with XSD 1.1 open content (issue #397)
53+
* Fix for export/download of XSD sources with commented-out imports/include (issue #387)
54+
55+
`v3.2.0`_ (2024-03-25)
56+
======================
57+
* Add *download_schemas()* to package API (#387)
58+
* Fix issue with facets on list types (#396)
59+
60+
`v3.1.0`_ (2024-03-13)
61+
======================
62+
* Add GData converter (issue #388/PR #391)
63+
* Fix typing protocols usage
64+
* Extend XSD annotations parsing (issue #366)
65+
66+
`v3.0.2`_ (2024-02-18)
67+
======================
68+
* Use XPath subtree as fragment for xs:assert (issue #386)
69+
* Fix in XMLSchemaProxy definition and usage for providing
70+
a base-uri to schema nodes (issue #379)
71+
* Module xpath.py splitted to a subpackage for including all the
72+
custom XPath 1.0/2.0 parsers and related classes to XPath
73+
* Add support for Python 3.13 (pre-releases)
74+
75+
`v3.0.1`_ (2024-01-09)
76+
======================
77+
* Hotfix release for broken requirement
78+
* Set python-requires metadata to >=3.8 (pull request #382)
79+
* Upgrade GitHub Actions (pull request #381)
80+
81+
`v3.0.0`_ (2024-01-07)
82+
======================
83+
* XML declaration processing option *xmlns_processing* for converters
84+
* Decode/validate from XML document with dynamic schema load
85+
* XMLResource enhancement for a better XML resources processing
86+
* Improve lazy resources iteration removing preceding elements (*thin_mode* option)
87+
* Drop support for Python 3.7
88+
89+
`v2.5.1`_ (2023-12-19)
90+
======================
91+
* Fix slowness of key selectors introduced by v2.5.0 (issue #378)
92+
* Remove redundant wheel dep from pyproject.toml and unnecessary build deps from tox.ini (PR #368)
93+
94+
`v2.5.0`_ (2023-09-21)
95+
======================
96+
* Fix identity keys tracking with additional full XPath checks on XML data
97+
* Rewrite schema exports using relative paths
98+
99+
`v2.4.0`_ (2023-07-27)
100+
======================
101+
* Improve schema export using XSD source encoding
102+
* Add XML signature and encryption to local fallback schemas (issue #357)
103+
104+
`v2.3.1`_ (2023-06-14)
105+
======================
106+
* Meta-schema elements and groups ignore xsi:type attributes (issue #350)
107+
* Use the meta-schemas only for validating XSD sources otherwise create dummy schemas
108+
109+
`v2.3.0`_ (2023-05-18)
110+
======================
111+
* Improve sequence/all restriction checks for XSD 1.1
112+
* Add *schema* argument to `Wsdl11Document`
113+
114+
`v2.2.3`_ (2023-04-14)
115+
======================
116+
* Add support for Python 3.12
117+
* Detach content iteration methods from ModelVisitor
118+
119+
`v2.2.2`_ (2023-03-05)
120+
======================
121+
* Fix mixed content extension with empty content (issue #337)
122+
* Fix lru_cache() usage on global maps caching
123+
124+
`v2.2.1`_ (2023-02-11)
125+
======================
126+
* Fix mixed content extension without explicit mixed attribute (issue #334)
127+
128+
`v2.2.0`_ (2023-02-06)
129+
======================
130+
* Refine string serialization of XML resources and data elements
131+
* Switch to use elementpath v4
132+
* Fix sequence_type property for XSD types
133+
* Remove *XsdElement.get_attribute()*: unused and doesn't work as expected
134+
135+
`v2.1.1`_ (2022-10-01)
136+
======================
137+
* Fix *schema_path* usage in `XMLSchemaBase.iter_errors()`
138+
* Add *allow_empty* option to `XMLSchemaBase` validation API
139+
140+
`v2.1.0`_ (2022-09-25)
141+
======================
142+
* Add *to_etree()* to document API
143+
* Improve generic encoding with wildcards
144+
* Clean document API and schema decoding
145+
146+
`v2.0.4`_ (2022-09-08)
147+
======================
148+
* Add *use_location_hints* argument to document API for giving the option
149+
of ignoring XSI schema locations hints
150+
* Fix import from locations hints with namespace mismatch (issue #324)
151+
152+
`v2.0.3`_ (2022-08-25)
153+
======================
154+
* Add *keep_empty* and *element_hook* options to main `iter_decode()` method
155+
* Fix default namespace mapping in `BadgerFishConverter`
156+
* Fix type restriction check if restricted particle has `maxOccurs==0` (issue #323)
157+
158+
`v2.0.2`_ (2022-08-12)
159+
======================
160+
* Fix XSD 1.1 assertions effective scope
161+
* Add support for Python 3.11
162+
163+
`v2.0.1`_ (2022-07-21)
6164
======================
165+
* Remove warnings during the build of the package using package_data specs in setup.py
166+
* Fix decoding with `process_namespaces=False` and xsi:type in XML instance
167+
* Refactor `DataElement.get()`, restore `DataElement.set()` (issue #314)
168+
* Add *map_attribute_names* argument to `DataElementConverter`
169+
170+
`v2.0.0`_ (2022-07-18)
171+
======================
172+
* Refactor XPath interface for the full XPath node implementation of elementpath v3.0
173+
* Fix BadgerFishConverter with mixed content (issue #315)
174+
* Improve `get()` and `set()` of DataElement (issue #314)
175+
176+
`v1.11.3`_ (2022-06-24)
177+
=======================
178+
* Fix invalid element not detected with empty particle (issue #306)
179+
* Fix Sphinx warnings (issue #305)
180+
181+
`v1.11.2`_ (2022-06-11)
182+
=======================
183+
* Fix 'replace_existing' argument usage in `XsdElement.get_binding` method (issue #300)
184+
* Add Russian full translation (from PR #303 and #304)
185+
186+
`v1.11.1`_ (2022-05-22)
187+
=======================
188+
* Protect converter calls in iter_decode()/iter_encode()
189+
* Extend XSD type matching for code generators (fallback to schema types with a local name)
190+
191+
`v1.11.0`_ (2022-05-14)
192+
=======================
193+
* Add localization for validation related error messages
194+
* Add Italian translation
195+
* Add Russian partial translation (from PR #293)
196+
197+
`v1.10.0`_ (2022-03-07)
198+
=======================
7199
* Add 'nonlocal' option to *defuse* argument of `XMLResource` (also for schema classes)
8200
* Add 'none' option to *allow* argument of `XMLResource`
9201
* Fix too strict parsing on XSD annotations (issue #287)
@@ -518,3 +710,38 @@ v0.9.6 (2017-05-05)
518710
.. _v1.9.1: https://github.com/brunato/xmlschema/compare/v1.9.0...v1.9.1
519711
.. _v1.9.2: https://github.com/brunato/xmlschema/compare/v1.9.1...v1.9.2
520712
.. _v1.10.0: https://github.com/brunato/xmlschema/compare/v1.9.2...v1.10.0
713+
.. _v1.11.0: https://github.com/brunato/xmlschema/compare/v1.10.0...v1.11.0
714+
.. _v1.11.1: https://github.com/brunato/xmlschema/compare/v1.11.0...v1.11.1
715+
.. _v1.11.2: https://github.com/brunato/xmlschema/compare/v1.11.1...v1.11.2
716+
.. _v1.11.3: https://github.com/brunato/xmlschema/compare/v1.11.2...v1.11.3
717+
.. _v2.0.0: https://github.com/brunato/xmlschema/compare/v1.11.3...v2.0.0
718+
.. _v2.0.1: https://github.com/brunato/xmlschema/compare/v2.0.0...v2.0.1
719+
.. _v2.0.2: https://github.com/brunato/xmlschema/compare/v2.0.1...v2.0.2
720+
.. _v2.0.3: https://github.com/brunato/xmlschema/compare/v2.0.2...v2.0.3
721+
.. _v2.0.4: https://github.com/brunato/xmlschema/compare/v2.0.3...v2.0.4
722+
.. _v2.1.0: https://github.com/brunato/xmlschema/compare/v2.0.4...v2.1.0
723+
.. _v2.1.1: https://github.com/brunato/xmlschema/compare/v2.1.0...v2.1.1
724+
.. _v2.2.0: https://github.com/brunato/xmlschema/compare/v2.1.1...v2.2.0
725+
.. _v2.2.1: https://github.com/brunato/xmlschema/compare/v2.2.0...v2.2.1
726+
.. _v2.2.2: https://github.com/brunato/xmlschema/compare/v2.2.1...v2.2.2
727+
.. _v2.2.3: https://github.com/brunato/xmlschema/compare/v2.2.2...v2.2.3
728+
.. _v2.3.0: https://github.com/brunato/xmlschema/compare/v2.2.3...v2.3.0
729+
.. _v2.3.1: https://github.com/brunato/xmlschema/compare/v2.3.0...v2.3.1
730+
.. _v2.4.0: https://github.com/brunato/xmlschema/compare/v2.3.1...v2.4.0
731+
.. _v2.5.0: https://github.com/brunato/xmlschema/compare/v2.4.0...v2.5.0
732+
.. _v2.5.1: https://github.com/brunato/xmlschema/compare/v2.5.0...v2.5.1
733+
.. _v3.0.0: https://github.com/brunato/xmlschema/compare/v2.5.1...v3.0.0
734+
.. _v3.0.1: https://github.com/brunato/xmlschema/compare/v3.0.0...v3.0.1
735+
.. _v3.0.2: https://github.com/brunato/xmlschema/compare/v3.0.1...v3.0.2
736+
.. _v3.1.0: https://github.com/brunato/xmlschema/compare/v3.0.2...v3.1.0
737+
.. _v3.2.0: https://github.com/brunato/xmlschema/compare/v3.1.0...v3.2.0
738+
.. _v3.2.1: https://github.com/brunato/xmlschema/compare/v3.2.0...v3.2.1
739+
.. _v3.3.0: https://github.com/brunato/xmlschema/compare/v3.2.1...v3.3.0
740+
.. _v3.3.1: https://github.com/brunato/xmlschema/compare/v3.3.0...v3.3.1
741+
.. _v3.3.2: https://github.com/brunato/xmlschema/compare/v3.3.1...v3.3.2
742+
.. _v3.4.0: https://github.com/brunato/xmlschema/compare/v3.3.2...v3.4.0
743+
.. _v3.4.1: https://github.com/brunato/xmlschema/compare/v3.4.0...v3.4.1
744+
.. _v3.4.2: https://github.com/brunato/xmlschema/compare/v3.4.1...v3.4.2
745+
.. _v3.4.3: https://github.com/brunato/xmlschema/compare/v3.4.2...v3.4.3
746+
.. _v3.4.4: https://github.com/brunato/xmlschema/compare/v3.4.3...v3.4.4
747+
.. _v3.4.5: https://github.com/brunato/xmlschema/compare/v3.4.4...v3.4.5

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c), 2016-2020, SISSA (Scuola Internazionale Superiore di Studi Avanzati)
3+
Copyright (c), 2016-2024, SISSA (Scuola Internazionale Superiore di Studi Avanzati)
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

MANIFEST.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ include MANIFEST.in
22
include LICENSE
33
include README.rst
44
include CHANGELOG.rst
5-
include setup.py
6-
include setup.cfg
75
include requirements-dev.txt
86
include tox.ini
97
include doc/*
108

119
recursive-include xmlschema *
10+
recursive-include scripts *
1211
recursive-include tests *
12+
recursive-exclude tests/.mypy_cache *
1313

14+
exclude xmlschema/locale/xmlschema.pot
1415
global-exclude *.py[cod]

README.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ xmlschema
1313
:target: https://lbesson.mit-license.org/
1414
.. image:: https://img.shields.io/pypi/dm/xmlschema.svg
1515
:target: https://pypi.python.org/pypi/xmlschema/
16-
.. image:: https://img.shields.io/badge/Maintained%3F-yes-green.svg
17-
:target: https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity
1816

1917
.. xmlschema-introduction-start
2018
2119
The *xmlschema* library is an implementation of `XML Schema <http://www.w3.org/2001/XMLSchema>`_
22-
for Python (supports Python 3.7+).
20+
for Python (supports Python 3.8+).
2321

2422
This library arises from the needs of a solid Python layer for processing XML
2523
Schema based files for
@@ -50,14 +48,15 @@ This library includes the following features:
5048
* Support of XSD validation modes *strict*/*lax*/*skip*
5149
* XML attacks protection using an XMLParser that forbids entities
5250
* Access control on resources addressed by an URL or filesystem path
51+
* Downloading XSD files from a remote URL and storing them for offline use
5352
* XML data bindings based on DataElement class
5453
* Static code generation with Jinja2 templates
5554

5655

5756
Installation
5857
============
5958

60-
You can install the library with *pip* in a Python 3.6+ environment::
59+
You can install the library with *pip* in a Python 3.7+ environment::
6160

6261
pip install xmlschema
6362

0 commit comments

Comments
 (0)