AOLserver XML interface module
Original Author: Curtis Galloway <curtisg@arsdigita.com>
October 2000

This module provides an interface to the libxml XML parsing library.
It supports version 2.2.5 or later.

For more information about libxml, see <http://www.xmlsoft.org>.

For a tutorial about how to use this module, see
<http://www.fifthgate.org/articles/aolserver/xml/ns_xml_doc.html>.


Contributions from Yon Derek:

Version 1.4, released on 07/09/2001

  * fixed the bug where ns_xml node ... wouldn't work for
    nodes from documents parsed with -persist flag

Version 1.3 released on 07/05/2001

  * bugfix for ns_xml apply_xslt (incorrect parsing of arguments)

Version 1.2 released on 07/04/2001

  * XSLT support has been added in the form of
    ns_xml apply_xslt $xslt_doc_id $xml_doc_id and
    ns_xml parse_xslt ?-persist? command.
    You need to install libxslt for it to work.
  * looks like ns_xml has not been updated to libxml2 which would
    result in the ns_xml doc root not returning a root but
    a node below the root. Most visibly, if there
    was a <!DOCTYPE ..> inside XML doc, you would only get
    a couple of nodes and not the whole doc. Fixed. May change
    behaviour of scripts.
  * ns_xml parse -persistent was broken (would crash) because a hash table
    for persistent docs has not been initialized. Fixed by initializing hash table.
  * ns_xml stats was broken, free() was used to free the memory allocated by
    ckalloc(). Fixed by calling ckfree().
  * many commands didn't check for the number of arguments so they would
    crash if called incorrectly. Fixed by adding checks for a proper number
    of arguments.
  * fixed Windows compilation issues.
  * regression tests were written for the OpenNSD test framework.
    Tests cover all the issues above and then some.

Jeremy Collins added XPath support.

