I'm slowly and painfully writing a paper for the Generative Programming and Component Engineering (GPCE'05) conference. I hate my writing which should be thrown away and rewritten from scratch. But deadline is near, and today was a firm day for submitting abstracts.
So I've submitted my abstract:
Reusing XML processing code in non-XML applications
XML can be considered as a representation of hierarchical data, and the XML-related standards — as methods of processing such data. We describe benefits of XML view on legacy data and its processing, and suggest a method to develop XML tools and make them reusable for different tree-like structures in different programming languages.
Our approach is to use virtual machine technology, in particular, the Scheme programming language. We're taking the unusual step of using the Scheme syntax itself as a native virtual machine language. Together with the SXML format and Scheme implementations tuning, it gives us the XML virtual machine.
Reference implementations are ready for the Python and C languages. We describe a library for XSLT-like transformations of the Python parse trees and a special version of the GNU find utility which supports XPath queries over the file system.