Skip to main content

XUpdate Processor

Project description

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]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xupdate-processor-0.5.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file xupdate-processor-0.5.tar.gz.

File metadata

  • Download URL: xupdate-processor-0.5.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.2

File hashes

Hashes for xupdate-processor-0.5.tar.gz
Algorithm Hash digest
SHA256 fd69730a1e91ba904c6359ffd50245ccb966aefe65f351cab8da4de132d08293
MD5 315ca6142b3cbabc916430dcbc7932fc
BLAKE2b-256 b3022bfaed5ec16016d91ff368265f737b7547dbcdbbc1b5bca5b8afeb77bcd1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page