Skip to content
João Costa edited this page Mar 26, 2019 · 2 revisions

What is the project?

ARTA is a Open Source project that provides a wrapper around the Xerces C++ library to help speed up XML handling.

What is it for?

The library is intended to speed up XML processing by client applications by providing processing methods that can be overrided to customize processing for the given XML node type.

Current status

The project is still ongoing to increase the wrapping functionality.

Dependencies

The project depends on the Apache Xerces C++ library.

Supported platforms

Any platform where Xerces C++ library can be compiled with a compiler supporting C++11.

What ARTA provides?

The project deliverable is a C++ library that provides:

  1. Support for C++ applications to retrieve information from XML documents
  2. Abstraction of Xerces XML parser resource management
  3. Customization hook methods for each particular node type (e.g. specificElement)
  4. Extra customization by overriding main processing methods (e.g. processElement)

How to build it?

After cloning the GIT repository to a local directory (let's use $HOME/repository/arta for the example bellow):

  1. Add ARTA_DIR variable to your environment
  • Linux

    ARTA_DIR=$HOME/repository/arta; export ARTA_DIR

  1. Go to the Release directory
  • Linux

    cd $ARTA_DIR/Release

  1. Execute make command

The resulting library is placed in the Release directory.

API documentation

The API documentation is still under development and will be placed under the project docs folder.

The detailed description for the project is here.

Supported baselines

The library wraps the Xerces C++ 3.2 library version. The library itself only imposes the requirement of using the C++11 Standard.

Build tools

  • Linux
  1. GCC/Clang supporting C++11 is required (advise is to use the latest available)
  2. GNU Make version 4.2.1 or above (older versions may be supported but were not tested)

License

The project license is the MIT license which means that the project can be used as you wish. However, your contribution is welcome in order to develop it so that others (and yourself) reap the benefits.