GitPedia
sissaschool

sissaschool/xmlschema

XML Schema validator and data conversion library for Python

30 Releases
Latest: 5mo ago
v4.3.1 (2026-01-17)v4.3.1Latest
brunatobrunato·5mo ago·January 17, 2026
GitHub

📋 Changes

  • `normalize_url()`: workaround for issue #467 (UNC paths with Python < 3.12.5)
  • META_SCHEMA and BASE_SCHEMA paths converted to 'file' URL scheme
  • Clean optional dependencies
v4.3.0 (2026-01-06)v4.3.0
brunatobrunato·5mo ago·January 6, 2026
GitHub

📋 Changes

  • Add arguments validation for schemas and validation methods (by validation contexts)
  • Add custom XPath parser for find/findall/iterfind APIs on schemas for match
  • Improve build of XSD elements and groups, using a three-state built flag for
  • Extend and fix memory tests (Python 3.14+ seems to consume more memory)
  • Drop support for Python 3.9 and add development support for Python 3.15
v4.2.0 (2025-10-14)v4.2.0
brunatobrunato·8mo ago·October 14, 2025
GitHub

📋 Changes

  • Add arguments validation for schemas and validation methods (by validation contexts)
  • Add `SchemaSettings` dataclass for storing read-only settings for schema instances
  • Add *block* argument to `XMLResource` class (issue #464)
  • Add *MAX_SCHEMA_SOURCES* package limit (`1000`, applied to `XsdGlobals` global maps instances)
  • Add *MAX_XML_ELEMENTS* package limit (`1,000,000`, applied to non-lazy `XMLResource` instances)
  • Reduce *MAX_XML_DEPTH* limit to 1000 and apply it to all `XMLResource` instances
  • Fix for substitute match in case of unexpected child (issue #461)
v4.1.0 (2025-06-05)v4.1.0
brunatobrunato·1y ago·June 5, 2025
GitHub

📋 Changes

  • Add XPath selectors: ElementSelector and ElementPathSelectors
  • Add *selector* argument to XMLResource and iterparse filters
  • Fix element substitution (issue #452)
  • Restore v3.4.5 builder methods as helpers (issue #451)
  • Add overall_min_occurs and overall_max_occurs helpers to XsdElement (issue #449)
  • Extend error message for XML syntax errors (issue #448)
  • Fix query/fragment like for filenames (issue #447)
v4.0.1 (2025-04-13)v4.0.1
brunatobrunato·1y ago·April 13, 2025
GitHub

📋 Changes

  • Fix XSD identity update with xsi:type substitution (issue #446)
v4.0.0 (2025-04-11)v4.0.0
brunatobrunato·1y ago·April 11, 2025
GitHub

📋 Changes

  • Extend support of `lxml.etree` through *iterparse* optional argument
  • Rework internal decoding/encoding methods, replacing generators with normal functions
  • Replace kwargs with a validation context (DecodeContext and EncodeContext)
  • Add SchemaLoader class and variants (related to #419)
  • Slicing of XsdGlobals with parent maps
  • Fix `XsdUnion` validation performance issue (related to #442)
  • Drop support for Python 3.8
v3.4.5 (2025-03-22)v3.4.5
brunatobrunato·1y ago·March 22, 2025
GitHub

📋 Changes

  • Fix xs:all groups occurs check (issue #437)
v3.4.4 (2025-03-18)v3.4.4
brunatobrunato·1y ago·March 18, 2025
GitHub

📋 Changes

  • Migrate project metadata to pyproject.toml by @afuetterer (PR #436)
  • Fix static typing errors with mypy==1.15.0 and elementpath==4.8.0
v3.4.3 (2024-10-31)v3.4.3
brunatobrunato·1y ago·October 31, 2024
GitHub

📋 Changes

  • Fix incorrect validation error for substitution group with abstract head (issue #417)
  • Refactor XSD identities processing using also typed XPath 2.0+ for getting values (issue #418)
  • Clean tag retrieval during encode for some converter types (Abdera, BadgerFish and GData)
v3.4.2 (2024-09-17)v3.4.2
brunatobrunato·1y ago·September 17, 2024
GitHub

📋 Changes

  • Fix other failing URL normalization tests
  • Avoid the use of sys.version_info for checking results, better to extend the check to more values.
v3.4.1 (2024-09-12)v3.4.1
brunatobrunato·1y ago·September 12, 2024
GitHub

📋 Changes

  • Fix failing URL normalization tests (issue #416)
  • Disable protocols checking with elementpath v4.5.0
v3.4.0 (2024-09-10)v3.4.0
brunatobrunato·1y ago·September 10, 2024
GitHub

📋 Changes

  • Extended ModelVisitor to make it usable as an helper class for generating content
v3.3.2 (2024-07-29)v3.3.2
brunatobrunato·1y ago·July 29, 2024
GitHub

📋 Changes

  • Fix UNC path tests (issues #405 and #408)
v3.3.1 (2024-04-27)v3.3.1
brunatobrunato·2y ago·April 28, 2024
GitHub

📋 Changes

  • Update validation errors with logging stack trace in debug mode
  • Improve locations parsing and URL encoding
v3.3.0 (2024-04-17)v3.3.0
brunatobrunato·2y ago·April 17, 2024
GitHub

📋 Changes

  • Rewrite the validation of openContent using InterleavedModelVisitor and SuffixedModelVisitor
  • Fix validation of XSD 1.1 'all' nested models
v3.2.1 (2024-04-07)v3.2.1
brunatobrunato·2y ago·April 7, 2024
GitHub

📋 Changes

  • Improve ModelVisitor and particle occurs checking
  • Fix interleave mode with XSD 1.1 open content (issue #397)
  • Fix for export/download of XSD sources with commented-out imports/include (issue #387)
v3.2.0 (2024-03-25)v3.2.0
brunatobrunato·2y ago·March 25, 2024
GitHub

📋 Changes

  • Add *download_schemas()* to package API (#387)
  • Fix issue with facets on list types (#396)
v3.1.0 (2024-03-13)v3.1.0
brunatobrunato·2y ago·March 13, 2024
GitHub

📋 Changes

  • Add GData converter (issue #388/PR #391)
  • Fix static typing protocols usage
  • Extend XSD annotations parsing (issue #366)
v3.0.2 (2024-02-18)v3.0.2
brunatobrunato·2y ago·February 18, 2024
GitHub

📋 Changes

  • Use XPath subtree as fragment for xs:assert (issue #386)
  • Fix in XMLSchemaProxy definition and usage for providing
  • Module xpath.py splitted to a subpackage for including all the
  • Add support for Python 3.13 (pre-releases)
v3.0.1 (2024-01-09)v3.0.1
brunatobrunato·2y ago·January 9, 2024
GitHub

📋 Changes

  • Hotfix release for broken requirement
  • Set python-requires metadata to >=3.8 (pull request #382)
  • Upgrade GitHub Actions (pull request #381)
v3.0.0 (2024-01-07)v3.0.0
brunatobrunato·2y ago·January 7, 2024
GitHub

📦 WARNING: this release has been yanked in PyPI due to a broken requirement, use [v3.0.1](https://github.com/sissaschool/xmlschema/tree/v3.0.1).

  • Namespace declarations processing modes through the option *xmlns_processing* for converters
  • Decode/validate from XML document with dynamic schema load
  • XMLResource class enhancement for a better XML resources processing
  • Improve lazy resources iteration removing preceding elements (*thin_mode* option)
  • Add *uri_mapper* option for using relocated or URN-addressed schemas
  • Drop support for Python 3.7
v2.5.1 (2023-12-19)v2.5.1
brunatobrunato·2y ago·December 19, 2023
GitHub

📋 Changes

  • Fix slowness of key selectors introduced by v2.5.0 (issue #378)
  • Remove redundant wheel dep from _pyproject.toml_ and unnecessary build deps from _tox.ini_ (PR #368)
v2.5.0 (2023-09-21)v2.5.0
brunatobrunato·2y ago·September 21, 2023
GitHub

📋 Changes

  • Fix identity keys tracking with additional full XPath checks on XML data
  • Rewrite schema exports using relative paths
v2.4.0 (2023-07-27)v2.4.0
brunatobrunato·2y ago·July 27, 2023
GitHub

📋 Changes

  • Improve schema export using XSD source encoding
  • Add XML signature and encryption to local fallback schemas (issue #357)
v2.3.1 (2023-06-14)v2.3.1
brunatobrunato·3y ago·June 14, 2023
GitHub

📋 Changes

  • Meta-schema elements and groups ignore `xsi:type` attributes (issue #350)
  • Use the meta-schemas only for validating XSD sources otherwise create dummy schemas
v2.3.0 (2023-05-18)v2.3.0
brunatobrunato·3y ago·May 18, 2023
GitHub

📋 Changes

  • Improve sequence/all restriction checks for XSD 1.1
  • Add *schema* argument to `Wsdl11Document`
v2.2.3 (2023-04-14)v2.2.3
brunatobrunato·3y ago·April 14, 2023
GitHub

📋 Changes

  • Add support for Python 3.12
  • Detach content iteration methods from ModelVisitor
v2.2.2 (2023-03-05)v2.2.2
brunatobrunato·3y ago·March 5, 2023
GitHub

📋 Changes

  • Fix mixed content extension with empty content (issue #337)
  • Fix lru_cache() usage on global maps caching
v2.2.1 (2023-02-11)v2.2.1
brunatobrunato·3y ago·February 11, 2023
GitHub

📋 Changes

  • Fix mixed content extension without explicit mixed attribute (issue #334)
v2.2.0 (2023-02-06)v2.2.0
brunatobrunato·3y ago·February 6, 2023
GitHub

📋 Changes

  • Refine string serialization of XML resources and data elements
  • Switch to use elementpath v4
  • Fix _sequence_type_ property for XSD types
  • Remove *XsdElement.get_attribute()*: unused and doesn't work as expected