1.1 --- a/README.txt Sat Jul 16 18:26:14 2005 +0000
1.2 +++ b/README.txt Sat Jul 16 19:24:33 2005 +0000
1.3 @@ -1,44 +1,41 @@
1.4 -Warnings:
1.5 +Introduction
1.6 +------------
1.7
1.8 - * Various browsers (eg. Mozilla/Firefox, Konqueror) will not allow the
1.9 - XMLHttpRequest in-page updates to function unless the application URL
1.10 - defined within the Configurator application (and other relevant
1.11 - applications) matches the URL at which the browser finds the application.
1.12 -
1.13 ---------
1.14 -
1.15 -Steps for making a new application:
1.16 +XSLTools is a collection of modules and packages facilitating the development
1.17 +of applications based on XML, XSL stylesheets and transformations, notably Web
1.18 +applications involving complicated Web forms potentially consisting of
1.19 +editable hierarchical structures and potentially involving "live" or "in-page"
1.20 +dynamic updates to portions of those Web forms.
1.21
1.22 - 1. Design a template, adding forms and fields. In the beginning, it is not
1.23 - that important to use the correct names in each of the fields - these
1.24 - will be added later.
1.25 +Dependencies
1.26 +------------
1.27 +
1.28 +XSLTools has the following basic dependencies:
1.29
1.30 - 2. Add structural template attributes such as template:element,
1.31 - template:attribute and template:value so that the fields sit in different
1.32 - parts of the input document format being modelled. Replace the field
1.33 - names with special functions such as template:field-name(). For buttons
1.34 - which add and remove parts of the input document, employ selector
1.35 - notation and the template:this-position() function.
1.36 +Package Release Information
1.37 +------- -------------------
1.38 +
1.39 +libxml2dom 0.2
1.40 +libxml2 2.6.16
1.41 +libxslt 1.1.12
1.42
1.43 - 3. Where multiple choice fields are employed, input documents must be
1.44 - transformed so that the multiple choice options are included in the
1.45 - output. This can be achieved using documents containing the different
1.46 - option values and transformations which insert those values into the
1.47 - input document.
1.48 +The example Web applications require WebStack (release 0.10 or later).
1.49 +
1.50 +Notes on In-Page Update Functionality
1.51 +-------------------------------------
1.52
1.53 - 4. To produce the output document, the template needs preparing first so
1.54 - that an output stylesheet is produced; then, the output stylesheet is
1.55 - applied to the processed input document utilising various extension
1.56 - functions which produce the computed field names in the final output
1.57 - document.
1.58 -
1.59 -Recommendations:
1.60 +Various browsers (eg. Mozilla/Firefox, Konqueror) will not allow the
1.61 +XMLHttpRequest in-page updates to function unless the application URL defined
1.62 +within the Configurator application (and other relevant applications) matches
1.63 +the URL at which the browser finds the application. This URL is deduced by the
1.64 +various applications using the WebStack API, but it is possible that the
1.65 +values returned by that API do not match the actual addresses entered into the
1.66 +address bar of the browser.
1.67
1.68 - * Where multiple fields exist and can be added and removed, put them
1.69 - inside a separate element so that the selectors can successfully
1.70 - identify them. Otherwise, changing element orders can result in the
1.71 - wrong element being selected.
1.72 -
1.73 - * Make sure that transformations on the input document produce all the
1.74 - necessary elements for the output document so that the resulting page
1.75 - gives the user the opportunity to specify data that is missing.
1.76 +To check the behaviour of the applications, it is possible to view the
1.77 +document source of the pages served by applications and to verify that the
1.78 +URLs mentioned in the JavaScript function calls (to 'requestUpdate') involve a
1.79 +URL similar to that which appears in the browser's address bar. In some
1.80 +environments, the use of 'localhost' addresses often confuses the browser and
1.81 +server; one workaround is to use real host names or addresses instead of
1.82 +'localhost'.
2.1 --- a/XSLOutput.py Sat Jul 16 18:26:14 2005 +0000
2.2 +++ b/XSLOutput.py Sat Jul 16 19:24:33 2005 +0000
2.3 @@ -4,6 +4,8 @@
2.4 XSL output classes and functions.
2.5 """
2.6
2.7 +__version__ = "0.1"
2.8 +
2.9 # NOTE: Make this use other implementations, too.
2.10
2.11 import libxsltmod