AYA : Ayauhteotl, the XML parser generator
Classical tools for dealing with XML files are the libxml library, or other generic parsers, which build a generic data structure (often a tree), mirror of the data held in the file, and let you travel through these structures, to manipulate your datas. The tree can also not be build, and through callback functions, you can plug, through a big switch statement, your code when opening and closing tags.
The Idea behind Ayauhteotl, is to use XML for managing structured data, by generating a specific parser for a given DTD. Users describe their target documents in an XML file, providing action in native C language when encountering tags, and pass this file to the aya program. It builds up a C file, which parses the XML files, verify their consistency and execute the code corresponding to the encountered tags.
Currently, Ayauhteotl is capable of generating itself: the source comes with a file ayaparser.aya, which is a correct aya file, and when passed to aya, builds up the ayaparser.c file, which is the core code of the aya program.
More specificities in the status section.
Want to contribute to Ayauhteotl as a developer or in another way, useful information can be found here.
There is an alpha version downloadable, but we encourage usage of the last cvs repository. Bugs are corrected slowly, but they are corrected
More to see in the download page.
End-User Documentation, General Developer Documentation, or any example would be welcome (see the documentation and the contribute page).
Also to do... see the contribute page