Tree [r607] /
History



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 5 days ago alain-couthures [r607] Dynamic @xsi:type, itemset and console improvem...
txs 5 days ago alain-couthures [r607] Dynamic @xsi:type, itemset and console improvem...
wiky 2009-04-16 alain-couthures [r114] Wiki embedded documentation management
.htaccess 2014-02-23 alain-couthures [r588] 1.0RC2
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 :

"xsltforms.xsl"
"xsltforms.js"
"xsltforms.css"

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


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 :

"xsltforms.xsl.xml"
"xsltforms.js.xml"
"xsltforms.css.xml"


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 :
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.xsl"
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.js"
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.css"


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 :
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.xsl?build"
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.js?build"
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.css?build"


6. Unit tests
--------------

Unit tests are based on JsUnitTest (http://jsunittest.com/).

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

Examples :
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.js?ut"
"http://localhost/XSLTFormsRoot/trunk/src/xsltforms.xsl?ut"
"http://localhost/XSLTFormsRoot/trunk/src/js/types/TypeDefs.js?ut"


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 :
"http://localhost/XSLTFormsRoot/trunk/src/testsuite/Xforms1.1/Edition1/driverPages/html/"
"http://localhost/XSLTFormsRoot/trunk/src/testsuite/Xforms1.1/Edition1/Chapt02/2.4.a.xhtml"


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 :
"http://localhost/XSLTFormsRoot/trunk/src/nocss-options.xml".

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

Example :
"http://localhost/XSLTFormsRoot/trunk/src/nocss-options/testsuite/Xforms1.1/Edition1/Chapt02/2.4.a.xhtml"