1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/PKG-INFO Mon Aug 15 18:28:56 2005 +0000
1.3 @@ -0,0 +1,23 @@
1.4 +Metadata-Version: 1.1
1.5 +Name: libxml2dom
1.6 +Version: 0.2
1.7 +Author: Paul Boddie
1.8 +Author-email: paul at boddie org uk
1.9 +Maintainer: Paul Boddie
1.10 +Maintainer-email: paul at boddie org uk
1.11 +Home-page: http://www.boddie.org.uk/python/libxml2dom.html
1.12 +Download-url: http://www.boddie.org.uk/python/downloads/libxml2dom-0.2.tar.gz
1.13 +Summary: PyXML-style API for the libxml2 Python bindings
1.14 +License: MIT
1.15 +Description: The libxml2dom package provides a traditional DOM wrapper around the Python
1.16 + bindings for libxml2. In contrast to the libxml2 bindings, libxml2dom provides
1.17 + an API reminiscent of minidom, pxdom and other Python-based and Python-related
1.18 + XML toolkits.
1.19 +Keywords: XML libxml2
1.20 +Platform: Any
1.21 +Classifier: Development Status :: 3 - Alpha
1.22 +Classifier: License :: OSI Approved :: MIT License
1.23 +Classifier: Natural Language :: English
1.24 +Classifier: Operating System :: OS Independent
1.25 +Classifier: Programming Language :: Python
1.26 +Classifier: Topic :: Text Processing :: Markup :: XML
2.1 --- a/README.txt Mon Aug 15 17:50:11 2005 +0000
2.2 +++ b/README.txt Mon Aug 15 18:28:56 2005 +0000
2.3 @@ -1,11 +1,37 @@
2.4 +Introduction
2.5 +------------
2.6 +
2.7 See docs/index.html for the libxml2dom documentation.
2.8
2.9 +Contact, Copyright and Licence Information
2.10 +------------------------------------------
2.11 +
2.12 +The current Web page for libxml2dom at the time of release is:
2.13 +
2.14 +http://www.boddie.org.uk/python/libxml2dom.html
2.15 +
2.16 +Copyright and licence information can be found in the docs directory - see
2.17 +docs/COPYING.txt for more information.
2.18 +
2.19 +Dependencies
2.20 +------------
2.21 +
2.22 +libxml2 Tested with libxml2 2.6.17.
2.23 + Use --with-python=<path to python executable> if building from
2.24 + source. Previous releases of libxml2 in the 2.6 series may work,
2.25 + but releases before 2.6.16 are not recommended.
2.26 +Python Tested with Python 2.4.
2.27 + Python releases from 2.2 onwards should be compatible with
2.28 + libxml2dom. The principal requirement from such releases is the
2.29 + new-style class support which permits the use of properties in
2.30 + the libxml2dom implementation.
2.31 +
2.32 Testing
2.33 -------
2.34
2.35 Some of the tests require libxml2macro.py to be run on the test source code
2.36 first. Read the docstrings for the various test files before attempting to run
2.37 -any of them.
2.38 +any of them. See also docs/NOTES_libxml2macro.txt for more information.
2.39
2.40 Issues
2.41 ------
2.42 @@ -18,51 +44,79 @@
2.43 libxml2dom.macrolib implementation, too). A way is needed to get libxml2 to do
2.44 the node copying itself.
2.45
2.46 -Experiments
2.47 ------------
2.48 +New in libxml2dom 0.2.1 (Changes since libxml2dom 0.2)
2.49 +------------------------------------------------------
2.50 +
2.51 + * Moved libxml2macro script to the tools directory.
2.52 + * Added getElementsByTagNameNS.
2.53 + * Added HTML parsing support.
2.54 + * Improved some of the API documentation.
2.55
2.56 -The libxml2macro.py program, along with the libxml2dom.macrolib package
2.57 -provide support for writing DOM-style code which is then translated to
2.58 -libxml2mod-style code before being compiled to normal Python modules. This
2.59 -special translation should eliminate the need for high-level wrapper objects
2.60 -in most cases as well as low-level libxml2 objects, since the actual compiled
2.61 -code will be using the libxml2mod functions directly.
2.62 +New in libxml2dom 0.2 (Changes since libxml2dom 0.1.3)
2.63 +------------------------------------------------------
2.64 +
2.65 + * Adopted libxml2macro code within the libxml2dom classes, removing any
2.66 + dependencies on the libxml2 module - this makes everything much faster
2.67 + and virtually removes any necessity to use libxml2macro.
2.68 + * Improved attribute and document node handling.
2.69 + * Introduced document reference management.
2.70 + * Introduced NodeList wrapper objects.
2.71
2.72 -To use libxml2macro.py, first write your code using the typical PyXML DOM
2.73 -style, but make sure that you use a common prefix for all node variables and
2.74 -which is not used by any other kind of variable, and make sure that you do not
2.75 -re-use node variables to refer to other kinds of object. Here is an example of
2.76 -the coding style:
2.77 +New in libxml2dom 0.1.3 (Changes since libxml2dom 0.1.2)
2.78 +--------------------------------------------------------
2.79 +
2.80 + * Fixed createElement.
2.81 + * Introduced experimental libxml2macro tools, tests and libraries.
2.82 +
2.83 +New in libxml2dom 0.1.2 (Changes since libxml2dom 0.1.1)
2.84 +--------------------------------------------------------
2.85
2.86 - # My module.
2.87 -
2.88 - import libxml2macro as my_
2.89 + * Fixed getAttributeNode and getAttributeNodeNS.
2.90 + * Added comment node creation.
2.91 + * Fixed empty namespace usage with elements and attributes.
2.92 + * Introduced usage of the libxml2 file and memory parsing features.
2.93 + * Introduced suppression of DTD retrieval and validation as the default
2.94 + behaviour.
2.95 + * Added experimental XPath method support.
2.96
2.97 - def processing_function(my_document, some_args):
2.98 -
2.99 - # Perform actions on nodes:
2.100 +New in libxml2dom 0.1.1
2.101 +-----------------------
2.102
2.103 - my_node = my_document.createElementNS("namespace", "some-name")
2.104 -
2.105 - # Perform actions on other data as normal:
2.106 + * Fixed text node creation.
2.107 + * Fixed setAttributeNS.
2.108 + * Added encoding parameters to convenience methods.
2.109 + * Added the missing previousSibling property.
2.110 + * Added release number to the package.
2.111
2.112 - some_function(some_args)
2.113 -
2.114 -Then, run libxml2macro.py on the module like this (using tests/macrotest.py as
2.115 -an example):
2.116 -
2.117 - tools/libxml2macro.py tests/macrotest.py
2.118 +Release Procedures
2.119 +------------------
2.120
2.121 -This produces a compiled module that can be imported into Python; for example:
2.122 +Update the libxml2dom/__init__.py and libxml2dom/macrolib/__init__.py
2.123 +__version__ attributes.
2.124 +Change the version number and package filename/directory in the documentation.
2.125 +Change code examples in the documentation if appropriate.
2.126 +Update the release notes (see above).
2.127 +Update the package release notes (in the packages directory).
2.128 +Check the setup.py file and ensure that all package directories are mentioned.
2.129 +Tag, export.
2.130 +Archive, upload.
2.131 +Make packages (see below).
2.132 +Update PyPI, PythonInfo Wiki, Vaults of Parnassus entries.
2.133
2.134 - cd tests
2.135 - python
2.136 - import macrotest
2.137 +Making Packages
2.138 +---------------
2.139
2.140 -It should be possible to run the module directly; for example:
2.141 +To make Debian packages:
2.142
2.143 - python tests/macrotest.pyc
2.144 + 1. Create new package directories under packages/debian if necessary.
2.145 + 2. Make a symbolic link in the distribution's root directory to keep the
2.146 + Debian tools happy:
2.147
2.148 -Note that running the module using the source filename will probably result in
2.149 -the compiled module being overwritten and various errors being produced. So
2.150 -don't do that!
2.151 + ln -s packages/debian/python2.4-libxml2dom/debian/
2.152 +
2.153 + 3. Run the package builder:
2.154 +
2.155 + dpkg-buildpackage -rfakeroot
2.156 +
2.157 + 4. Locate and tidy up the packages in the parent directory of the
2.158 + distribution's root directory.