1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/index.html Sat Jul 16 19:25:13 2005 +0000
1.3 @@ -0,0 +1,42 @@
1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1.5 +<html xmlns="http://www.w3.org/1999/xhtml">
1.6 +<head>
1.7 + <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" />
1.8 + <title>Developing Web Applications with XSLTools</title>
1.9 + <meta name="generator"
1.10 + content="amaya 8.1a, see http://www.w3.org/Amaya/" />
1.11 + <link href="styles.css" rel="stylesheet" type="text/css" />
1.12 +</head>
1.13 +<body>
1.14 +<h1>Developing Web Applications with XSLTools</h1>
1.15 +<p>This documentation introduces the XSLTools package and the XSLForms
1.16 +framework for developing forms-based Web applications using Python, <a
1.17 + href="http://www.boddie.org.uk/python/libxml2dom.html">libxml2dom</a>,
1.18 +libxml2, libxslt and (optionally) <a
1.19 + href="http://www.boddie.org.uk/python/WebStack.html">WebStack</a>.</p>
1.20 +<h2>Setting Up</h2>
1.21 +<p>First of all, let us assume that the XSLTools distribution has been
1.22 +unpacked and now sits in the <code>XSLTools-0.1</code> directory.</p>
1.23 +<p>Before we begin, we must make sure that the XSLTools package is
1.24 +available
1.25 +to Python. The easiest way to do this is to change into the <code>XSLTools-0.1</code>
1.26 +directory and to run the <code>setup.py</code>
1.27 +script provided with the version of Python you are going to be using
1.28 +(possibly as a privileged user like <code>root</code>):</p>
1.29 +<pre>cd XSLTools-0.1<br />python setup.py install</pre>
1.30 +<p>If you don't want to install XSLTools in this way, or if you can't
1.31 +do so
1.32 +because you don't have <code>root</code> privileges, you can just make
1.33 +sure
1.34 +that the <code>XSLTools-0.1</code> directory sits on your
1.35 +<code>PYTHONPATH</code>.</p>
1.36 +<h2>Viewing the API Documentation</h2>
1.37 +<p>The API documentation for use in conjunction with this
1.38 +guide can be found inside the <a href="../apidocs/index.html"><code>apidocs</code></a>
1.39 +directory within the <code>XSLTools-0.1</code> directory. Of course,
1.40 +it is always possible to view the API documentation
1.41 +within Python by importing modules (such as <a
1.42 + href="../apidocs/public/XSLOutput-module.html"><code>XSLOutput</code></a>)
1.43 +and using Python's built-in <code>help</code> function.</p>
1.44 +</body>
1.45 +</html>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/docs/overview.html Sat Jul 16 19:25:13 2005 +0000
2.3 @@ -0,0 +1,46 @@
2.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.5 +<html xmlns="http://www.w3.org/1999/xhtml">
2.6 +<head>
2.7 + <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" />
2.8 + <title>Creating Applications: An Overview</title>
2.9 + <meta name="generator"
2.10 + content="amaya 8.1a, see http://www.w3.org/Amaya/" />
2.11 + <link href="styles.css" rel="stylesheet" type="text/css" />
2.12 +</head>
2.13 +<body>
2.14 +<h1>Creating Applications: An Overview</h1>
2.15 +<p>The following steps briefly describe how to make a new application:<br />
2.16 +</p>
2.17 +<ol>
2.18 + <li>Design a template, adding forms and fields. In the beginning, it
2.19 +is not that important to use the correct names in each of the fields -
2.20 +these will be added later.</li>
2.21 + <li>Add structural template attributes such as template:element,
2.22 +template:attribute and template:value so that the fields sit in
2.23 +different parts of the input document format being modelled. Replace
2.24 +the field names with special functions such as template:field-name().
2.25 +For buttons which add and remove parts of the input document, employ
2.26 +selector notation and the template:this-position() function.</li>
2.27 + <li>Where multiple choice fields are employed, input documents must
2.28 +be transformed so that the multiple choice options are included in the
2.29 +output. This can be achieved using documents containing the different
2.30 +option values and transformations which insert those values into the
2.31 +input document.</li>
2.32 + <li>To produce the output document, the template needs preparing
2.33 +first so that an output stylesheet is produced; then, the output
2.34 +stylesheet is applied to the processed input document utilising various
2.35 +extension functions which produce the computed field names in the final
2.36 +output document.</li>
2.37 +</ol>
2.38 +<h2>Recommendations</h2>
2.39 +<ol>
2.40 + <li>Where multiple fields exist and can be added and removed, put
2.41 +them inside a separate element so that the selectors can successfully
2.42 +identify them. Otherwise, changing element orders can result in the
2.43 +wrong element being selected.</li>
2.44 + <li>Make sure that transformations on the input document produce all
2.45 +the necessary elements for the output document so that the resulting
2.46 +page gives the user the opportunity to specify data that is missing.</li>
2.47 +</ol>
2.48 +</body>
2.49 +</html>