tiny XML server     tiny XML server

français version française

tiny XML server (tXs) is an OpenSource project hosted by sourceforge.net (http://sourceforge.net/projects/txs).

tXs, as PHP, is a script interpreter. It is provided with an included basic HTTP server but it can also be launched in command line for a batch execution.

tXs scripts

tXs scripts are described with a specific XML language. A tXs script includes XSL stylesheets and tXs commands, mainly for inputs and outputs.

Considering that the purpose of any program is to "transform" initial parameters to resulting data, tXs applies a first XSL-T transformation to given parameters. This transformation will contain tXs commands which will then be interpreted with a bottom-up order in the resulting tree. Other intermediate transformations can be performed but also HTTP requests, file loadings or savings with different non-XML formats. A tXs command is just an Element Node with parameters located in attributes or in the sub-tree. So, for example, "txs:transform" will perform an XSL-T transformation of its sub-tree, applying the stylesheet named as in its attribute "stylesheet" which can be located in the same script file or in an external file. The script ends when the highest tXs command has been interpreted.

tXs is perfecly well suited for XForms : the received instance is transformed to another instance or to an XHTML+XForms page.

tXs purpose

tXs can be used for running small applications just as Orbeon Forms (http://www.orbeon.com) can do for bigger applications. tXs is much simpler but an XForms add-in might be required because no Ajax engine is included. tXs can be used on machines with few RAM and a slow processor. tXs is very efficient in batch mode for transforming data from different sources and in different formats. tXs is already used to build SVG images according to graphic chart parameters and "compile" them into PNG format, thanks to Inkscape (http://www.inkscape.org). tXs has also already been used to capture administrative locations listed on a Web server and then generate a CSV file, thanks to HTML tidy (http://tidy.sourceforge.net) which can translate an HTML page to an XHTML document. MS Word documents have been generated by tXs from CSV files and Web Services, ... and tXs is finally its own compiler.

Adding an ASN.1 encoder/decoder would be easy, so tXs could also act as an LDAP server. If a Windows printer driver is added to tXs, it will then be able to get any data from any Windows application, transform and transfer it anywhere else.

tXs version

While tXs is already correctly working, some functionnalities have to be added for a good official release.

This beta version is written only in C# (via a specific XML notation) but tXs can also be rewritten in Java or C so .Net (no Mono tests have been yet performed), which, evently, is free, would not be required in future versions. A PHP version will soon be developed so it will be possible to use tXs on a non-proprietary Web Server.

Any question or suggestion : info@agencexml.com   http://www.agencexml.com