AXL is a library which aims to implement the XML 1.0 standard, as defined at the XML 1.0 third edition recommendation found at: http://www.w3.org/TR/REC-xml/.
It was implemented to support XML requirements inside projects developed by Advanced Software Production Line, S.L., especially Af-Arch and Vortex Library, which are already using the library successfully in production environments.
Some features this library has are:
A clean implementation, that only includes, those elements defined, and only those, inside the XML 1.0 standard, as defined in the third edition.
Fast and memory efficient implementation. If you still think that XML is slow and memory inefficient, you didn't taste Axl Library. You'll find report about its performance and memory usage at: http://www.aspl.es/xml/doc.html
Ensure that the library is implemented using abstract data types, commonly known as opaque types, to avoid exposing details to the user space code that is consuming the API. This will allow us to improve the library without breaking existing code and, the most important, to not be limited by details already exposed. In fact, this design have being already used to improve the library performance greatly. See reports founds at: http://www.aspl.es/xml/doc.html.
Small and efficient, ensuring on every stable release that the library do not leak, not only while using the library in a proper manner but also when errors were found.
Have a modular design that allows to use only those elements required by your software. At this moment it is provided a base library (with implements XML 1.0) and optional libraries that provides additional features to support XML Namespaces 1.0 and extended encodings.
To have an small footprint is a requirement. Currently LibAxl (118K) and LibAxl-Ns (9K)
Currently the library is stable and it is known to work under GNU/Linux and Windows with a really good performance. See reports found at http://www.aspl.es/xml/doc.html to know more about this.
The library already covers the 95% of common requires that XML development needs. Among others, it support:
The library documentation is composed into two pieces. The Axl manual and the API documentation.
If you find something not properly documented, or some question is not answered on this documentation, check the mailing list.
You can also contact us if you have patches, improvements or suggestions at the mailing list.