[go: up one dir, main page]

Update .inx schema to ISO Schematron

What does the merge request do?

port schema file from pre-ISO Schematron (i.e. pre-2006 format) to ISO Schematron, as newer builds of lxml are dropping support for the legacy format.

Implementation notes

(copied from commit messages)

lxml ships two classes to ingest & validate Schematron files:
- `lxml.etree.Schematron`
- `lxml.isoschematron.Schematron`

the former is a wrapper around libxml2's schematron component,
which is disabled by default as of 2.15 and planned for removal
in 2.16
<https://gitlab.gnome.org/GNOME/libxml2/-/releases#major-changes>

the latter is maintained as part of lxml itself. by using it we can
support schema validation regardless of the user's libxml2 

Schematron has two "flavors"; the pre-2006 Schematron 1.6
(xmlns="http://www.ascc.net/xml/schematron") and the modern ISO
Schematron (xmlns=http://purl.oclc.org/dsdl/schematron).
whereas lxml.etree.Schematron supports both forms,
lxml.isoschematron.Schematron supports only the modern form.

Summary for release notes

Checklist

  • Add unit tests (if applicable) (N/A)
  • Changes to inkex/ are well documented
  • Clean merge request history

Merge request reports

Loading