Skip to content

qoretechnologies/module-xml

Repository files navigation

Qore xml module
===============

INTRODUCTION
------------
The Qore xml module provides comprehensive XML functionality to the Qore
Programming Language. This module was previously part of the main qore library
but was separated into a standalone module in Qore v0.8.1.

The module is built on libxml2, providing a powerful, stable, and thread-safe
basis for XML integration in Qore.

See the HTML documentation in docs/ for detailed API reference and examples.


FEATURES
--------
Core XML Processing:
- XML serialization (Qore data structures to XML strings)
- XML deserialization (XML strings to Qore data structures)
- DOM document parsing and manipulation (XmlDoc, XmlNode classes)
- XPath query support
- Streaming XML parsing (XmlReader, SaxIterator classes)
- XML validation (XSD Schema, RelaxNG, DTD)

Web Services:
- SOAP client and server implementations
- WSDL parsing and processing
- XML-RPC client and server support
- Salesforce API client support

Additional Features:
- WebDAV protocol handler
- Data provider integration (SAX, SOAP data providers)
- Custom I/O callbacks for external resource resolution

Bundled User Modules:
- WSDL - Web Services Description Language parser
- SoapClient - SOAP client implementation
- SoapHandler - SOAP server request handler
- SalesforceSoapClient - Specialized Salesforce SOAP client
- XmlRpcHandler - XML-RPC server implementation
- XmlRpcConnection - XML-RPC connection management
- WebDavHandler - WebDAV protocol handler
- SaxDataProvider - SAX-based data provider
- SoapDataProvider - SOAP-based data provider


LICENSE
-------
The source code is released under dual licenses: LGPL 2.1 and MIT. Either
license may be used at the user's discretion. Both licenses allow the module
to be loaded without restrictions by the Qore library (even when the Qore
library is initialized in GPL mode).

See COPYING.MIT and COPYING.LGPL for details on the open-source licenses.


REQUIREMENTS
------------
- Qore 2.0+ (https://qore.org)
- libxml2 2.6.0+ (http://www.xmlsoft.org)
- OpenSSL (for HTTPS support)
- C++11 compatible compiler


BUILDING WITH CMAKE (Recommended)
---------------------------------
mkdir build && cd build
cmake ..
make
make install

CMake options:
  -DCMAKE_INSTALL_PREFIX=<path>  Installation prefix
  -DCMAKE_BUILD_TYPE=Release     Build type (Release, Debug, RelWithDebInfo)

Example:
  cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ..


BUILDING WITH AUTOTOOLS
-----------------------
To configure the build:
    ./configure --disable-debug

If the qore library cannot be found:
    ./configure --disable-debug --with-qore=<dir>

If libxml2 cannot be found:
    ./configure --disable-debug --with-libxml2-dir=<dir>

If openssl cannot be found:
    ./configure --disable-debug --with-openssl-dir=<dir>

The qore binary needs to be in the PATH so configure can determine the
module directory.

Then execute:
    make && make install

(or 'make && sudo make install' as needed)


TESTING
-------
Run the test suite:
    cd test
    qore xml.qtest -v
    qore soap.qtest -v


DOCUMENTATION
-------------
Full HTML documentation is generated with Doxygen:
    make docs

Documentation is generated in the docs/ directory.


SUPPORT
-------
Please direct questions to: david@qore.org

Bug reports and feature requests:
https://github.com/qorelanguage/qore/issues

About

Qore XML module with SAX and DOM XML parsing support as well XML-RPC and SOAP support

Topics

Resources

License

LGPL-2.1, MIT licenses found

Licenses found

LGPL-2.1
COPYING.LGPL
MIT
COPYING.MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 13