Tree [r637] /

File Date Author Commit
 admin 2009-05-27 alain-couthures [r150] Mark Logic CLA
 branches 2011-10-07 alain-couthures [r509] id() support + performance improvements
 jsunittest 2009-04-20 alain-couthures [r123] Unit tests TestSuite Management
 releases 2012-10-03 alain-couthures [r558] event() improvements for mouse
 scripts 2011-10-28 alain-couthures [r512] TinyMCE Integration
 testsuite 2014-02-23 alain-couthures [r588] 1.0RC2
 trunk 2016-07-14 alain-couthures [r637] Text node binding
 txs 2015-11-15 alain-couthures [r627] format-number() Support
 wiky 2009-04-16 alain-couthures [r114] Wiki embedded documentation management
 .htaccess 2015-09-27 alain-couthures [r622] Subforms improvements #2
 lgpl-2.1.txt 2009-12-21 alain-couthures [r295] LGPL 2.1 licence
 readme.txt 2009-04-20 alain-couthures [r122] build.txs script added

Read Me

XSLTForms Source Management

1. Source files

XSLTForms is composed of the following files :


Those files are relatively big and complex. They are generated from numerous

2. Components

Components are elementary source elements. Each is stored as an XML document
with metadata, unit tests and the source itself.

Components can be composed of other components.

The main components for XSLTForms are :


3. tXs

tXs is an XML script engine written in PHP 5. It is composed of an unique file
named "txs.php" while scripts usually have a ".txs" extension.

First, install Apache+PHP5 locally, and activate the Rewrite Module.

Get all the XSLTForms files from SVN server into a subfolder (named
"XSLTFormsRoot" for example) of the DocumentRoot folder (a ".htaccess" file
should be present in the "XSLTFormsRoot" folder).

To check that tXs is correctly installed, get
"http://localhost/XSLTFormsRoot/txs/txs.php" with a browser : the default
script, named "echo.txs" should run and the response should be an XHTML page
with "tXs Echo Script" as title.

To check that URL rewriting is correctly installed, get
"http:/localhost/XSLTFormsRoot/txs/echo.txs" with a browser : the response
should be an XHTML page with "tXs Echo Script" as title.

4. Dynamic build of XSLTForms files

Because of URL rewriting, .js, .xsl and .css files are not directly delivered.
Instead, the "cm.txs" script is run : it collects every source within the
corresponding component and sub-components. For the browser, it's exactly as
if it was a real file.

So, main files are obtains with URLs like those :

5. Static build of XSLTForms files

To build a component, just add "?build" at the end of the
component URI. The resulting file is written in the "build" folder at the
same level as the "src" folder.

So, main files are built with URLs like those :

6. Unit tests

Unit tests are based on JsUnitTest (

To run associated unit tests for a component, just add "?ut" at the end of the
component URI.

Examples :

7. Test Suites

Test Suites are stored separately from components in the "testsuite" folder.

To run tests with trunk or branches components, the "testsuite" path has to be
added after the "src" path to main components ("xsltforms.*.xml").
tXs scripts are there to adapt each test to XSLTForms requirements (add the
processing instruction for the XSLT transformation, change the submission
links, ...).

Examples :

8. Feature switching

Feature switching is based on files named "*-options.xml" to be placed in the
same folder as main components ("xsltforms.*.xml"). Options are processing
instructions to add in the XML document to permit the XSLT transformation to
interpret them.

Example :

Then, "/*-options" has to be put just before "/testsuite" in the URL to
activate the corresponding options.

Example :

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks