.. Treefic documentation master file, created by sphinx-quickstart on Fri Oct 15 19:14:26 2010. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome the Treefic homepage ============================ Treefic is a tool for parsing text files as XML trees. DISCLAIMER: this documentation just a draft for the moment. Some parts are not finalized, some other parts are not even written yet... Underlying idea +++++++++++++++ Treefic is born of an observation: XML-based syntaxes are sometimes used in contexts where a specialized text-based syntax (i.e. with minimal markup, if any) would be more appropriate. XML is a great standard, which has provided a large variety of reusable tools to manipulate (store_, exchange_, transform_, query_, digitally sign_...) documents and data structured as trees. However, the central feature of XML, namely the underlying hierarchical structure of XML files, is often mistaken with the generic exchange_ syntax which has been its starting point. It is a shame because that syntax is not a panacea. It is generic so as to allow expressing arbitrary XML trees, and even mix different vocabularies (courtesy of namespaces_). The price to pay for this genericity is a high level of verbosity in the markup which structures the actual data into a tree. That makes some XML-based syntaxes hard to read and edit with general-purpose text-based tools. We claim that in some contexts, this trade-off is not satisfactory, and readability is more important than genericity. But by getting rid of the XML syntax, wouldn't one also lose the ability to use all the related technologies? The aim of Treefic is to **bridge the gap** between XML-based and text-based syntaxes, in order to **get the best of both world**. Given a text and a `context-free grammar`:term:, it converts that text to an XML tree, which can in turn be handled using standard XML technologies. The goal of Treefic is therefore twofold: * promoting XML technologies by extending their scope to a larger set of formats, and * advocating for the use of specialised text-based syntaxes wherever they are more suitable than generic XML-based syntaxes. .. TODO put correct links here .. _store: #TODO .. _exchange: #TODO .. _transform: #TODO .. _query: #TODO .. _sign: #TODO .. _namespaces: #TODO Download ++++++++ Treefic development is still ongoing. See the Developers_ section below to get the source code. Developers ++++++++++ The source code is available as a subversion_ repository. Get it with:: svn co https://svn.liris.cnrs.fr/pchampin/treefic/trunk/ .. _subversion: http://subversion.tigris.org/