# HG changeset patch # User paulb # Date 1121541873 0 # Node ID bb8ad642ec991715d299ac5e57d402bc35c91138 # Parent c01a805e987e297717dd539076448a2ee264cb65 [project @ 2005-07-16 19:24:33 by paulb] Changed the README.txt file to contain general introductory documentation. Added a __version__ attribute to XSLOutput. diff -r c01a805e987e -r bb8ad642ec99 README.txt --- a/README.txt Sat Jul 16 18:26:14 2005 +0000 +++ b/README.txt Sat Jul 16 19:24:33 2005 +0000 @@ -1,44 +1,41 @@ -Warnings: +Introduction +------------ - * Various browsers (eg. Mozilla/Firefox, Konqueror) will not allow the - XMLHttpRequest in-page updates to function unless the application URL - defined within the Configurator application (and other relevant - applications) matches the URL at which the browser finds the application. - --------- - -Steps for making a new application: +XSLTools is a collection of modules and packages facilitating the development +of applications based on XML, XSL stylesheets and transformations, notably Web +applications involving complicated Web forms potentially consisting of +editable hierarchical structures and potentially involving "live" or "in-page" +dynamic updates to portions of those Web forms. - 1. Design a template, adding forms and fields. In the beginning, it is not - that important to use the correct names in each of the fields - these - will be added later. +Dependencies +------------ + +XSLTools has the following basic dependencies: - 2. Add structural template attributes such as template:element, - template:attribute and template:value so that the fields sit in different - parts of the input document format being modelled. Replace the field - names with special functions such as template:field-name(). For buttons - which add and remove parts of the input document, employ selector - notation and the template:this-position() function. +Package Release Information +------- ------------------- + +libxml2dom 0.2 +libxml2 2.6.16 +libxslt 1.1.12 - 3. Where multiple choice fields are employed, input documents must be - transformed so that the multiple choice options are included in the - output. This can be achieved using documents containing the different - option values and transformations which insert those values into the - input document. +The example Web applications require WebStack (release 0.10 or later). + +Notes on In-Page Update Functionality +------------------------------------- - 4. To produce the output document, the template needs preparing first so - that an output stylesheet is produced; then, the output stylesheet is - applied to the processed input document utilising various extension - functions which produce the computed field names in the final output - document. - -Recommendations: +Various browsers (eg. Mozilla/Firefox, Konqueror) will not allow the +XMLHttpRequest in-page updates to function unless the application URL defined +within the Configurator application (and other relevant applications) matches +the URL at which the browser finds the application. This URL is deduced by the +various applications using the WebStack API, but it is possible that the +values returned by that API do not match the actual addresses entered into the +address bar of the browser. - * Where multiple fields exist and can be added and removed, put them - inside a separate element so that the selectors can successfully - identify them. Otherwise, changing element orders can result in the - wrong element being selected. - - * Make sure that transformations on the input document produce all the - necessary elements for the output document so that the resulting page - gives the user the opportunity to specify data that is missing. +To check the behaviour of the applications, it is possible to view the +document source of the pages served by applications and to verify that the +URLs mentioned in the JavaScript function calls (to 'requestUpdate') involve a +URL similar to that which appears in the browser's address bar. In some +environments, the use of 'localhost' addresses often confuses the browser and +server; one workaround is to use real host names or addresses instead of +'localhost'. diff -r c01a805e987e -r bb8ad642ec99 XSLOutput.py --- a/XSLOutput.py Sat Jul 16 18:26:14 2005 +0000 +++ b/XSLOutput.py Sat Jul 16 19:24:33 2005 +0000 @@ -4,6 +4,8 @@ XSL output classes and functions. """ +__version__ = "0.1" + # NOTE: Make this use other implementations, too. import libxsltmod