paulb@108 | 1 | Introduction
|
paulb@108 | 2 | ------------
|
paulb@108 | 3 |
|
paulb@20 | 4 | See docs/index.html for the libxml2dom documentation.
|
paulb@35 | 5 |
|
paulb@108 | 6 | Contact, Copyright and Licence Information
|
paulb@108 | 7 | ------------------------------------------
|
paulb@108 | 8 |
|
paulb@108 | 9 | The current Web page for libxml2dom at the time of release is:
|
paulb@108 | 10 |
|
paulb@108 | 11 | http://www.boddie.org.uk/python/libxml2dom.html
|
paulb@108 | 12 |
|
paulb@108 | 13 | Copyright and licence information can be found in the docs directory - see
|
paulb@158 | 14 | docs/COPYING.txt and docs/LICENCE.txt for more information.
|
paulb@108 | 15 |
|
paulb@108 | 16 | Dependencies
|
paulb@108 | 17 | ------------
|
paulb@108 | 18 |
|
paulb@108 | 19 | libxml2 Tested with libxml2 2.6.17.
|
paulb@108 | 20 | Use --with-python=<path to python executable> if building from
|
paulb@108 | 21 | source. Previous releases of libxml2 in the 2.6 series may work,
|
paulb@108 | 22 | but releases before 2.6.16 are not recommended.
|
paulb@108 | 23 | Python Tested with Python 2.4.
|
paulb@108 | 24 | Python releases from 2.2 onwards should be compatible with
|
paulb@108 | 25 | libxml2dom. The principal requirement from such releases is the
|
paulb@108 | 26 | new-style class support which permits the use of properties in
|
paulb@108 | 27 | the libxml2dom implementation.
|
paulb@108 | 28 |
|
paulb@64 | 29 | Testing
|
paulb@64 | 30 | -------
|
paulb@64 | 31 |
|
paulb@64 | 32 | Some of the tests require libxml2macro.py to be run on the test source code
|
paulb@64 | 33 | first. Read the docstrings for the various test files before attempting to run
|
paulb@145 | 34 | any of them. See also docs/NOTES_libxml2macro.txt for more information. Note
|
paulb@145 | 35 | that such tests are retained for historical purposes and/or curiosity since
|
paulb@145 | 36 | libxml2macro.py is no longer supported.
|
paulb@64 | 37 |
|
paulb@35 | 38 | Issues
|
paulb@35 | 39 | ------
|
paulb@35 | 40 |
|
paulb@35 | 41 | Use of importNode seems to cause some kind of memory issue, probably related
|
paulb@41 | 42 | to nodes being shared across documents. This was observed in libxml2 2.6.0 but
|
paulb@41 | 43 | appears to be fixed in libxml2 2.6.16.
|
paulb@50 | 44 |
|
paulb@78 | 45 | Even compared to minidom, importNode may seem very slow (even the
|
paulb@50 | 46 | libxml2dom.macrolib implementation, too). A way is needed to get libxml2 to do
|
paulb@50 | 47 | the node copying itself.
|
paulb@50 | 48 |
|
paulb@165 | 49 | New in libxml2dom 0.3.1 (Changes since libxml2dom 0.3)
|
paulb@165 | 50 | ------------------------------------------------------
|
paulb@165 | 51 |
|
paulb@165 | 52 | * Fixed empty namespace declarations on elements created with namespaceURI
|
paulb@165 | 53 | set to None. Previously, such declarations were missing.
|
paulb@169 | 54 | * Changed createDocument so that the root element has no namespaceURI if
|
paulb@169 | 55 | None is specified.
|
paulb@165 | 56 |
|
paulb@158 | 57 | New in libxml2dom 0.3 (Changes since libxml2dom 0.2.4)
|
paulb@158 | 58 | ------------------------------------------------------
|
paulb@153 | 59 |
|
paulb@158 | 60 | * Imposed much stricter tests on strings used with the libxml2dom API.
|
paulb@158 | 61 | Strings given as arguments to methods and functions must now only contain
|
paulb@158 | 62 | ASCII characters; any other character data must be provided as Unicode
|
paulb@158 | 63 | objects. This change fixes various issues with XPath expressions, and
|
paulb@158 | 64 | quite probably various other things.
|
paulb@153 | 65 | * Fixed parentNode on Document objects (which caused xml.dom.ext.PrettyPrint
|
paulb@153 | 66 | to crash).
|
paulb@153 | 67 | * Added some support for the doctype attribute and related information.
|
paulb@158 | 68 | * libxml2dom is now licensed under the LGPL - see docs/COPYING.txt for
|
paulb@158 | 69 | details.
|
paulb@153 | 70 |
|
paulb@148 | 71 | New in libxml2dom 0.2.4 (Changes since libxml2dom 0.2.3)
|
paulb@148 | 72 | --------------------------------------------------------
|
paulb@148 | 73 |
|
paulb@148 | 74 | * Fixed Unicode conversions in the Node's xpath method.
|
paulb@148 | 75 |
|
paulb@135 | 76 | New in libxml2dom 0.2.3 (Changes since libxml2dom 0.2.2)
|
paulb@135 | 77 | --------------------------------------------------------
|
paulb@135 | 78 |
|
paulb@135 | 79 | * Fixed the parse function's docstring.
|
paulb@139 | 80 | * Added the owner element to obtained attribute nodes.
|
paulb@142 | 81 | * Fixed Debian package changelog distribution identifiers.
|
paulb@135 | 82 |
|
paulb@129 | 83 | New in libxml2dom 0.2.2 (Changes since libxml2dom 0.2.1)
|
paulb@129 | 84 | --------------------------------------------------------
|
paulb@129 | 85 |
|
paulb@129 | 86 | * Fixed exception raising in parseURI, adding a docstring to explain the
|
paulb@129 | 87 | current limitations around HTML parsing.
|
paulb@129 | 88 |
|
paulb@108 | 89 | New in libxml2dom 0.2.1 (Changes since libxml2dom 0.2)
|
paulb@108 | 90 | ------------------------------------------------------
|
paulb@108 | 91 |
|
paulb@118 | 92 | * Moved libxml2macro script to the tools directory.
|
paulb@118 | 93 | * Added getElementsByTagNameNS.
|
paulb@123 | 94 | * Added a normalize implementation.
|
paulb@118 | 95 | * Added HTML parsing support.
|
paulb@120 | 96 | * Added prettyprinting support.
|
paulb@118 | 97 | * Fixed parseURI.
|
paulb@118 | 98 | * Introduced better testing for Unicode objects, especially since things
|
paulb@118 | 99 | like rdflib like to subclass the unicode type, and it might be more
|
paulb@118 | 100 | convenient to detect such subclasses and convert their values
|
paulb@118 | 101 | automatically.
|
paulb@118 | 102 | * Improved some of the API documentation.
|
paulb@118 | 103 | * Introduced better suppression of warnings, network access, and other
|
paulb@118 | 104 | potentially intrusive libxml2 features.
|
paulb@118 | 105 | * Reorganised the documentation, expanding the README.txt file at the
|
paulb@118 | 106 | expense of the HTML documentation, but removing older, less relevant
|
paulb@118 | 107 | information.
|
paulb@118 | 108 | * Added Debian package support.
|
paulb@50 | 109 |
|
paulb@108 | 110 | New in libxml2dom 0.2 (Changes since libxml2dom 0.1.3)
|
paulb@108 | 111 | ------------------------------------------------------
|
paulb@108 | 112 |
|
paulb@118 | 113 | * Adopted libxml2macro code within the libxml2dom classes, removing any
|
paulb@118 | 114 | dependencies on the libxml2 module - this makes everything much faster
|
paulb@118 | 115 | and virtually removes any necessity to use libxml2macro.
|
paulb@118 | 116 | * Improved attribute and document node handling.
|
paulb@118 | 117 | * Introduced document reference management.
|
paulb@118 | 118 | * Introduced NodeList wrapper objects.
|
paulb@59 | 119 |
|
paulb@108 | 120 | New in libxml2dom 0.1.3 (Changes since libxml2dom 0.1.2)
|
paulb@108 | 121 | --------------------------------------------------------
|
paulb@108 | 122 |
|
paulb@118 | 123 | * Fixed createElement.
|
paulb@118 | 124 | * Introduced experimental libxml2macro tools, tests and libraries.
|
paulb@108 | 125 |
|
paulb@108 | 126 | New in libxml2dom 0.1.2 (Changes since libxml2dom 0.1.1)
|
paulb@108 | 127 | --------------------------------------------------------
|
paulb@59 | 128 |
|
paulb@118 | 129 | * Fixed getAttributeNode and getAttributeNodeNS.
|
paulb@118 | 130 | * Added comment node creation.
|
paulb@118 | 131 | * Fixed empty namespace usage with elements and attributes.
|
paulb@118 | 132 | * Introduced usage of the libxml2 file and memory parsing features.
|
paulb@118 | 133 | * Introduced suppression of DTD retrieval and validation as the default
|
paulb@118 | 134 | behaviour.
|
paulb@118 | 135 | * Added experimental XPath method support.
|
paulb@59 | 136 |
|
paulb@108 | 137 | New in libxml2dom 0.1.1
|
paulb@108 | 138 | -----------------------
|
paulb@59 | 139 |
|
paulb@118 | 140 | * Fixed text node creation.
|
paulb@118 | 141 | * Fixed setAttributeNS.
|
paulb@118 | 142 | * Added encoding parameters to convenience methods.
|
paulb@118 | 143 | * Added the missing previousSibling property.
|
paulb@118 | 144 | * Added release number to the package.
|
paulb@59 | 145 |
|
paulb@108 | 146 | Release Procedures
|
paulb@108 | 147 | ------------------
|
paulb@59 | 148 |
|
paulb@108 | 149 | Update the libxml2dom/__init__.py and libxml2dom/macrolib/__init__.py
|
paulb@108 | 150 | __version__ attributes.
|
paulb@108 | 151 | Change the version number and package filename/directory in the documentation.
|
paulb@108 | 152 | Change code examples in the documentation if appropriate.
|
paulb@108 | 153 | Update the release notes (see above).
|
paulb@108 | 154 | Update the package release notes (in the packages directory).
|
paulb@108 | 155 | Check the setup.py file and ensure that all package directories are mentioned.
|
paulb@115 | 156 | Check the release information in the PKG-INFO file and in the package
|
paulb@115 | 157 | changelog (and other files).
|
paulb@108 | 158 | Tag, export.
|
paulb@108 | 159 | Archive, upload.
|
paulb@108 | 160 | Make packages (see below).
|
paulb@108 | 161 | Update PyPI, PythonInfo Wiki, Vaults of Parnassus entries.
|
paulb@59 | 162 |
|
paulb@108 | 163 | Making Packages
|
paulb@108 | 164 | ---------------
|
paulb@59 | 165 |
|
paulb@125 | 166 | To make Debian-based packages:
|
paulb@59 | 167 |
|
paulb@125 | 168 | 1. Create new package directories under packages if necessary.
|
paulb@118 | 169 | 2. Make a symbolic link in the distribution's root directory to keep the
|
paulb@118 | 170 | Debian tools happy:
|
paulb@59 | 171 |
|
paulb@125 | 172 | ln -s packages/ubuntu-hoary/python2.4-libxml2dom/debian/
|
paulb@108 | 173 |
|
paulb@118 | 174 | 3. Run the package builder:
|
paulb@108 | 175 |
|
paulb@118 | 176 | dpkg-buildpackage -rfakeroot
|
paulb@108 | 177 |
|
paulb@118 | 178 | 4. Locate and tidy up the packages in the parent directory of the
|
paulb@118 | 179 | distribution's root directory.
|