Introduction
Apply xupdate diff on XML documents.
Testing
To run tests:
python -m unittest discover src
or, using zc.buildout and zope.testrunner:
buildout ./bin/test
Usage
just like this:
>>> from xupdate_processor import applyXUpdate
>>> from lxml import etree
>>> xml_doc_string = """<?xml version="1.0"?>
<erp5>
<object portal_type="Test">
<title>A</title>
</object>
<object portal_type="Test">
<title>A</title>
</object>
<object portal_type="Test">
<title>A</title>
</object>
</erp5>
"""
>>> xml_xu_string = """<?xml version="1.0"?>
<xupdate:modifications xmlns:xupdate="http://www.xmldb.org/xupdate" version="1.0">
<xupdate:update select="/erp5/object[2]/title">B</xupdate:update>
<xupdate:update select="/erp5/object[3]/title">C</xupdate:update>
</xupdate:modifications>
"""
>>> result_tree = applyXUpdate(xml_xu_string=xml_xu_string, xml_doc_string=xml_doc_string)
>>> print etree.tostring(result_tree, pretty_print=True)
<erp5>
<object portal_type="Test">
<title>A</title>
</object>
<object portal_type="Test">
<title>B</title>
</object>
<object portal_type="Test">
<title>C</title>
</object>
</erp5>
History
0.5 (2022-09-14)
Support python3 and python2.7 by dropping dependency on PyXML
0.4 (2010-01-21)
- [Fix] sub element might have been append in wrong order
[nicolas Delaby]
0.3 2010-01-19
Update setup.py
0.2 (2010-01-19)
- refactor egg structure directory
[nicolas Delaby]
- Use unittest module instead of DOCTEST
[nicolas Delaby]
- add PyXML dependency to support sax parser with xml.sax.handler.feature_namespace_prefixes feature.
[nicolas Delaby]
remove zope.interface dependency
[Fix] sub element might have been append in wrong order
0.1 (2009-12-12)
- Initial implementation
[nicolas Delaby]
Metadata
Release files for xupdate-processor 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xupdate-processor-0.5.tar.gz | 10.8 kB | Without provenance | Details for xupdate-processor-0.5.tar.gz |
Release files / xupdate-processor-0.5.tar.gz
| Download URL | xupdate-processor-0.5.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd69730a1e91ba904c6359ffd50245ccb966aefe65f351cab8da4de132d08293
|
|
BLAKE2b-256 checksum How to use checksums |
b3022bfaed5ec16016d91ff368265f737b7547dbcdbbc1b5bca5b8afeb77bcd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.2
|
Security for xupdate-processor 0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.