Change & Version Information¶
The following is a summary of changes and improvements to
eulxml. New features in each version should be listed, with
any necessary information about installation or upgrade notes.
- Correct six dependency required version
- Fix six dependency in eulxml.xpath so installation can complete and generate parsetab and lextab when six installation is not yet processed. [#20 <https://github.com/emory-libraries/eulxml/issues/20>]
- Now Python 3 compatible, thanks to Morgan Aubert (@ellmetha).
- bugfix: BooleanField will now return None instead of generating an error when xml is not present and False is not configured as None. Contributed by Roman Voropaev (@roman-voropaev).
- Include xml namespace in base TEI class in eulxml.xmlmap.teimap for xml:id attributes referenced throughout.
- bugfix: workaround for resolver error failing to load schemas in some cases
- New method (
eulxml.xmlmap.load_xslt()) to load and precompile XSLT that will be used more than once.
eulxml.xmlmap.XmlObject.xsl_transform()to avoid malloc errors and segmentation faults and to allow using precompiled XSLT documents.
- Support for float field types in eulxml.xmlmap. Contributed by jilott.
- Bug fix:
eulxml.xmlmap.XmlObject.xsl_transform()now recognizes text output as a valid, non-empty XSL result
- Add default unicode output of date value for MODS date fields
Dateand all date variants)
- Bug fix:
XmlObjectFormnow uses the field order as defined on the form when updating the XML instance (fix for XML where schema requires fields in a specific order)
- Revert unused namespace cleanup change to serialization it generates less optimal output in certain cases.
- Minor updates to
eulxml.xmlmapfields for better results when inspected by sphinx autodoc or other similar tools.
eulxml.xmlmap.modswith support for id attribute on top-level MODS element. Contributed by bcail.
eulxml.xmlmap.eadmapwith support for digital archival object tags.
eulxml.xmlmap.fields.DateFieldto support date fields separately from
eulxml.xmlmap.fields.DateTimeField; also includes minimal support for date fields in
- Pinned MODS version to 3.4 to guard against new versions of the schema breaking validation
- Corrected a minor bug where schema validation errors were not cleared between multiple validations.
- To avoid permission denied warning for auto-generated parser files, parsetab files are now created in python tempdir if the running user doesn’t have write permission in the package installation directory. [Issue 1]
- When an XSLT transformation results in an empty document,
eulxml.xmlap.XmlObject.xsl_transform()now returns None. [Issue 6]
- Development requirements can now be installed as an optional requirement
of the eulxml package (
pip install "eulxml[dev]").
- Unit tests have been updated to use
- New functionality in
eulxml.xmlmap.cerpfor parsing email dates and generating CERP xml from a Python email message object.
0.18.0 - Formset Ordering and DateTime¶
eulxml.forms.xmlobject.XmlObjectFormformsets now support
eulxml.xmlmap.fields.DateTimeFieldis now included in available
eulxml.xmlmapfields. This replaces the previously officially-unreleased, under-documented and -tested and misnamed
DateField. Date-time format handling and whitespace normalization contributed by jheath-.
0.17.1 - Bugfix Release¶
- Fixed an error in eulxml.xpath parse that resulted in parse errors when other lexers are defined.
0.17.0 - Minor Enhancements¶
eulxml.xmlmap.XmlObjectnow supports lazy-loading for XSD Schemas. To take advantage of this feature,
XmlObjectsubclasses should define an
XSD_SCHEMAlocation but should not set an
- When field mapped on a
eulxml.xmlmap.XmlObjectis deleted, any XPath predicates that could have been automatically constructed when setting the value will be deleted from the
XmlObjectwhere possible, if they are otherwise empty.
0.16.0 - MODS and PREMIS¶
0.15.3 - Minor Enhancement¶
- Downgrade the lack of an HTTP_PROXY set in the environment from a RuntimeError to a Warning with schema validation disabled.
0.15.2 - Bugfix Release¶
- Fixed an error in the dependency structure that prevented the package from being used after installation through PyPI.
0.15.1 - Bugfix Release¶
- Fixed an error in the dependency structure that prevented the package from being installed through PyPI.