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.
1.0.1¶
- 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>]
1.0¶
- 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.
0.22.1¶
- bugfix: workaround for resolver error failing to load schemas in some cases
0.22¶
- New method (
eulxml.xmlmap.load_xslt()) to load and precompile XSLT that will be used more than once. - Re-worked
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.
0.21.2¶
- Bug fix: correctly support parameters in
eulxml.xmlmap.XmlObject.xsl_transform() - Automatically encode string parameter values passed to
xsl_transform()as lxml string parameters (lxml.etree.XSLT.strparam)
0.21.1¶
- Bug fix:
eulxml.xmlmap.XmlObject.xsl_transform()now recognizes text output as a valid, non-empty XSL result
0.21¶
- 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)
0.20.3¶
- Revert unused namespace cleanup change to serialization it generates less optimal output in certain cases.
- Minor updates to
eadmap:- Added mapping for xlink:show attribute to
DigitalArchivalObject - Added mapping for note field
Index - Changed
Noteparagraph content from string list to node list, to support formatting. - Added mapping for
processinfotoArchivalDescriptionandComponent
- Added mapping for xlink:show attribute to
0.20.2¶
- Unused namespaces will now be cleaned up before serialization in
eulxml.xmlmap.XmlObject.serialize()andeulxml.xmlmap.XmlObject.serializeDocument() eulxml.xmlmap.eadmaphave been updated with root element names where possible, to better support usingeadmapto update or modify EAD documents.
0.20.1¶
- Adjust
eulxml.xmlmapfields for better results when inspected by sphinx autodoc or other similar tools.
0.20.0¶
- Update
eulxml.xmlmap.modswith support for id attribute on top-level MODS element. Contributed by bcail. - Update
eulxml.xmlmap.eadmapwith support for digital archival object tags. - Add
eulxml.xmlmap.fields.DateFieldto support date fields separately fromeulxml.xmlmap.fields.DateTimeField; also includes minimal support for date fields ineulxml.forms.xmlobject.XmlObjectForm.
0.19.1¶
- Pinned MODS version to 3.4 to guard against new versions of the schema breaking validation
0.19.0¶
- 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
nose - 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 supportcan_order.eulxml.xmlmap.fields.DateTimeFieldis now included in availableeulxml.xmlmapfields. This replaces the previously officially-unreleased, under-documented and -tested and misnamedDateField. 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 anXSD_SCHEMAlocation but should not set anxmlschema.- 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 theXmlObjectwhere possible, if they are otherwise empty.
0.16.0 - MODS and PREMIS¶
- Add basic support for MODS in
eulxml.xmlmap.mods. - Add basic support for PREMIS in
eulxml.xmlmap.premis. - Minor logging and error handling improvements.
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.