[izpack-changes] r1888 - izpack-src/trunk/src/doc-reST

noreply at berlios.de noreply at berlios.de
Wed Nov 7 03:41:04 CET 2007


Author: jponge
Date: 2007-11-07 03:38:30 +0100 (Wed, 07 Nov 2007)
New Revision: 1888

Added:
   izpack-src/trunk/src/doc-reST/compilePanel.png
   izpack-src/trunk/src/doc-reST/convert.py
   izpack-src/trunk/src/doc-reST/img1.png
   izpack-src/trunk/src/doc-reST/img10.png
   izpack-src/trunk/src/doc-reST/img11.png
   izpack-src/trunk/src/doc-reST/img12.png
   izpack-src/trunk/src/doc-reST/img13.png
   izpack-src/trunk/src/doc-reST/img14.png
   izpack-src/trunk/src/doc-reST/img2.png
   izpack-src/trunk/src/doc-reST/img3.png
   izpack-src/trunk/src/doc-reST/img4.png
   izpack-src/trunk/src/doc-reST/img5.png
   izpack-src/trunk/src/doc-reST/img6.png
   izpack-src/trunk/src/doc-reST/img7.png
   izpack-src/trunk/src/doc-reST/img8.png
   izpack-src/trunk/src/doc-reST/img9.png
   izpack-src/trunk/src/doc-reST/izpanel-uml-diag.png
Modified:
   izpack-src/trunk/src/doc-reST/node13.html.txt
   izpack-src/trunk/src/doc-reST/node2.html.txt
   izpack-src/trunk/src/doc-reST/node3.html.txt
   izpack-src/trunk/src/doc-reST/node4.html.txt
   izpack-src/trunk/src/doc-reST/node5.html.txt
   izpack-src/trunk/src/doc-reST/node6.html.txt
   izpack-src/trunk/src/doc-reST/node7.html.txt
   izpack-src/trunk/src/doc-reST/node8.html.txt
   izpack-src/trunk/src/doc-reST/node9.html.txt
Log:
- Basic conversion to reST is done!
- There are a ton of things to fix, reorganize and enrich...
- Todo:
  - files renamings
  - HTML-TeX frontpage documents
  - proper build script (Python) + Ant integration


Added: izpack-src/trunk/src/doc-reST/compilePanel.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/compilePanel.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/convert.py
===================================================================
--- izpack-src/trunk/src/doc-reST/convert.py	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/convert.py	2007-11-07 02:38:30 UTC (rev 1888)
@@ -0,0 +1,6 @@
+#!/usr/bin/env python
+
+import os
+
+for i in xrange(1, 14):
+	os.system('rst2html.py node%i.html.txt node%i.html' % (i, i))
\ No newline at end of file


Property changes on: izpack-src/trunk/src/doc-reST/convert.py
___________________________________________________________________
Name: svn:executable
   + *

Added: izpack-src/trunk/src/doc-reST/img1.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img10.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img10.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img11.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img11.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img12.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img12.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img13.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img13.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img14.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img14.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img2.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img3.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img4.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img4.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img5.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img5.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img6.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img6.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img7.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img7.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img8.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img8.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/img9.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/img9.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: izpack-src/trunk/src/doc-reST/izpanel-uml-diag.png
===================================================================
(Binary files differ)


Property changes on: izpack-src/trunk/src/doc-reST/izpanel-uml-diag.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: izpack-src/trunk/src/doc-reST/node13.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node13.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node13.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -1,5 +1,5 @@
 CookBooks
-=
+=========
 
 
 1. How To create an ODBC connection with IzPack (by Fabrice Mirabile)
@@ -7,7 +7,7 @@
 
 
 a. Problem
-~~~~~~~~~~
+''''''''''
 
 ODBC can be used as a layer between app servers and databases. It is quite
 convienent to setup an ODBC connection at installation time when the
@@ -16,7 +16,7 @@
 
 
 b. Solution
-~~~~~~~~~~~
+'''''''''''
 
 After looking at many solutions, I found one that is very convenient in the
 sense that it applies to both Windows and UNIX environment.
@@ -35,15 +35,14 @@
 
 
 A fileDSN (the name given to this type of connection) for a connection to an
-Oracle database will look like this :
+Oracle database will look like this : ::
 
-`` [ODBC]
-DRIVER=Oracle in OraHome92
-UID=%{UID}
-PWD=%{PWD}
-DBQ=%{DBName}
-SERVER=%{DBName}
-``
+    [ODBC]
+    DRIVER=Oracle in OraHome92
+    UID=%{UID}
+    PWD=%{PWD}
+    DBQ=%{DBName}
+    SERVER=%{DBName}
 
 Therefore you can realize straightforwardly that by changing the UID and PWD
 you will make your connection point to any schemas you want.
@@ -51,9 +50,9 @@
 In my company's software, we use ODBC to make the connection between the
 application and the database. Therefore, we use a batch to launch the server
 with a bunch of parameters. One of them is the ODBC DSN. This one, using
-fileDSN, should be defined as follows:
+fileDSN, should be defined as follows: ::
 
-SET DSN=filedsn=$INSTALL_PATH\whateveryoulike.dsn
+    SET DSN=filedsn=$INSTALL_PATH\whateveryoulike.dsn
 
 A very nice trick is to put in this batch the UID and the PWD so that it's
 not needed in the file directly and therefore you make the installer create
@@ -69,7 +68,7 @@
 
 
 c. Discussion
-~~~~~~~~~~~~~
+'''''''''''''
 
 **Install.xml:**
 
@@ -79,6 +78,7 @@
 **UserInputSpec.xml:**
 
 ::
+
     <userInput>
         <panel order="0">
                 <field type="staticText" align="left" txt="Server Only:
@@ -129,6 +129,7 @@
 **BatchLoader.bat:**
 
 ::
+
     SET DSN=filedsn=$INSTALL_PATH\whateveryoulike.dsn;UID=$UID;PWD=$PWD
     start $INSTALL_PATH\yourpath\yourapp
 
@@ -136,6 +137,7 @@
 **whateveryoulike.dsn:**
 
 ::
+
     [ODBC]
     DRIVER=Oracle in OraHome92
     DBQ=%{DBName}
@@ -157,6 +159,7 @@
 looks like this:
 
 ::
+
     [ODBC]
     DRIVER=SQL Server
     WSID=%{DBName}
@@ -172,20 +175,18 @@
 and PWD are the same. If not you'll need a little trick...
 
 I hope this helps and if anyone has a question, don't hesitate to contact me
-via `http://developer.berlios.de/sendmessage.php?touser=12462`_ or post into
+via `http://developer.berlios.de/sendmessage.php?touser=12462` or post into
 the user/devel list.
 
 **Done by Fabrice Mirabile on 20th of april 2005**
 
 
-2. Work around for pack and process dependence And Execution of Java
-    Classes that runs SQL/PLSQL
------------------------------------------------------------------------------
--------------------
+2. Work around for pack and process dependence And Execution of Java Classes that runs SQL/PLSQL
+------------------------------------------------------------------------------------------------
 
 
 a. Problem
-~~~~~~~~~~
+''''''''''
 
 I've encountered in many cases the need to have a relation between job being
 executed with the processpanel and a pack. Since IzPack doesn't provide yet
@@ -196,7 +197,7 @@
 
 
 b. Solution
-~~~~~~~~~~~
+'''''''''''
 
 Here is what you will need:
 
@@ -233,11 +234,12 @@
 
 
 c .Discussion
-~~~~~~~~~~~~~
+'''''''''''''
 
 **Install.xml:**
 
 ::
+
     <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
     <installation version="1.0">
     ....
@@ -328,6 +330,7 @@
 **UserInputSpec.xml:**
 
 ::
+
     <userInput>
       <panel order="0">
         <field type="title" align="Left" txt="Database Connection
@@ -386,6 +389,7 @@
 **ProcessPanel.Spec.xml:**
 
 ::
+
     <processing>
       <job name="Executing the Needed Queries">
         <os family="windows" />
@@ -396,7 +400,9 @@
 
 **Launchsql.bat:**
 
-::echo "Execution of SQL Queries \n"
+::
+
+    echo "Execution of SQL Queries \n"
     java -classpath $INSTALL_PATH\updates\msutil.jar;$INSTALL_PATH\update
     s\msbase.jar;$INSTALL_PATH\updates\mssqlserver.jar;$INSTALL_PATH\updates\
     ojdbc14.jar;$INSTALL_PATH\updates\
@@ -413,7 +419,9 @@
 **JDBCGeneral.java: (of course you need the compiled .class !!! but I'm
 showing the source code)**
 
-::/**
+::
+
+    /**
      * Parses a .sql file and runs them depending on DB settings
      * through jdbc.
      *
@@ -495,15 +503,15 @@
                         Name: "+ dm.getDriverName());
                         System.out.println("\tDriver
                         Version: "+ dm.getDriverVersion ());
-System.out.println("\nDatabase Information ");
-System.out.println("\tDatabase Name: "+
+                        System.out.println("\nDatabase Information ");
+                        System.out.println("\tDatabase Name: "+
                         dm.getDatabaseProductName());
-System.out.println("\tDatabase Version: "+
+                        System.out.println("\tDatabase Version: "+
                         dm.getDatabaseProductVersion());
-System.out.println("Avalilable Catalogs ");
+                        System.out.println("Avalilable Catalogs ");
                         rs = dm.getCatalogs();
                         while(rs.next()){
-System.out.println("\tcatalog: "+
+                        System.out.println("\tcatalog: "+
                              rs.getString(1));
                         }
                         rs.close();
@@ -534,15 +542,15 @@
                         Name: "+ dm.getDriverName());
                         System.out.println("\tDriver
                         Version: "+ dm.getDriverVersion ());
-System.out.println("\nDatabase Information ");
-System.out.println("\tDatabase Name: "+
+                        System.out.println("\nDatabase Information ");
+                        System.out.println("\tDatabase Name: "+
                         dm.getDatabaseProductName());
-System.out.println("\tDatabase Version: "+
+                        System.out.println("\tDatabase Version: "+
                         dm.getDatabaseProductVersion());
-System.out.println("Avalilable Catalogs ");
+                        System.out.println("Avalilable Catalogs ");
                         rs = dm.getCatalogs();
                         while(rs.next()){
-System.out.println("\tcatalog: "+
+                        System.out.println("\tcatalog: "+
                              rs.getString(1));
                         }
                         rs.close();
@@ -617,7 +625,7 @@
                      + " = " +  thelist[j] + "\n");
                      String[] StatementsSQL =
                      SQLFileInput(newfolderpath + thelist[j]);
-RunSQLOracle(StatementsSQL,classforname,url,serverName,
+                     RunSQLOracle(StatementsSQL,classforname,url,serverName,
                      portNumber, databaseName, userName, password);
              }
              return thelist;
@@ -636,7 +644,7 @@
                   " +  thelist[j] + "\n");
                   String[] StatementsSQL =
                   SQLFileInput(newfolderpath + thelist[j]);
-RunSQLMS(StatementsSQL,classforname,url,serverName,
+                  RunSQLMS(StatementsSQL,classforname,url,serverName,
                   portNumber, databaseName, userName, password);
             }
              return thelist;
@@ -699,11 +707,11 @@
                 {
                      if (StatementsSQL[i] != null)
                      {
-System.out.print(StatementsSQL[i] + "...");
+                         System.out.print(StatementsSQL[i] + "...");
                          int rowsAffected =
                          stAddUser.executeUpdate(StatementsSQL[i]);
                          if (rowsAffected == 1)
-System.out.println("OK");
+                         System.out.println("OK");
                       }
                 }
                 closeConnection();
@@ -728,11 +736,11 @@
                 {
                     if (StatementsSQL[i] != null)
                      {
-System.out.print(StatementsSQL[i] + "...");
+                        System.out.print(StatementsSQL[i] + "...");
                         int rowsAffected =
                         stAddUser.executeUpdate(StatementsSQL[i]);
                         if (rowsAffected == 1)
-System.out.println("OK");
+                            System.out.println("OK");
                      }
                 }
                 closeConnection();
@@ -774,10 +782,7 @@
 
 Once again, i hope you'll find this useful and if anyone has a question,
 don't hesitate to contact me via
-`http://developer.berlios.de/sendmessage.php?touser=12462`_ or post into the
+`http://developer.berlios.de/sendmessage.php?touser=12462` or post into the
 user/devel list.
 
 **Done by Fabrice Mirabile on 20th of april 2005**
-
-.. _http://developer.berlios.de/sendmessage.php?touser=12462:
-    http://developer.berlios.de/sendmessage.php?touser=12462

Modified: izpack-src/trunk/src/doc-reST/node2.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node2.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node2.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -2,60 +2,58 @@
 ============
 
 
-Welcome to IZPACK !
-==
+Welcome to IzPack !
+-------------------
 
-.. image:: img1.png
-    :alt: \fbox{\includegraphics[scale=0.5]{img/lang-sel-splash}}
-IZPACK is a tool that will help you to solve your software installation
+IzPack is a tool that will help you to solve your software installation
 problems. It is a JavaTM based software installer builder that will run on
 any operating system coming with a *Java Virtual Machine (JVM)* that is
 compliant with the Sun JVM 1.4 or higher. Its design is very modular and you
 will be able to choose how **you** want your installer to look and you will
 also be able to customize it using a very simple *Application Programming
-Interface (API)*. Although IZPACK is essentially a JavaTM only application
+Interface (API)*. Although IzPack is essentially a JavaTM only application
 (it can run on virtually any operating system), it can interact in a clean
 way with the underlying operating system. Native code can interact with it on
 a specific platform without disturbing the operation on incompatible
 operating systems. For instance, you can develop Unix-specific code that will
 be silent if run on Windows. To put it in a nutshell, whereas most of the
-other JavaTM installers force you to go their way, IZPACK will let you go
+other JavaTM installers force you to go their way, IzPack will let you go
 **your way**. Some respectable companies have been using it in order to
 produce customized installers for their *very* specific needs.
 
 
 *"So, if it's so good, how much is it ?"* : well, you can get it for free.
-**BUT** IZPACK is not a *freeware*. It's not *free* as in *"free beer"* but
+**BUT** IzPack is not a *freeware*. It's not *free* as in *"free beer"* but
 *"free as in free speech"*. So it's neither *freeware* nor *public domain*.
 It is software covered by the Apache Software License 2.0. You have access to
-the IZPACK source code and you can modify it to make it suit your needs, but
+the IzPack source code and you can modify it to make it suit your needs, but
 if you publish such a modified version, you are forced to publish the
 modifications you've made.That's a fair exchange of expertise and work. To
 learn more about the Apache Software License 2.0, visit
-```http://www.apache.org/licenses/LICENSE-2.0.html`_``.
+http://www.apache.org/licenses/LICENSE-2.0.html
 
 
 
 The Features
-============
+------------
 
-IZPACK uses XML files to describe installations. When you make an installer,
+IzPack uses XML files to describe installations. When you make an installer,
 you have a choice of panels. You can see panels as a kind of plugin that
 composes the installer. For instance, a panel can choose the installation
 path, the packs to install, prompt the user for a license agreement and so
 on. This approach is very modular. You can also create your own panels if you
 have specific needs. In some cases you even have a choice from multiple panel
 versions for the same task. You can also choose the order in which panels
-appear during the installation process. IZPACK can be used in a number of
+appear during the installation process. IzPack can be used in a number of
 different ways:
 
 -   by writing the XML installation file "by hand" and compiling it with
     the command line compiler
 -   by invoking the compiler from the great APACHE JAKARTA ANT tool (see
-    ``` http://jakarta.apache.org/`_``) as IZPACK can be used as a task for
+    http://jakarta.apache.org/) as IzPack can be used as a task for
     ANT
 
-Here is a brief (and certainly incomplete !) list of the main IZPACK features
+Here is a brief (and certainly incomplete !) list of the main IzPack features
 :
 
 -   XML based installation files
@@ -76,9 +74,9 @@
 
 
 The Development
-===============
+---------------
 
-i started writing IZPACK in April 2001 and many people have helped me
+I started writing IzPack in April 2001 and many people have helped me
 improving it since. i prefer not to mention them here as i would for sure
 forget some of them, so please check the file named ``Thanks.txt`` which i
 try to get as up-to-date as possible in order to mention everyone who helped
@@ -93,10 +91,10 @@
 -   writing manuals
 -   ... anything else you like :-)
 
-The official IZPACK homepage is located at ```https://izpack.github.io/`_``. The
+The official IzPack homepage is located at https://izpack.github.io/. The
 IzPack developer services (mailing-lists, CVS, patches manager, bugs tracker,
 ...) are generously hosted by BerliOS. The IzPack BerliOS section is located
-at ```http://developer.berlios.de/projects/izpack/`_``. Feel free to use
+at http://developer.berlios.de/projects/izpack/. Feel free to use
 these services. In particular, there are two mailing-lists:
 
 -   ``izpack-devel``: used for the IzPack development
@@ -104,41 +102,29 @@
     IzPack.
 
 
-3rd party code used in IZPACK
-===
+3rd party code used in IzPack
+-----------------------------
 
-IZPACK uses several 3rd party libraries and i would like to mention them in
+IzPack uses several 3rd party libraries and i would like to mention them in
 respect for their respective authors work :
 
--   *NanoXML* by Marc DE SCHEEMAECKER : the XML parser used inside IZPACK
-    and released under a *zlib/png*-style license - see
-```http://nanoxml.sourceforge.net/`_`` -
+-   *NanoXML* by Marc DE SCHEEMAECKER : the XML parser used inside IzPack
+    and released under a *zlib/png*-style license - see http://nanoxml.sourceforge.net/
 -   *Kunststoff Look and Feel* by Incors Gmbh : a SwingTM Look and Feel
     that can be used for installers. It **really** looks good and is released
     under the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) - see
-    ```http://www.incors.org/`_`` -
--   *Crystal-SVG Icons* : the icons used in IZPACK come from the great
-    work of Everaldo (```http://www.everaldo.com/`_``) that makes KDE 3.2
+    http://www.incors.org/
+-   *Crystal-SVG Icons* : the icons used in IzPack come from the great
+    work of Everaldo (http://www.everaldo.com/) that makes KDE 3.2
     look so sweet
 -   *Some Apache Jakarta classes and libraries* : released under the
     *Apache License*
 -   *Metouia Look and Feel* by Taoufik Romdhane : released under the
-    *LGPL license* - see ```http://mlf.sf.net/`_``
+    *LGPL license* - see http://mlf.sf.net/
 -   *Liquid Look and Feel* by Miroslav Lazarevic : released under the
-    *LGPL license* - see ```liquidlnf.sf.net/`_``
+    *LGPL license* - see liquidlnf.sf.net/
 -   *JGoodies Looks* by Karsten Lentzsch : released under a *BSD-style
-    license* - see ```http://looks.dev.java.net/`_``.
+    license* - see http://looks.dev.java.net/
 
-So, now let's dive into understanding how IZPACK works. You'll be surprised
+So, now let's dive into understanding how IzPack works. You'll be surprised
 to see how powerful and simple it can be :-)
-
-.. _http://www.apache.org/licenses/LICENSE-2.0.html: http://www.apache.org/licenses/LICENSE-2.0.html
-.. _ http://jakarta.apache.org/: http://jakarta.apache.org/
-.. _https://izpack.github.io/: https://izpack.github.io/
-.. _http://developer.berlios.de/projects/izpack/:  http://developer.berlios.de/projects/izpack/
-.. _http://nanoxml.sourceforge.net/: http://nanoxml.sourceforge.net/
-.. _http://www.incors.org/: http://www.incors.org/
-.. _http://www.everaldo.com/: http://www.everaldo.com/
-.. _http://mlf.sf.net/: http://mlf.sf.net/
-.. _liquidlnf.sf.net/: liquidlnf.sf.net/
-.. _http://looks.dev.java.net/: http://looks.dev.java.net/

Modified: izpack-src/trunk/src/doc-reST/node3.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node3.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node3.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -1,536 +1,360 @@
 Getting started
-===============
+================
 
-
 Overview
-========
+---------
 
-To begin with, you should know what IzPack is organized if you want to use
-it. let's go into the directory where you have installed IzPack on your
-machine. There are 3 text files and a set of directories. The most important
-for the moment are ``bin/ doc/ sample/``. If you are reading this, you
-already know that ``doc`` contains this documentation :-)
-So let's go into ``bin/``. The ``icons/`` directory contains some directories
-for your system, in case you would like an icon to launch a component of
-IzPack . But the most important things you can see in ``bin`` are the
-``compile`` scripts (in both unix* and windows formats). ``Compile`` is used
-to compile a ready-to-go xml installation file from a command-line context or
-from an external tool.
-*Note : these scripts can be launched from anywhere on your system as the
-installer has customized these scripts so that they can inform IzPack of
-where it is located.*
+To begin with, you should know what IzPack is organized if you want to use it. let's go into the directory where you have installed IzPack on your machine. There are 3 text files and a set of directories. The most important for the moment are bin/ doc/ sample/. If you are reading this, you already know that doc contains this documentation :-) 
 
+So let's go into bin/. The icons/ directory contains some directories for your system, in case you would like an icon to launch a component of IzPack . But the most important things you can see in bin are the compile scripts (in both unix* and windows formats). Compile is used to compile a ready-to-go xml installation file from a command-line context or from an external tool.
 
+Note : these scripts can be launched from anywhere on your system as the installer has customized these scripts so that they can inform IzPack of where it is located.
 
-Installation of Izpack
-======================
+Installation of IzPack
+-----------------------
 
-First go get the latest stable version of IzPack from:
-`https://izpack.github.io/downloads`_
+First go get the latest stable version of IzPack from: https://izpack.github.io/downloads
 
+If needed download the Latest Java Run Time from Sun's website http://java.sun.com/. You should get the JRE if you intend to ONLY run the installer and get the SDK if you're willing to compile as well.
 
-Windows
--------
+On Windows
+'''''''''''
 
-If needed download the Latest Java Run Time from Sun's website
-`http://java.sun.com/`_. You should get the JRE if you intend to ONLY run the
-installer and get the SDK if you're willing to compile as well.
-
 Don't forget to set up the environment variables:
 
+If using the SDK: ::
 
--   If using the SDK:
+  set JAVA_HOME="C:\j2sdk1.4.2_04"
+  set JRE_HOME=%JAVA_HOME%/jre
+  set CLASSPATH=%JAVA_HOME%/bin;%CLASSPATH%
+  set PATH=%JAVA_HOME%/bin;%JRE_HOME%/bin;%PATH%
 
-set JAVA_HOME="C:\j2sdk1.4.2_04"
-set JRE_HOME=%JAVA_HOME%/jre
-set CLASSPATH=%JAVA_HOME%/bin;%CLASSPATH%
-set PATH=%JAVA_HOME%/bin;%JRE_HOME%/bin;%PATH%
-
 This is obvioulsy assuming that SDK has been installed to "C:\j2sdk1.4.2_04"
 
+If using the JRE: ::
 
--   If using the JRE:
+  set JAVA_HOME="C:\Program Files\Java\j2re1.4.2_05"
+  set CLASSPATH=%JAVA_HOME%/bin;%CLASSPATH%
+  set PATH=%JAVA_HOME%/bin;%PATH%
 
-set JAVA_HOME="C:\Program Files\Java\j2re1.4.2_05"
-set CLASSPATH=%JAVA_HOME%/bin;%CLASSPATH%
-set PATH=%JAVA_HOME%/bin;%PATH%
+This is obviously assuming that SDK has been installed to "C:\Program Files\Java\j2re1.4.2_05"
+Once this is done, you can install IzPack using the following command: ::
 
-This is obvioulsy assuming that SDK has been installed to "C:\Program
-Files\Java\j2re1.4.2_05"
+  java -jar izpack.jar
 
-Once this is done, you can install IzPack using the following command:
-java -jar izpack.jar
-
 Where izpack.jar is the latest release you downloaded from IzPack website.
 
+On UNIX/Linux
+''''''''''''''
 
-UNIX/Linux
-----------
+If needed download the Latest Java Run Time from Sun's website http://java.sun.com/. You should get the JRE if you intend to ONLY run the installer, but you should get the SDK if you're willing to compile as well.
 
-If needed download the Latest Java Run Time from Sun's website
-http://java.sun.com/. You should get the JRE if you intend to ONLY run the
-installer, but you should get the SDK if you're willing to compile as well.
+If using the SDK: ::
 
--   If using the SDK:
+  export JAVA_HOME=/usr/java/j2sdk1.4.2_06
+  export JAVA_JAR=/usr/java/java_jar
+  export JRE_HOME=/usr/java/j2sdk1.4.2_06/jre
+  export CLASSPATH=/usr/java/j2sdk1.4.2_06/bin
+  export PATH=/usr/java/j2sdk1.4.2_06/bin:/usr/java/j2sdk1.4.2_06/jre/bin:$PATH
 
-export JAVA_HOME=/usr/java/j2sdk1.4.2_06
-export JAVA_JAR=/usr/java/java_jar
-export JRE_HOME=/usr/java/j2sdk1.4.2_06/jre
-export CLASSPATH=/usr/java/j2sdk1.4.2_06/bin
-export PATH=/usr/java/j2sdk1.4.2_06/bin:/usr/java/j2sdk1.4.2_06/jre/bin:$PATH
+This is obviously assuming that java has been installed to /usr/java/j2sdk1.4.2_06
 
-This is obvioulsy assuming that java has been installed to
-/usr/java/j2sdk1.4.2_06
+If using the JRE: ::
 
+  export JAVA_HOME=/usr/java/j2re1.4.2_05
+  export CLASSPATH=$JAVA_HOME/bin:$CLASSPATH
+  export PATH=$JAVA_HOME/bin:$PATH
 
--   If using the JRE:
+This is obviously assuming that SDK has been installed to "/usr/java/j2re1.4.2_05"
+You can put them into any script launched at startup if you don't want to have to do it everytime.
+For example, .bashrc of your user, so that whenever you'll start a bash console the variables will be set.
 
-export JAVA_HOME=/usr/java/j2re1.4.2_05"
-export CLASSPATH=$JAVA_HOME/bin:$CLASSPATH
-export PATH=$JAVA_HOME/bin:$PATH
+To verify that the environment is correct, type SET in the command prompt and check if those variables are set before running any compilation.
 
-This is obvioulsy assuming that SDK has been installed to
-"/usr/java/j2re1.4.2_05"
+Then you install IzPack using the following command: ::
 
-You can put them into any script launched at startup if you don't want to
-have to do it everytime.
-For example, .bashrc of your user, so that whenever you'll start a bash
-console the variables will be set.
+  java -jar izpack.jar
 
-To verify that the environment is correct, type SET in the command prompt and
-check if those variables are set before running any compilation.
-
-=> Then you install IzPack using the following command:
-java -jar izpack.jar
-
 By default it will be installed in /usr/local/IzPack.
-Therefore you can create two scripts, one for compiling your code and the
-second to execute the installer.
+Therefore you can create two scripts, one for compiling your code and the second to execute the installer.
 
-Compile.sh:
-#!/bin/sh
-/usr/local/IzPack/bin/compile /yourpath/Install.xml -b /yourpath -o
-/yourpath/yourjaroutput.jar -k standard
+Compile.sh: ::
 
-Install.sh:
-#!/bin/sh
-java -jar yourjaroutput.jar
+  #!/bin/sh
+  /usr/local/IzPack/bin/compile /yourpath/Install.xml -b /yourpath -o /yourpath/yourjaroutput.jar -k standard
 
+Install.sh: ::
 
+  #!/bin/sh
+  java -jar yourjaroutput.jar
 
-BUGS and TROUBLESHOOTING
+**BUGS and TROUBLESHOOTING**
 
-1.  This is assuming that you're current Unix/Linux allows the use of the
-    server X. In cas it doesn't here is a way to install IzPack using cygwin
-    (thanks to Shrish Buradkar and Bartz Klaus for this trick):
+1. This is assuming that you're current Unix/Linux allows the use of the server X. In cas it doesn't here is a way to install IzPack using cygwin (thanks to Shrish Buradkar and Bartz Klaus for this trick):
 
-Install cygwin on a remote machine. Cygwin can be downloaded from
-`http://www.cygwin.com/`_
-Firstly, start the XWindows server on your PC. This could be done by using
-the startxwin-multiwindow batch file or running /usr/X11R6/bin/startxwin.sh
-From the cygwin Xterm, type xhost +
-Then telnet to the remote UNIX/Linux machine and set the DISPLAY to your PC.
-So after you have logged into the remote machine, do export DISPLAY=pc-ip-
-adress:0.0 xterm & java -jar installer.jar
-This should do the job by displaying an xterm from the remote machine onto
-yor PC.
+   Install cygwin on a remote machine. Cygwin can be downloaded from http://www.cygwin.com/
+   Firstly, start the XWindows server on your PC. This could be done by using the startxwin-multiwindow batch file or running /usr/X11R6/bin/startxwin.sh
+   From the cygwin Xterm, type xhost +
+   Then telnet to the remote UNIX/Linux machine and set the DISPLAY to your PC. So after you have logged into the remote machine, do export DISPLAY=pc-ip-adress:0.0 xterm & java -jar installer.jar
+   This should do the job by displaying an xterm from the remote machine onto yor PC.
 
+2. Normally launching packages created by IzPack under Gnome, KDE or XFCE works fine. If when trying to launch a pack you receive this error message: ::
 
-2.  Normally launching packages created by IzPack under Gnome, KDE or
-    XFCE works fine. If when trying to launch a pack you receive this error
-    message: ::
-        Exception in thread "main" java.lang.InternalError: Can't
-        connect to X11
-        window server using ':0.0' as the value of the DISPLAY
-        variable.
-                at
-                sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
-                at
-        sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironmen
-        t.java:134)
-                at java.lang.Class.forName0(Native Method)
-                at java.lang.Class.forName(Class.java:141)
-                at
-        java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Grap
-        hicsEnvironment.java:62)
-                at
-                java.awt.Font.initializeFont(Font.java:308)
-                at java.awt.Font.<init>(Font.java:344)
-                at
-        com.izforge.izpack.gui.IzPackMetalTheme.createFont(IzPackMeta
-        lTheme.java:62)
-                at
-        com.izforge.izpack.gui.IzPackMetalTheme.<init>(IzPackMetalThe
-        me.java:52)
-                at
-        com.izforge.izpack.gui.IzPackKMetalTheme.<init>(IzPackKMetalT
-        heme.java:59)
-                at
-                sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
-        Method)
-                at
-        sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeC
-        onstructorAccessorImpl.java:39)
-                at
-        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Del
-        egatingConstructorAccessorImpl.java:27)
-                at java.lang.reflect.Constructor.newInstance(
-                Constructor.java:274)
-                at
-                java.lang.Class.newInstance0(Class.java:308)
-                at
-                java.lang.Class.newInstance(Class.java:261)
-                at
-        com.izforge.izpack.installer.GUIInstaller.loadLookAndFeel(GUI
-        Installer.java:297)
-                at
-        com.izforge.izpack.installer.GUIInstaller.<init>(GUIInstaller
-        .java:100)
-                at
-                sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
-        Method)
-                at
-        sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeC
-        onstructorAccessorImpl.java:39)
-                at
-        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Del
-        egatingConstructorAccessorImpl.java:27)
-                at java.lang.reflect.Constructor.newInstance(
-                Constructor.java:274)
-                at
-                java.lang.Class.newInstance0(Class.java:308)
-                at
-                java.lang.Class.newInstance(Class.java:261)
-                at com.izforge.izpack.installer.Installer.mai
-                n(Installer.java:47)
-         Then, it's most probably the fact that in some distribution
-         the console and environment variables are "erased" when switching
-         between users. So, you can type 'su -' in order to obtain all
-         commands. With 'su -' $DISPLAY variables is erased and all X11
-         connections is refused. So, a best and fast practice in this way is:
+    Exception in thread "main" java.lang.InternalError: Can't connect to X11 
+    window server using ':0.0' as the value of the DISPLAY variable.
+            at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
+            at 
+    sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134)
+            at java.lang.Class.forName0(Native Method)
+            at java.lang.Class.forName(Class.java:141)
+            at 
+    java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
+            at java.awt.Font.initializeFont(Font.java:308)
+            at java.awt.Font.<init>(Font.java:344)
+            at 
+    com.izforge.izpack.gui.IzPackMetalTheme.createFont(IzPackMetalTheme.java:62)
+            at 
+    com.izforge.izpack.gui.IzPackMetalTheme.<init>(IzPackMetalTheme.java:52)
+            at 
+    com.izforge.izpack.gui.IzPackKMetalTheme.<init>(IzPackKMetalTheme.java:59)
+            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
+    Method)
+            at 
+    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
+            at 
+    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
+            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
+            at java.lang.Class.newInstance0(Class.java:308)
+            at java.lang.Class.newInstance(Class.java:261)
+            at 
+    com.izforge.izpack.installer.GUIInstaller.loadLookAndFeel(GUIInstaller.java:297)
+            at 
+    com.izforge.izpack.installer.GUIInstaller.<init>(GUIInstaller.java:100)
+            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
+    Method)
+            at 
+    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
+            at 
+    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
+            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
+            at java.lang.Class.newInstance0(Class.java:308)
+            at java.lang.Class.newInstance(Class.java:261)
+            at com.izforge.izpack.installer.Installer.main(Installer.java:47)
 
+Then, it's most probably the fact that in some distribution the console and environment variables are "erased" when switching between users. So, you can type 'su -' in order to obtain all commands. With 'su -' $DISPLAY variables is erased and all X11 connections is refused. So, a best and fast practice in this way is:
 
+   1. Log in your system by user
+   2. In shell type: '$ echo $DISPLAY'
+   3. the result seems to be ':0.0'. If the response isn't there you can type:
+   4. '$ export $DISPLAY=":0.0"'
+   5. Now type $su for a "normal" alias by root.
+   6. Run: $ java -jar "package.jar"
 
-    1.  Log in your system by user
-    2.  In shell type:
-$ echo $DISPLAY
-the result seems to be ':0.0'. If the response isn't there you can type:
-$ export $DISPLAY=":0.0"
-    3.  Now type $su
-for a "normal" alias by root.
-    4.  Run: $ java -jar "package.jar"
-
-
-
 First Compilation
-=================
+------------------
 
-Now you probably can't wait to build your first installer. So go on open a
-command-line shell and navigate to ``sample/``. The following should work on
-both unix* and windows systems. for the latter, just change the path
-separator (slash '/') to a backslash. So type ($ is your shell prompt !) :
+Now you probably can't wait to build your first installer. So go on open a command-line shell and navigate to sample/. The following should work on both unix* and windows systems. for the latter, just change the path separator (slash '/') to a backslash. So type ($ is your shell prompt !) : ::
 
-::
-    $ ../bin/compile install.xml -b . -o install.jar -k standard
-     (installer generation text output here)
-    $ java -jar install.jar
+  $ ../bin/compile install.xml -b . -o install.jar -k standard
+   (installer generation text output here)
+  $ java -jar install.jar
 
+There you are! The first command has produced the installer and the second one did launch it.
 
-There you are! The first command has produced the installer and the second
-one did launch it.
+How to develop and debug IzPack using Eclipse
+----------------------------------------------
 
-
-How to develop and debug IpPack using Eclipse
-=============================================
-
 (thanks to Bartz Klaus)
 
 Here are the steps needed to develop adn debug IzPack with Eclipse:
 
-1.
-IzPack Installation
--------------------
+1. IzPack Installation
 
-    Install the latest stable release of IzPack with the sources !
-For more details see the section "IzPack Installation".
+   Install the latest stable release of IzPack with the sources !
+   For more details see the section "IzPack Installation".
 
+2. Custom class sources and build.xml
 
-2.
-Custom class sources and build.xml
-----------------------------------
+   Put your custom class sources under
+   %IZPACK_HOME%\src\lib
+   may be
+   %IZPACK_HOME%\src\lib\com\izforge\izpack\panels\MyPanel.java
+   Add a create rule into %IZPACK_HOME%\src\build.xml
+   under target "build.panels"
 
-    Put your custom class sources under
-%IZPACK_HOME%\src\lib
-may be
-%IZPACK_HOME%\src\lib\com\izforge\izpack\panels\MyPanel.java
-Add a create rule into %IZPACK_HOME%\src\build.xml
-under target "build.panels"
+3. Eclipse
 
+   You can get Eclipse from http://www.eclipse.org/downloads/index.php
 
-3.
-Eclipse
--------
+4. Create IzPack project
 
-    You can get Eclipse from
-    `http://www.eclipse.org/downloads/index.php`_
+   Select
+   File > New > Project...
+   Java > Java Project > next >
+   give a project name like "IzPack"
+   deselect "Use default" ( 2.x) or
+   select "Create project at external location" (3.x)
+   Browse to %IZPACK_HOME%\src\lib select it
+   Next >
+   In "Libraries" select "Add External JARs..."
+   select ant.jar and jakarta-regexp-1.3.jar from %IZPACK_HOME%\lib
+   Finish
 
+5. Debug compile (create installation)
 
-4.
-Create IzPack project
----------------------
+   Select
+   Run > Debug...
+   Java Application
+   New
+   give a name e.g. "CompileMyInstall"
+   select in "Main" the project "IzPack"
+   select as "main class" "Compile" (from package com.izforge.izpack.compiler)
+   As "Program arguments" put in (for %SOME_THING% use your local value)
+   %SRC_ROOT%\%CONFIG_SUBPATH%\install.xml -b %SRC_ROOT% -o %INSTALLER_DEST%\install.jar
+   As "VM arguments" put in
+   "-DIZPACK_HOME=n:\home\bartzkau\work\xt150_forIzPack\izpack-src"
 
-    Select
-File > New > Project...
-Java > Java Project > next >
-give a project name like "IzPack"
-deselect "Use default" ( 2.x) or
-select "Create project at external location" (3.x)
-Browse to %IZPACK_HOME%\src\lib select it
-Next >
-In "Libraries" select "Add External JARs..."
-select ant.jar and jakarta-regexp-1.3.jar from %IZPACK_HOME%\lib
-Finish
+   No you can debug the compiling of your installation.
 
+5. Debug installation
 
-5.
-Debug compile (create installation)
------------------------------------
+   Compile your installation; now you have
+   %INSTALLER_DEST%\install.jar
+   Run > Debug...
+   Java Application
+   New
+   give a name e.g. "InstallMyInstall"
+   select in "Main" the project "IzPack"
+   select as "main class" "Installer" (from package com.izforge.izpack.installer)
+   as "VM arguments" use 
+   -DTRACE=true
+   select the tab "Classpath"
+   select "User classes" (2.x) or "User Entries" (3.x)
+   select "Add External JARs..."
+   select %INSTALLER_DEST%\install.jar (may be, that's the trick...)
+   install.jar must be under the project entry
 
-    Select
-Run > Debug...
-Java Application
-New
-give a name e.g. "CompileMyInstall"
-select in "Main" the project "IzPack"
-select as "main class" "Compile" (from package com.izforge.izpack.compiler)
-As "Program arguments" put in (for %SOME_THING% use your local value)
-%SRC_ROOT%\%CONFIG_SUBPATH%\install.xml -b %SRC_ROOT% -o
-%INSTALLER_DEST%\install.jar
-As "VM arguments" put in
-"-DIZPACK_HOME=n:\home\bartzkau\work\xt150_forIzPack\izpack-src"
+   **BUGS and TROUBLESHOOTING**
 
-No you can debug the compiling of your installation.
+   If you get this error when running the application 
+   could not create shortcut instance ::
 
+      java.lang.Exception: error loading library
+      at com.izforge.izpack.util.Librarian.loadLibrary(Librarian.java:249)
+      at com.izforge.izpack.util.os.ShellLink.initialize(ShellLink.java:461)
+      at com.izforge.izpack.util.os.ShellLink.<init>(ShellLink.java:349)
+      at com.izforge.izpack.util.os.Win_Shortcut.initialize(Win_Shortcut.java:79)
+      at com.izforge.izpack.panels.ShortcutPanel.<init>(ShortcutPanel.java:473)
+      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
+      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
+      at java.lang.reflect.Constructor.newInstance(Unknown Source)
+      at com.izforge.izpack.installer.InstallerFrame.loadPanels(InstallerFrame.java:203)
+      at com.izforge.izpack.installer.InstallerFrame.<init>(InstallerFrame.java:160)
+      at com.izforge.izpack.installer.GUIInstaller.loadGUI(GUIInstaller.java:391)
+      at com.izforge.izpack.installer.GUIInstaller.<init>(GUIInstaller.java:128)
+      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
+      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
+      at java.lang.reflect.Constructor.newInstance(Unknown Source)
+      at java.lang.Class.newInstance0(Unknown Source)
+      at java.lang.Class.newInstance(Unknown Source)
+      at com.izforge.izpack.installer.Installer.main(Installer.java:62)
 
-6.
-Debug installation
-------------------
+   then it means you forgot to put the shelllink.dll into the correct source folder in that case, copy      %IZPACK_HOME%\bin\native\izpack\ShellLink.dll to
+   %IZPACK_HOME%\src\lib\com\izforge\izpack\util\os\ShellLink.dll
 
-    Compile your installation; now you have
-%INSTALLER_DEST%\install.jar
-Run > Debug...
-Java Application
-New
-give a name e.g. "InstallMyInstall"
-select in "Main" the project "IzPack"
-select as "main class" "Installer" (from package
-com.izforge.izpack.installer)
-as "VM arguments" use
--DTRACE=true
-select the tab "Classpath"
-select "User classes" (2.x) or "User Entries" (3.x)
-select "Add External JARs..."
-select %INSTALLER_DEST%\install.jar (may be, that's the trick...)
-install.jar must be under the project entry
+   Now you can debug the installation. With 2.x you can edit on demand,
+   if %INSTALLER_DEST%\install.jar is shown in "Classpath" under the
+   project.
+   With 3.x it seems so, that always the JAR will be loaded; therefore
+   the contents of install.jar and the sources should be synchron.
 
+6. Debug uninstallation
 
+   Install your installation to
+   %INSTALL_PATH%
+   Run > Debug...
+   Java Application
+   New
+   give a name e.g. "UninstallMyInstall"
+   select in "Main" the project "IzPack"
+   select as "main class" "Uninstaller" (from package com.izforge.izpack.installer)
+   as "VM arguments" use 
+   -DTRACE=true
+   select the tab "Classpath"
+   select "User classes" (2.x) or "User Entries" (3.x)
+   select "Add External JARs..."
+   select %INSTALL_PATH%\Uninstaller\uninstall.jar
+   uninstall.jar must be under the project entry
 
-    BUGS and TROUBLESHOOTING:
+   Now, you can debug your uninstallation. Don't worry if you get first a NullPointerException in   SelfModifier. This should be; it is a hint, that the class files of your eclipse session are used. 
+   If debugging not working, look whether:
+   there is a fresh installation
+   the uninstall.jar is in the "Classpath" tab under the project entry
 
-    If you get this error when running the application
-could not create shortcut instance
-
-java.lang.Exception: error loading library
-at com.izforge.izpack.util.Librarian.loadLibrary(Librarian.java:249)
-at com.izforge.izpack.util.os.ShellLink.initialize(ShellLink.java:461)
-at com.izforge.izpack.util.os.ShellLink.<init>(ShellLink.java:349)
-at com.izforge.izpack.util.os.Win_Shortcut.initialize(Win_Shortcut.java:79)
-at com.izforge.izpack.panels.ShortcutPanel.<init>(ShortcutPanel.java:473)
-at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
-at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
-at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
-at java.lang.reflect.Constructor.newInstance(Unknown Source)
-at com.izforge.izpack.installer.InstallerFrame.loadPanels(InstallerFrame.java
-:203)
-at
-com.izforge.izpack.installer.InstallerFrame.<init>(InstallerFrame.java:160)
-at com.izforge.izpack.installer.GUIInstaller.loadGUI(GUIInstaller.java:391)
-at com.izforge.izpack.installer.GUIInstaller.<init>(GUIInstaller.java:128)
-at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
-at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
-at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
-at java.lang.reflect.Constructor.newInstance(Unknown Source)
-at java.lang.Class.newInstance0(Unknown Source)
-at java.lang.Class.newInstance(Unknown Source)
-at com.izforge.izpack.installer.Installer.main(Installer.java:62)
-
-then it means you forgot to put the shelllink.dll into the correct source
-folder in that case, copy %IZPACK_HOME%\bin\native\izpack\ShellLink.dll to
-%IZPACK_HOME%\src\lib\com\izforge\izpack\util\os\ShellLink.dll
-
-Now you can debug the installation. With 2.x you can edit on demand,
-if %INSTALLER_DEST%\install.jar is shown in "Classpath" under the
-project.
-With 3.x it seems so, that always the JAR will be loaded; therefore
-the contents of install.jar and the sources should be synchron.
-
-
-7.
-Debug uninstallation
---------------------
-
-    Install your installation to
-%INSTALL_PATH%
-Run > Debug...
-Java Application
-New
-give a name e.g. "UninstallMyInstall"
-select in "Main" the project "IzPack"
-select as "main class" "Uninstaller" (from package
-com.izforge.izpack.installer)
-as "VM arguments" use
--DTRACE=true
-select the tab "Classpath"
-select "User classes" (2.x) or "User Entries" (3.x)
-select "Add External JARs..."
-select %INSTALL_PATH%\Uninstaller\uninstall.jar
-uninstall.jar must be under the project entry
-
-Now, you can debug your uninstallation. Don't worry if you get first a
-NullPointerException in SelfModifier. This should be; it is a hint, that the
-class files of your eclipse session are used.
-If debugging not working, look whether:
-
-
-    -   there is a fresh installation
-    -   the uninstall.jar is in the "Classpath" tab under the project
-    entry
-
-
 The IzPack architecture
-=======================
+------------------------
 
-Now that you have packaged your first installer, it's time for you to
-understand how the whole thing works.
+Now that you have packaged your first installer, it's time for you to understand how the whole thing works. 
 
-
-
 The compilation system
-----------------------
+'''''''''''''''''''''''
 
-The compilation system (see figure `1.1`_) is quite modular. indeed, you can
-use the compiler in 2 ways :
+The compilation system is quite modular. Indeed, you can use the compiler in 2 ways :
 
--   from a command-line
--   from jakarta ant
+* from a command-line
+* from jakarta ant
 
-**figure 1.1:** *The compiler architecture.*
+.. figure:: compilation-overview.png
 
-.. image:: img2.png
-    :alt: The compiler architecture
+   The compilation architecture.
 
+The compiler takes as its input an xml installation file that describes (at a relatively high-level) the installation. this file contains detailed information such as the application name, the authors, the files to install, the panels to use, which resources to load and much more.
 
-The compiler takes as its input an xml installation file that describes (at a
-relatively high-level) the installation. this file contains detailed
-information such as the application name, the authors, the files to install,
-the panels to use, which resources to load and much more (see figure `1.2`_).
-The compiler can generate different kinds of installers, but this information
-is not located inside the xml file as it is not were it should be. On the
-contrary, this is a compiler parameter.
+The compiler can generate different kinds of installers, but this information is not located inside the xml file as it is not were it should be. On the contrary, this is a compiler parameter. 
+
 The compilation options for a command-line installer are the following:
 
--   ``-?``: Gives a list of the available options.
--   ``-b``: Specifies the base path, *ie* the one that will be used to
-    resolve the relative paths. if your xml file contains absolute paths,
-    specify it to an empty string (``-b ""``).
--   ``-k``: Specifies the installer kind, for instance most users will
-    want ``standard`` here.
--   ``-o``: Specifies the resulting installer jar file name.
+-?    Gives a list of the available options.
+-b    Specifies the base path, ie the one that will be used to resolve the relative paths. if your xml file contains absolute paths, specify it to an empty string (-b "").
+-k    Specifies the installer kind, for instance most users will want standard here.
+-o    Specifies the resulting installer jar file name.
 
-
 How an installer works
--
+'''''''''''''''''''''''
 
-An installer presents its panels to the end-user. for instance, there is one
-to select the packages, one to prompt for the license agreement, one to
-select the installation path and so on. You have a choice from a variety of
-panels to place in the installer. For example, you can choose between a plain
-text and a html text panel for the license agreement. also, if you don't want
-of the *hellopanel*, you just don't include it.
+An installer presents its panels to the end-user. for instance, there is one to select the packages, one to prompt for the license agreement, one to select the installation path and so on. You have a choice from a variety of panels to place in the installer. For example, you can choose between a plain text and a html text panel for the license agreement. also, if you don't want of the hellopanel, you just don't include it.
 
+.. figure:: installer-content.png
 
-**figure 1.2:** *The installer architecture.*
+   The content of an installer.
 
-.. image:: img3.png
-    :alt: The installer architecture
+It is very important to understand that some of the panels may need extra data. for instance, the license agreement panel needs the license text. A simple approach to specify such data would have been to add as many xml tags as needed for each panel. However, this makes the xml file too specific and not easy to maintain. The approach that has been chosen is to put the data in files and we call these files resource files. They are specified with a unique xml tag. this is a much cleaner approach. 
 
+You might wonder how your files are packaged. They can be grouped in packs. For instance, you can have one pack for the core files, one for the documentation, one for the source code and so on. In this way, your end-users will have the choice to install a pack or not (provided that the pack they don't want to install is not mandatory). Inside the jar file (which is a zip file), a sub directory contains the pack files. Each pack file contains the files that are part of it. Could we do it simpler ? :-) 
 
-It is very important to understand that some of the panels may need extra
-data. for instance, the license agreement panel needs the license text. A
-simple approach to specify such data would have been to add as many xml tags
-as needed for each panel. However, this makes the xml file too specific and
-not easy to maintain. The approach that has been chosen is to put the data in
-files and we call these files *resource files*. They are specified with a
-unique xml tag. this is a much cleaner approach.
-You might wonder how your files are packaged. They can be grouped in *packs*.
-For instance, you can have one pack for the core files, one for the
-documentation, one for the source code and so on. In this way, your end-users
-will have the choice to install a pack or not (provided that the pack they
-don't want to install is not mandatory). Inside the jar file (which is a zip
-file), a sub directory contains the pack files. Each pack file contains the
-files that are part of it. Could we do it simpler ? :-)
-
-
-
 The different kinds of installers
--
+''''''''''''''''''''''''''''''''''
 
 There are 2 kinds of installers available :
 
--   ``Standard`` : a single-file ready-to-run installer
--   ``Web`` : a web based installer (pack data is located on an http
-    server, and the installer retrieves it at install time (see section
-    `3.6`_))
+* Standard : a single-file ready-to-run installer
+* Web : a web based installer (pack data is located on an http server, and the installer retrieves it at install time (see section 3.6))
 
-
 Installers for older vm versions
--
+'''''''''''''''''''''''''''''''''
 
-By default the installer will be made for the current most used version of
-the java runtime environment. It is possible to create an installation that
-is runable with an older vm version.
-What version is used can be detected in the ant properties file that is used
-to build izpack. It is ``[izpackroot]/src/ant.properties``. The value of the
-property "source" determines the vm version.
-If compatibility to older versions is needed, a recompilation of the jar
-files of the izpack system should be done. For this the sources of izpack and
-an ant installation are needed. the sources of izpack are selectable at
-installation time of izpack. Before a recompilation of all can be triggered,
-the version of byte code should be changed. This can be done simple by
-changing the "source" entry in ``[izpackroot]/src/ant.properties`` to the
-needed value. The recompilation should be performed with the current most
-used vm version because there are classes of it referenced in the izpack
-code. Usage of an older vm version at installation time will be possible
-because the classes of the newer vm version are only used after a vm version
-check. Of course, some features of izpack will be missing at using an old vm
-version. To recompile izpack go into ``[izpackroot]/src``. Use a current jdk
-(not jre) for this. call
+By default the installer will be made for the current most used version of the java runtime environment. It is possible to create an installation that is runable with an older vm version. 
 
-::
-    ant clean
+What version is used can be detected in the ant properties file that is used to build izpack. It is [izpackroot]/src/ant.properties. The value of the property "source" determines the vm version. 
 
+If compatibility to older versions is needed, a recompilation of the jar files of the izpack system should be done. For this the sources of izpack and an ant installation are needed. the sources of izpack are selectable at installation time of izpack. Before a recompilation of all can be triggered, the version of byte code should be changed. This can be done simple by changing the "source" entry in [izpackroot]/src/ant.properties to the needed value. The recompilation should be performed with the current most used vm version because there are classes of it referenced in the izpack code. Usage of an older vm version at installation time will be possible because the classes of the newer vm version are only used after a vm version check. Of course, some features of izpack will be missing at using an old vm version. To recompile izpack go into [izpackroot]/src. Use a current jdk (not jre) for this. call ::
 
-followed by
+   ant clean
+   
+followed by ::
 
-::
-    ant all
+   ant all
 
-
-then all jar files in ``[izpackroot]/lib``, ``[izpackroot]/bin/panels`` and
-``[izpackroot]/bin/customactions`` should be recompiled with the selected
-source version.
-
-.. _https://izpack.github.io/downloads: https://izpack.github.io/downloads
-.. _http://java.sun.com/: http://java.sun.com/
-.. _http://www.cygwin.com/: http://www.cygwin.com/
-.. _http://www.eclipse.org/downloads/index.php: http://www.eclipse.org/downloads/index.php
+then all jar files in [izpackroot]/lib, [izpackroot]/bin/panels and [izpackroot]/bin/customactions should be recompiled with the selected source version.

Modified: izpack-src/trunk/src/doc-reST/node4.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node4.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node4.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -3,38 +3,39 @@
 
 
 What You Need
-=============
+-------------
 
 
 Your editor
------------
+'''''''''''
 
 In order to write your XML installation files, you just need a plain text
 editor. Of course it's always easier to work with color coded text, so you
 might rather want to work with a text editor having such a feature. Here is a
 list of free editors that work well :
 
--   Jext : ```http://www.jext.org/`_``
--   JEdit : ```http://www.jedit.org/`_``
+-   Jext : http://www.jext.org/
+-   JEdit : http://www.jedit.org/
 -   classics like Vim and (X)Emacs.
 
 If you are a developer and tend to write your own patches, extension or
 features to IzPack sources, or, if you wish to debug your compilation,
-installation and uninstallation, we recommend two IDE:
+installation and uninstallation, we recommend these IDE:
 
--   Jext : ```http://www.jetbrains.com/idea/`_``
--   JEdit : ```http://www.eclipse.org/`_``
+-   IntelliJ IDEA : http://www.jetbrains.com/idea/
+-   Eclipse : http://www.eclipse.org/
+-   Netbeans : http://www.netbeans.org/
 
 For the first one, JetBrains has granted us an Open Source License. All
 project members can ask the Licence Key to one of the project manager.
 
-The second one is a well know open source (Just like us :-)) IDE. We provide
+The other ones are well know open source projects (Just like us :-)). We provide
 a tutorial on how to develop/debug IzPack using Eclipse in the chapter
-`Getting Started -> How to develop and debug IpPack using Eclipse`_
+''Getting Started > How to develop and debug IpPack using Eclipse''
 
 
 Writing XML
------------
+'''''''''''
 
 Though you might not know much about XML, you have certainly heard about it.
 If you know XML you can skip this subsection as we will briefly present how
@@ -51,6 +52,7 @@
 of a valid XML structure :
 
 ::
+
     <chapter title="Chapter 1">
       <section name="Introduction">
         <paragraph>
@@ -85,10 +87,8 @@
 books and articles/tutorials dealing with XML on the Internet, in book
 stores, in magazines and so on.
 
-
-
 Variable Substitution
-=====================
+---------------------
 
 During the installation process IzPack can substitute variables in various
 places with real values. Obvious targets for variable substitution are
@@ -139,12 +139,12 @@
 -   ``$FILE_SEPARATOR`` : the file separator on the installation system
 -   ``$DesktopShortcutCheckboxEnabled`` : When set to true, it
     automatically checks the "Create Desktop Shortcuts" button. To see how to
-    use it, go to `The Variables Element ``<variables>```_ Be careful this
+    use it, go to `The Variables Element ``<variables>`` Be careful this
     variable is case sensitve !
 -   ``$InstallerFrame.logfilePath`` : The path to the install log. This
     file contains the paths of all installed files. If set to "default" then
     the "$INSTALL_PATH/Uninstaller/install.log" path will be used. To see how
-    to use it, go to `The Variables Element ``<variables>```_. If this
+    to use it, go to `The Variables Element ``<variables>``. If this
     variable is not set, no install.log will be created.
 
 
@@ -182,8 +182,8 @@
     alternative variable marker is used: ``%variable`` or ``%{variable}``.
 
 
-The iZPACK Elements
-=========
+The IzPack Elements
+-------------------
 
 *When writing your installer XML files, it's a good idea to have a look at
 the iZPACK installation DTD*.
@@ -192,20 +192,16 @@
 
 
 The Root Element ``<installation>``
-------------
+''''''''''''''''''''''''''''''''''''
 
 The root element of an installation is ``<installation>``. It takes one
 required attribute : ``version``. The attribute defines the version of the
 XML file layout and is used by the compiler to identify if it is compatible
-with the XML file. This should be set to .. image:: img4.png
-    :alt: $1.0$
-for the moment.
+with the XML file. This should be set to **1.0** for the moment.
 
 
-
-
 The Information Element ``<info>``
-----
+'''''''''''''''''''''''''''''''''''
 
 This element is used to specify some general information for the installer.
 It contains the following elements :
@@ -233,17 +229,17 @@
     install your program. Values can be ``1.2``, ``1.2.2``, ``1.4``, etc. The
     test is a lexical comparison against the ``java.version`` System property
     on the install machine.
--   ``<webdir>`` : Causes a ``web installer'' to be created, and
+-   ``<webdir>`` : Causes a ''web installer'' to be created, and
     specifies the URL packages are retrieved from at install time. The
-    content of the tag must be a properly formed URL. See section `3.7`_ for
-    more details.
+    content of the tag must be a properly formed URL.
 -   ``<summarylogfilepath>`` : specifies the path for the logfile of the
-    `SummaryLoggerInstallerListener`_.
+    `SummaryLoggerInstallerListener`.
 
 Here is an example of a typical ``<info>`` section :
 
 
 ::
+
     <info>
       <appname>Super extractor</appname>
       <appversion>2.1 beta 6</appversion>
@@ -258,7 +254,7 @@
 
 
 The Variables Element ``<variables>``
----------
+''''''''''''''''''''''''''''''''''''''
 
 This element allows you to define variables for the variables substitution
 system. Some variables are built-in, such as ``$INSTALL_PATH`` (which is the
@@ -275,6 +271,7 @@
 
 
 ::
+
     <variables>
       <variable name="app-version" value="1.4"/>
       <variable name="released-on" value="08/03/2002"/>
@@ -286,6 +283,7 @@
 
 
 ::
+
     <variables>
       <variable name="InstallerFrame.logfilePath" value="$INSTALL_PATH
       /My-install.log"/>
@@ -301,7 +299,7 @@
 
 
 The GUI Preferences Element ``<guiprefs>``
---------
+'''''''''''''''''''''''''''''''''''''''''''
 
 This element allows you to set the behavior of your installer GUI. This
 information will not have any effect on the command-line installers that will
@@ -315,6 +313,7 @@
 Here's a sample :
 
 ::
+
     <guiprefs resizable="no" width="800" height="600"/>
 
 
@@ -362,6 +361,7 @@
 Here is a small sample:
 
 ::
+
     <guiprefs height="600" resizable="yes" width="800">
         <laf name="metouia">
             <os family="unix" />
@@ -378,17 +378,17 @@
 blue, business-black, creme, sahara, moderate, officesilver``. We have
 reduced the choice to the toned-down themes since they are the only ones to
 actually look decent (the other families colors are way too saturated).
-Please consult `https://substance.dev.java.net/docs/skins/toneddown.html`_
+Please consult https://substance.dev.java.net/docs/skins/toneddown.html
 for a gallery of the different toned-down themes.
 
 Starting from IzPack 3.7, some characteristics can be customized with the
 ``<modifier>`` tag. There is a separate description in the `Advanced
-Features`_ chapter paragraph `Modifying the GUI`_.
+Features` chapter paragraph `Modifying the GUI`.
 
 
 
 The Localization Element ``<locale>``
-------
+''''''''''''''''''''''''''''''''''''''
 
 This element is used to specify the language packs (langpacks) that you want
 to use for your installer. You must set one ``<langpack>`` markup per
@@ -400,6 +400,7 @@
 
 
 ::
+
     <locale>
       <langpack iso3="eng"/>
       <langpack iso3="fra"/>
@@ -409,35 +410,38 @@
 
 The supported ISO3 codes are :
 
-*ISO3 code* *Language*
-cat Catalunyan
-chn Chinese
-cze Czech
-dan Danish
-deu German
-eng English
-fin Finnish
-fra French
-hun Hungarian
-ita Italian
-jpn Japanese
-mys Malaysian
-ned Nederlands
-nor Norwegian
-pol Polnish
-por Portuguese (Brazilian)
-rom Romanian
-rus Russian
-scg Serbian
-spa Spanish
-svk Slovakian
-swe Swedish
-ukr Ukrainian
+========= ============================
+ISO3 code Language
+========= ============================
+cat       Catalunyan
+chn       Chinese
+cze       Czech
+dan       Danish
+deu       German
+eng       English
+fin       Finnish
+fra       French
+hun       Hungarian
+ita       Italian
+jpn       Japanese
+mys       Malaysian
+ned       Nederlands
+nor       Norwegian
+pol       Polnish
+por       Portuguese (Brazilian)
+rom       Romanian
+rus       Russian
+scg       Serbian
+spa       Spanish
+svk       Slovakian
+swe       Swedish
+ukr       Ukrainian
+========= ============================
 
 
 
 The Resources Element ``<resources>``
----------
+''''''''''''''''''''''''''''''''''''''
 
 Several panels, such as the license panel and the shortcut panel, require
 additional data to perform their task. This data is supplied in the form of
@@ -471,6 +475,7 @@
 Here's a sample :
 
 ::
+
     <resources>
       <res id="InfoPanel.info" src="doc/readme.txt" parse="yes"/>
       <res id="LicencePanel.licence" src="legal/License.txt"/>
@@ -478,7 +483,7 @@
 
 
 The Panels Element ``<panels>``
-------
+'''''''''''''''''''''''''''''''''
 
 Here you tell the compiler which panels you want to use. They will appear in
 the installer in the order in which they are listed in your XML installation
@@ -490,6 +495,7 @@
 Here's a sample :
 
 ::
+
     <panels>
       <panel classname="HelloPanel"/>
       <panel classname="LicencePanel"/>
@@ -500,7 +506,7 @@
 
 
 The Packs Element ``<packs>``
------
+'''''''''''''''''''''''''''''''
 
 This is a crucial section as it is used to specify the files that need to be
 installed. The ``<packs>`` section consists of several ``<pack>`` and
@@ -542,8 +548,9 @@
 install XML references these xml-files to avoid synchronization efforts
 between the central installation XML and the developer-maintained installer
 XMLs.
+
 Internationalization of the PacksPanel
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''''
 
 In order to provide internationalization for the PacksPanel, so that your
 users can be presented with a different name and description for each
@@ -555,20 +562,20 @@
 distribution langpack files located at ``
 $IZPACK_HOME/bin/langpacks/installer``. For the name of the panel you just
 use the pack ``id`` as the txt ``id``. For the description you use the pack
-``id`` suffixed with `` '.description'``.
+``id`` suffixed with ``.description``.
 
 The following sections describe the tags available for a ``<pack>`` section.
 
 
 ``<description>`` - pack description
-~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''
 
 The contents of the ``<description>`` tag describe the pack contents. This
 description is displayed if the user highlights the pack during installation.
 
 
 ``<depends>`` - pack dependencies
-~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''
 
 This can be used to make this pack selectable only to be installed only if
 some other is selected to be installed. The pack can depend on more than one
@@ -582,7 +589,7 @@
 
 
 ``<os>`` - OS restrictions
-~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''
 
 It is possible to restrict a panel to a certain list of operating systems.
 This tag takes the following attributes:
@@ -596,7 +603,7 @@
 
 
 ``<updatecheck>``
-~~~~~~~~~~~
+''''''''''''''''''
 
 This feature can update an already installed package, therefore removing
 superfluous files after installation. Here's how this feature author (Tino
@@ -606,6 +613,7 @@
 ant fileset syntax, e.g.:
 
 ::
+
     <updatecheck>
       <include name="lib/**" />
       <exclude name="config/local/** />
@@ -620,7 +628,7 @@
 
 
 ``<file>`` - add files or directories
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''''
 
 The ``<file>`` tag specifies a file (a directory is a file too) to include
 into the pack. It takes the following attributes:
@@ -646,7 +654,7 @@
 
 
 ``<additionaldata>``
-::::::::::::::
+'''''''''''''''''''''
 
 This tag can also be specified in order to pass additional data related to a
 file tag for customizing.
@@ -657,7 +665,7 @@
 
 
 ``<singlefile>`` - add a single file
-~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''
 
 Specifies a single file to include. The difference to ``<file>`` is that this
 tag allows the file to be renamed, therefore it has a ``target`` attribute
@@ -669,14 +677,14 @@
 -   ``os``: can optionally specify a target operating system (``unix,
     windows, mac``) - this means that the file will only be installed on its
     target operating system
--   ``override``: see ``<file>`` (`2.3.8`_) for description
+-   ``override``: see ``<file>`` for description
 
-A ``<additionaldata>`` (`2.3.8`_) tag can also be specified for customizing.
+A ``<additionaldata>`` tag can also be specified for customizing.
 
 
 
 ``<fileset>``: add a fileset
-~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''
 
 The ``<fileset>`` tag allows files to be specified using the powerful Jakarta
 Ant set syntax. It takes the following parameters:
@@ -718,6 +726,7 @@
 currently no equivalent to the <defaultexcludes> task. Default excludes are:
 
 ::
+
          **/*\~{}
          **/\#*\#
          **/.\#*
@@ -734,19 +743,19 @@
          **/.DS\_Store
 
 
-A ``<additionaldata>`` (`2.3.8`_) tag can also be specified for customizing.
+A ``<additionaldata>`` tag can also be specified for customizing.
 
 
 ``<parsable>`` - parse a file after installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Files specified by ``<parsable>`` are parsed after installation and may have
 variables substituted.
 
 -   ``targetfile`` : the file to parse, could be something like
-``$INSTALL_PATH/bin/launch-script.sh``
-A slash will be changed to the system dependant path separator (e.g. to a
-backslash on Windows) only if no backslash masks the slash.
+    ``$INSTALL_PATH/bin/launch-script.sh``
+    A slash will be changed to the system dependant path separator (e.g. to a
+    backslash on Windows) only if no backslash masks the slash.
 -   ``type`` : specifies the type (same as for the resources) - the
     default is ``plain``
 -   ``encoding`` : specifies the file encoding
@@ -754,16 +763,16 @@
 
 
 ``<executable>`` - mark file executable or execute it
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
 The ``<executable>`` tag is a very useful thing if you need to execute
 something during the installation process. It can also be used to set the
 executable flag on Unix-like systems. Here are the attributes :
 
 -   ``targetfile`` : the file to run, could be something like
-``$INSTALL_PATH/bin/launch-script.sh``
-Slashes are handled special (see attribute ``targetfile`` of tag
-``<parsable>```2.3.8`_).
+    ``$INSTALL_PATH/bin/launch-script.sh``
+    Slashes are handled special (see attribute ``targetfile`` of tag
+    ``<parsable>``).
 -   ``class`` : If the executable is a jar file, this is the class to run
     for a JavaTM program
 -   ``type`` : ``bin`` or ``jar`` (the default is ``bin``)
@@ -785,12 +794,12 @@
 
 -   ``<arg>``: passes the argument specified in the ``value`` attribute.
     Slashes are handled special (see attribute ``targetfile`` of tag
-    ``<parsable>```2.3.8`_).
+    ``<parsable>``.
 
 
 
 ``<os>`` - make a file OS-dependent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 The ``<os>`` tag can be used inside the ``<file>``, ``<fileset>``,
 ``<singlefile>``, ``<parsable>``, ``<executable>`` tags to restrict it's
@@ -806,6 +815,7 @@
 Here's an example installation file :
 
 ::
+
     <packs>
         <!-- The core files -->
         <pack name="Core" required="yes">
@@ -838,14 +848,14 @@
 
 
 The Native Element ``<native>``
-------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Use this if you want to use a feature that requires a native library. The
 native libraries are placed under ``bin/native/..``. There are 2 kinds of
 native libraries : the iZPACK libraries and the third-party ones. The IzPack
 libraries are located at ``bin/native/izpack``, you can place your own
 libraries at `` bin/native/3rdparty``. It is possible to place a native
-library also into the uninstaller. It is useable from CustomActions (`7`_).
+library also into the uninstaller. It is useable from CustomActions.
 If one or more are referenced for it, the needed support classes are
 automatically placed into the uninstaller. To place it only on operating
 systems for which they are build, it is possible to define an OS restriction.
@@ -858,20 +868,21 @@
 
 
 ``<os>`` - make a library OS-dependent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 The ``<os>`` tag can be used to restrict the inclusion into the uninstaller
 to a specific operating system family, architecture or version. The inclusion
-into the installer will be always done. For more information see `2.3.8`_.
+into the installer will be always done.
 
 Here's a sample :
 
 ::
+
     <native type="izpack" name="ShellLink.dll"/>
 
 
 The Jar Merging Element ``<jar>``
----
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 If you adapt iZPACK for your own needs, you might need to merge the content
 of another jar file into the jar installer. For instance, this could be a
@@ -888,10 +899,11 @@
 A sample :
 
 ::
+
     <jar src="../nicelibrary.jar"/>
 
 The Available Panels
-====================
+---------------------
 
 In this section i will introduce the various panels available in IzPack. The
 usage for most is pretty simple and described right here. The more elaborate
@@ -907,7 +919,7 @@
 
 
 HelloPanel
-----------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel welcomes the user by displaying the project name, the version, the
 URL as well as the authors.
@@ -915,7 +927,7 @@
 
 
 CheckedHelloPanel
------------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel welcomes the user also by displaying the project name, the
 version, the URL as well as the authors.
@@ -924,12 +936,12 @@
 Additonal on windows the registry will be scanned for an entry which
 determines that the product is already installed. If so, a dialog will be
 shown which ask whether to install a second version of the product or not. If
-you use this panel do not forget to add the `registry feature`_ into your
+you use this panel do not forget to add the `registry feature` into your
 installation.
 
 
 InfoPanel and HTMLInfoPanel
----------------------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This is a kind of 'README' panel. It presents text of any length. The text is
 specified by the ``(HTML)InfoPanel.info`` resource. Starting from IzPack
@@ -938,19 +950,23 @@
 your install.xml with an ID decided by you, then you can call this image by
 refering it by this same ID.
 
+In install.xml:
 
 ::
-    e.g.:
-    In install.xml:
+
     <resources>
       <res src="logo.jpg" id="GHGHGH"/>
       .....
 
-    And in file.html:
+and in file.html:
+
+::
+
     <img src="GHGHGH" />
 
+
 LicencePanel and HTMLLicencePanel
----------------------------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Note:* There is a mistake in the name - it should be LicensePanel. In France
 the word is Licence ... and one of my diploma is a 'Licence' so ...:* -)
@@ -966,14 +982,14 @@
 
 
 PacksPanel
-----------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Allows the user to select the packs he wants to install.
 
 
 
 ImgPacksPanel
--------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This is the same as above, but for each pack a different picture is shown to
 the user. The pictures are specified using the packImgId attribute for each
@@ -992,7 +1008,7 @@
 
 
 TargetPanel
------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel allows the user to select the installation path. It can be
 customized with the following resources (they are text files containing the
@@ -1012,14 +1028,14 @@
 
 
 InstallPanel
-------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 You should always have this one as it launches the installation process !
 
 
 
 XInfoPanel
-----------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 A panel showing text parsed by the variable substitutor. The text can be
 specified through the ``XInfoPanel.info`` resource. This panel can be useful
@@ -1029,7 +1045,7 @@
 
 
 FinishPanel
------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 A ending panel, able to write automated installer information. For details
 see the chapter on 'Advanced Features'.
@@ -1037,7 +1053,7 @@
 
 
 SimpleFinishPanel
------------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Same as ``FinishPanel``, but without the automated installer features. It is
 aimed at making the life easier for end-users who will never encounter the
@@ -1046,30 +1062,29 @@
 
 
 ShortcutPanel
--------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel is used to create desktop shortcuts. For details on using the
 ShortcutPanel see the chapter 'Desktop Shortcuts'.
 
 
 UserInputPanel
---------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel allows you to prompt the user for data. What the user is prompted
 for is specified using an XML file which is included as a resource to the
-installer. See chapter `6`_ on page `.. image:: crossref.png
-    :alt: [*]
-`_ for a detailed explanation.
+installer.
 
 
 CompilePanel
-------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel allows you to compile just installed Java sourcecode. The details
 for the compilation are specified using the resource
 ``CompilePanel.Spec.xml``. The XML file has the following format:
 
 ::
+
     <compilation>
       <global>
         <compiler>
@@ -1106,12 +1121,12 @@
 compilation options before compilation is started.
 
 .. image:: ./compilePanel.png
-    :alt: Image compilePanel
+    :alt: CompilePanel
 
 
 
 ProcessPanel
-------------
+''''''''''''''''''''''''''''''''''''''''''''''''''
 
 This panel allows you to execute arbitrary files after installation. The
 details for the compilation are specified using the resource
@@ -1120,6 +1135,7 @@
 The XML file has the following format:
 
 ::
+
     <processing>
       <job name="do xyz">
         <os family="windows" />
@@ -1136,12 +1152,12 @@
     </processing>
 
 
-Each job may have an ``<os>`` attribute - see `2.3.8`_ for details.
+Each job may have an ``<os>`` attribute.
 
 
 
 ``<executeclass>`` - Execute Java Classes
-~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 It is also possible to execute Java classes from this panel. Here's what this
 feature author (Alex Bradley) says:
@@ -1151,6 +1167,7 @@
 extended the DTD of the `` ProcessPanel.Spec.xml`` to include a new element:
 
 ::
+
     <executeclass name="classname">
     <args..../>
     </executeclass>
@@ -1161,6 +1178,7 @@
 a single method :
 
 ::
+
     run( AbstractUIProcessHandler handler, String[] args]);
 
 
@@ -1171,17 +1189,18 @@
 
 To use the executeclass facility, you will need to create a jar file with
 your class and then add it to the installer with the `The Jar Merging
-Element`_.
+Element`.
 
 
 ``<executeForPack>`` - Only execute the job for certain packs
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 This can be be used to run the job only if the pack is enabled. For example,
 the batch file will if either the ``Sources`` or ``Executables`` packs are
 selected at install time.
 
 ::
+
     <processing>
      <job name="List files">
       <executeForPack name="Sources"/>
@@ -1192,7 +1211,7 @@
     </processing>
 
 ``<logfiledir>`` - Output of the processPanel saved to a log
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New with version 3.7 is the possibility to tee output that is written to the
 ProcessPanel's textarea into an optional logfile. Using this feature is
@@ -1207,12 +1226,14 @@
 cases. It will be named
 
 ::
+
     Install_V<$APP_VER>_<YYYY>-<MM>-<DD>_<hh>-<mm>-<ss>_<RandomId>.log
 
 
 Here's an example:
 
 ::
+
     <processing>
       <logfiledir>$INSTALL_PATH</logfiledir>
       <job name="do xyz">
@@ -1235,7 +1256,7 @@
 
 
 JDKPathPanel
-------------
+'''''''''''''
 
 This panel allows the user to select a JDK path. The variable JAVA_HOME does
 not point to a JDK, else to a JRE also the environment variable points to a
@@ -1247,6 +1268,7 @@
 variable
 
 ::
+
     JDKPathPanel.skipIfValid
 
 
@@ -1254,6 +1276,7 @@
 Additional it is possible to make a version control. If one or both variables
 
 ::
+
     JDKPathPanel.minVersion
     JDKPathPanel.maxVersion
 
@@ -1264,6 +1287,7 @@
 be like
 
 ::
+
     <variables>
       <variable name="JDKPathPanel.minVersion" value="1.4.1" />
       <variable name="JDKPathPanel.maxVersion" value="1.4.99" />
@@ -1274,6 +1298,7 @@
 If all is valid, the panels isValidated method sets the variable
 
 ::
+
     JDKPath
 
 
@@ -1283,7 +1308,7 @@
 
 
 SelectPrinterPanel
-------------------
+''''''''''''''''''''''''''
 
 This panel will look at the local printers installed and propose a list box
 with all of them. Once chosen, the variable $SELECTED_PRINTER is set to the
@@ -1291,7 +1316,7 @@
 
 
 DataCheckPanel
---------------
+''''''''''''''''''''''''''
 
 DataCheckPanel is not for inclusion in an actuall install, but is a debugging
 resource for developers writing custom panels or code to be included in
@@ -1311,7 +1336,7 @@
 
 
 SummaryPanel
-------------
+'''''''''''''
 
 This panel gives a summary of all shown panels. The best place for it is just
 infront of the InstallPanel. Normaly it contains a warning that this is the
@@ -1323,18 +1348,19 @@
 presented in the summary. If the secound method is not implemented, no
 summary of this panel will be shown.
 
-Additional it is possible to `log the contents`_ of the summary panel into a
+Additional it is possible to `log the contents` of the summary panel into a
 HTML file.
 
 
 InstallationGroupPanel
-----------------------
+''''''''''''''''''''''''''
 
 This Panel groups the pack together. A panel which displays the available
 *installGroups* found on the packs to allow the user to select a subset of
 the packs based on the pack *installGroups* attribute. This panel will be
 skipped if there are no pack elements with an *installGroups* attribute. For
 example ::
+
         <installation version="1.0">
            (...)
             <panels>
@@ -1362,20 +1388,23 @@
                 </pack>
             </packs>
         </installation>
-         In above example when InstallationGroupPanel is displayed,
-         it contains three radios named Group1, Group2 and Group3. Depending
-         on what user selects, the respective Packs will be displayed in
-         PacksPanel. InstallationGroupPanel will look for a description
-         corresponding to the key
-         "InstallationGroupPanel.description.Group1",
-         "InstallationGroupPanel.description.Group2" etc in installation
-         langpacks and variables and displays this description for each of
-         the Group_i.
+        
+In above example when InstallationGroupPanel is displayed,
+it contains three radios named Group1, Group2 and Group3. Depending
+on what user selects, the respective Packs will be displayed in
+PacksPanel. InstallationGroupPanel will look for a description
+corresponding to the key
+"InstallationGroupPanel.description.Group1",
+"InstallationGroupPanel.description.Group2" etc in installation
+langpacks and variables and displays this description for each of
+the Group_i.
 
 You may also define a sortKey in the variables section of the installer.xml
 to define an alternative sorting. The default sorting is based on the Group
 Name.
+
 Here is an example for alternative sorting of groups: ::
+
         (...)
         <variables>
            (...)
@@ -1387,9 +1416,3 @@
             name="InstallationGroupPanel.sortKey.Group3" value="C"/>
         </variables>
         (...)
-
-.. _http://www.jext.org/: http://www.jext.org/
-.. _http://www.jedit.org/: http://www.jedit.org/
-.. _http://www.jetbrains.com/idea/: http://www.jetbrains.com/idea/
-.. _http://www.eclipse.org/: http://www.eclipse.org/
-.. _https://substance.dev.java.net/docs/skins/toneddown.html: https://substance.dev.java.net/docs/skins/toneddown.html

Modified: izpack-src/trunk/src/doc-reST/node5.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node5.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node5.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -1,622 +1,374 @@
-Advanced Features
-=================
+Advanced features
+==================
 
+Apache Ant integration
+-----------------------
 
+IzPack can be easily integrated inside an Ant build process. To do so you first need to tell Ant that you would like to use IzPack: ::
 
-Ant Integration
-================
+  <!-- Allows us to use the IzPack Ant task -->
+  <taskdef name="IzPack" classpath="${basedir}/lib/compiler.jar"
+           classname="com.izforge.IzPack.ant.IzPackTask"/>
 
-IZPACK can be easily integrated inside an Ant build process. To do so you
-first need to tell Ant that you would like to use IZPACK :
+If you want to use the standalone compiler (and therefore don't need an IzPack installation for building), the task needs to be defined as follows: ::
 
-::
-    <!-- Allows us to use the IzPack Ant task -->
-    <taskdef name="izpack" classpath="${basedir}/lib/compiler.jar"
-             classname="com.izforge.izpack.ant.IzPackTask"/>
+  <!-- Allows us to use the IzPack Ant task -->
+  <taskdef name="IzPack" classpath="${basedir}/lib/standalone-compiler.jar"
+           classname="com.izforge.IzPack.ant.IzPackTask"/>
+  Don't forget to add compiler.jar or standalone-compiler.jar to the classpath of the Ant process.
 
+Then you can invoke IzPack with the IzPack task which takes the following parameters:
 
-If you want to use the standalone compiler (and therefore don't need an
-IzPack installation for building), the task needs to be defined as follows:
+* 'input': the XML installation file. The installation can be specified as an external file, or embedded using a config child element (see section  3.2).
+* 'output': the output jar installer file
+* 'installerType': optional. standard or web. If web, the <webdir> attribute must be specified in the input file (see section 3.7). Used to force creation of a standard installer when the <webdir> attribute has been used.
+* 'baseDir': the base directory to resolve the relative paths
+* 'IzPackDir': the IzPack home directory. Only necessary if you do not use the standalone compiler.
 
-::
-    <!-- Allows us to use the IzPack Ant task -->
-    <taskdef name="izpack" classpath="${basedir}/lib/standalone-
-    compiler.jar"
-             classname="com.izforge.izpack.ant.IzPackTask"/>
+Here is a sample of the task invocation: ::
 
-
-Don't forget to add ``compiler.jar`` or ``standalone-compiler.jar`` to the
-classpath of the Ant process.
-
-Then you can invoke IZPACK with the ``izpack`` task which takes the following
-parameters:
-
--   ``input`` : the XML installation file. The installation can be
-    specified as an external file, or embedded using a ``config`` child
-    element (see section ` 3.2`_).
--   ``output`` : the output jar installer file
--   ``installerType`` : optional. ``standard`` or ``web``. If ``web``,
-    the ``<webdir>`` attribute must be specified in the input file (see
-    section `3.7`_). Used to force creation of a standard installer when the
-    ``<webdir>`` attribute has been used.
--   ``baseDir`` : the base directory to resolve the relative paths
--   ``izPackDir``: the IZPACK home directory. Only neccessary if you do
-    not use the standalone compiler.
-
-Here is a sample of the task invocation:
-
-
-::
-    <!-- We call IzPack -->
-    <echo message="Makes the installer using IzPack"/>
-    <izpack input="${dist.dir}/IzPack-install.xml"
-            output="${dist.dir}/IzPack-install.jar"
-            installerType="standard"
-            basedir="${dist.dir}"
-            izPackDir="${dist.dir}/"/>
-
-
+  <!-- We call IzPack -->
+  <echo message="Makes the installer using IzPack"/>
+  <IzPack input="${dist.dir}/IzPack-install.xml"
+          output="${dist.dir}/IzPack-install.jar"
+          installerType="standard"
+          basedir="${dist.dir}"
+          IzPackDir="${dist.dir}/"/>
+          
 Embedding the installation file using a config element
-=======================================================
+--------------------------------------------------------
 
-Instead of using the install attribute to specify an external installation
-document, you can embed the installation config as a child of the izpack task
-using a ``config`` child element with a ``CDATA`` section. For example:
+Instead of using the 'install' attribute to specify an external installation document, you can embed the installation config as a child of the IzPack task using a config child element with a CDATA section. For example: ::
 
-::
-    <property name="jboss.home.url" value="http://www.jboss.com/" />
-    ...
+  <property name="jboss.home.url" value="http://www.jboss.com/" />
+  ...
 
-    <!-- Call IzPack with an embedded install using the config element
-    -->
-    <izpack output="${dist.dir}/IzPack-install.jar"
-            installerType="standard"
-            basedir="${dist.dir}"
-            izPackDir="${dist.dir}/">
-            <config><![CDATA[
-    <installation version="1.0">
-       <info>
-          <appname>JBossAS</appname>
-          <appversion>4.0.2</appversion>
-          <appsubpath>jboss-4.0.2</appsubpath>
-          <authors>
-             <author name="JBoss Inc." email="sales at jboss.com"/>
-          </authors>
-          <url>@{jboss.home.url}</url>
-          <javaversion>1.4</javaversion>
-       </info>
-    ...
-            ]]></config>
-    </izpack>
+  <!-- Call IzPack with an embedded install using the config element -->
+  <IzPack output="${dist.dir}/IzPack-install.jar"
+          installerType="standard"
+          basedir="${dist.dir}"
+          IzPackDir="${dist.dir}/">
+          <config><![CDATA[
+  <installation version="1.0">
+     <info>
+        <appname>JBossAS</appname>
+        <appversion>4.0.2</appversion>
+        <appsubpath>jboss-4.0.2</appsubpath>
+        <authors>
+           <author name="JBoss Inc." email="sales at jboss.com"/>
+        </authors>
+        <url>@{jboss.home.url}</url>
+        <javaversion>1.4</javaversion>
+     </info>
+  ...
+          ]]></config>
+  </IzPack>
 
+Property references of the form '@{x}' are replaced by the associated x ant property if it is defined.
 
-Property references of the form ``@{x}`` are replaced by the associated ``x``
-ant property if it is defined.
+System properties as variables
+-------------------------------
 
+All system properties are available as '$SYSTEM_<variable>' where '<variable>' is the actual name but with all separators replaced by '_'. Properties with null values are never stored.
 
-System properties as variable
-=============================
-
-All system properties are available as $SYSTEM_<variable> where <variable> is
-the actual name _BUT_ with all separators replaced by '_'. Properties with
-null values are never stored.
-
-
 Examples:
 
-::
-    $SYSTEM_java_version or $SYSTEM_os_name
+'$SYSTEM_java_version' or '$SYSTEM_os_name'
 
 Automated Installers
-====================
+---------------------
 
-When you conclude your installation with a FinishPanel, the user can save the
-data for an automatic installation. With this data, he will be able to run
-the same installation on another similar machine. In an environment where
-many computers need to be supported this can save *a lot* of time.
+When you conclude your installation with a FinishPanel, the user can save the data for an automatic installation. With this data, he will be able to run the same installation on another similar machine. In an environment where many computers need to be supported this can save a lot of time.
 
+So run once the installation on a machine and save your automatic installation data in auto-install.xml (that's just a sample). Then put this file in the same directory as the installer on another machine. Run it with: ::
 
-So run once the installation on a machine and save your automatic
-installation data in ``auto-install.xml`` (that's just a sample). Then put
-this file in the same directory as the installer on another machine. Run it
-with:
-``java -jar installer.jar auto-install.xml``
+  java -jar installer.jar auto-install.xml
 
-
 It has reproduced the same installation :-)
 
-
-
 Picture on the Language Selection Dialog
-========================================
+-----------------------------------------
 
-You can add a picture on the language selection dialog by adding the
-following resource : ``installer.langsel.img``. *GIF*, *JPEG* and *PNG*
-pictures are supported starting from J2SE 1.3.
+You can add a picture on the language selection dialog by adding the following resource : 'installer.langsel.img'. GIF, JPEG and PNG pictures are supported starting from J2SE 1.3.
 
-
-
 Picture in the installer
-========================
+-------------------------
 
-It is possible to specify an optional picture to display on the left side of
-the installer. To do this, you just have to define a resource whose id is
-``Installer.image``. For instance,
+It is possible to specify an optional picture to display on the left side of the installer. To do this, you just have to define a resource whose id is 'Installer.image'. For instance ::
 
-::
-    <res id="Installer.image" src="nice-image.png" />
+  <res id="Installer.image" src="nice-image.png" />
 
+will do that. If the resource isn't specified, no picture will be displayed at all. GIF, JPEG and PNG pictures are supported starting from J2SE 1.3.
 
-will do that. If the resource isn't specified, no picture will be displayed
-at all. *GIF*, *JPEG* and *PNG* pictures are supported starting from J2SE
-1.3.
+You can also give a specific picture for a specific panel by using the 'Installer.image.n' resource names where  is the panel index. For instance if you want a specific picture for the third panel, use 'Installer.image.2' since the indexes start from 0.
 
-You can also give a specific picture for a specific panel by using the
-``Installer.image.n`` resource names where .. image:: img5.png
-    :alt: $n$
-is the panel index. For instance if you want a specific picture for the third
-panel, use ``Installer.image.2`` since the indexes start from 0.
-
-
-
 Modifying the GUI
-=================
+------------------
 
-There are some options to modify the graphic user interface. Most of them are
-managed with key/value pairs of the element <modifier> which will be located
-in the element `<guprefs>`_ in the installation description file.
+There are some options to modify the graphic user interface. Most of them are managed with key/value pairs of the element '<modifier>' which will be located in the element '<guiprefs>' in the installation description file.
 
-
 Modifying Language Selection Dialog
----------------------------------------
+''''''''''''''''''''''''''''''''''''
 
-Additonal to the picture in the language selection dialog it is possible to
-modify flags and the type of showing the language name. Following different
-views (without an images to reduce space).
+Additional to the picture in the language selection dialog it is possible to modify flags and the type of showing the language name. Following different views (without an images to reduce space).
 
-Standard language selection dialog
+.. figure:: stdLangSel.png
 
-Alternative language selection dialog
+   Standard language selection dialog
 
-.. image:: stdLangSel.png
-.. image:: modLangSel.png
+.. figure:: modLangSel.png
 
+   Alternative language selection dialog
 
--   ``useFlags``:
-possible are "yes" or "no". Default is "yes". If it is set to "no", no flag
-will be displayed in the language selection dialog. For "no" it is recomanded
-to define also langDisplayType other then "iso3".
--   ``langDisplayType``:
-possible are "iso3", "native" and "default". Default is "iso3". With "iso3"
-the text for a language will be displayed as ISO 639-2:1998 code. With
-"native" the notation of the language will be used if possible, else the
-notation of the default locale. Using "default" will be presented the
-language in the notation of the default locale of the VM.
+* 'useFlags': possible are "yes" or "no". Default is "yes". If it is set to "no", no flag will be displayed in the language selection dialog. For "no" it is recommended to define also 'langDisplayType' other then "iso3".
+* 'langDisplayType': possible are "iso3", "native" and "default". Default is "iso3". With "iso3" the text for a language will be displayed as ISO 639-2:1998 code. With "native" the notation of the language will be used if possible, else the notation of the default locale. Using "default" will be presented the language in the notation of the default locale of the VM.
 
-
 Modifying IzPack Panels
------------------------
+''''''''''''''''''''''''
 
-There are some graphic elements and behavior which are prefered by some
-people and deprecate by other. The following keys are related to the hole
-installation (all panels).
+There are some graphic elements and behavior which are prefered by some people and deprecate by other. The following keys are related to the hole installation (all panels).
 
--   ``useButtonIcons``:
-possible are "yes" or "no". Default is "yes". If it is set to "no", all
-buttons which are created via the ButtonFactory contains no icon also a icon
-id was submitted. Directly created buttons are not affected.
--   ``useLabelIcons``:
-possible are "yes" or "no". Default is "yes". If it is set to "no", all
-labels which are created via the LabelFactory contains no icon also a icon id
-was submitted. Directly created labels are not affected.
--   ``layoutAnchor``:
-layout anchor for IzPanels. Valid are "NORTH", "NORTHWEST", "SOUTHWEST",
-"SOUTH" and "CENTER". Only panels which are using the layout helper of
-IzPanels are supported. These are not all standard panels. At developing
-custom panels it is recommended to use the layout helper with an
-IzPanelLayout.
-NOTE: The anchor definition will be used for all panels!
--   ``Gaps``:
-there are defined different gaps between different components of a IzPanel if
-using IzPanelLayout. The gaps can be set also via the element <modifier> of
-`<guprefs>`_. It is possible to declare different values for X and Y axis.
-This will be determined in the key word name. X Gaps are insert after Y gaps
-under the control for which the gap was declared. Following key words are
-defined:
+* 'useButtonIcons': possible are "yes" or "no". Default is "yes". If it is set to "no", all buttons which are created via the ButtonFactory contains no icon also a icon id was submitted. Directly created buttons are not affected.
 
-    -   ``labelXGap`` | ``labelYGap``:
-gap in pixel between two labels in X or Y direction.
-    -   ``textXGap`` | ``textYGap``:
-gap in pixel between two text fields.
-    -   ``controlXGap`` | ``controlYGap``:
-gap in pixel between two controls other than label or textfield.
-    -   ``paragraphYGap``:
-gap in pixel for a pragraph. A paragraph will be created in the panel source
-for controls which should be separated. paragraphXGap is declared, but not
-used.
-    -   ``labelToTextXGap`` | ``labelToTextYGap``:
-gap in pixel between a label (left or top) and a text field (right or
-bottom).
-    -   ``labelToControlXGap`` | ``labelToControlYGap``:
-gap in pixel between a label (left or top) and a control other than a label
-or a textfield.
-    -   ``textToLabelXGap`` | ``textToLabelYGap``:
-gap in pixel between a text field (left or top) and a label.
-    -   ``controlToLabelXGap`` | ``controlToLabelYGap``:
-gap in pixel between a control other than a label or a text field and a
-label.
-    -   ``controlToTextXGap`` | ``controlToTextYGap``:
-gap in pixel between a control other than a label or a text field and a text
-field.
-    -   ``textToControlXGap`` | ``textToControlYGap``:
-gap in pixel between a text field and a control other than a label or a text
-field .
-    -   ``firstYGap``:
-gap in pixel between the top border and the first control.
-    -   ``filler[N]XGap`` | ``filler[N]YGap``:
-gap in pixel created by the layout manager. Filler are used by some panels.
-[N] is a number between 1 and 5 to allow to use different filler e.g.
-filler3XGap or filler1YGap.
-    -   ``allXGap`` | ``allYGap``:
-gap in pixel between all controls in X or Y direction. If this is declared
-all gaps for which no own declaration exists gets this value. If a gap has an
-own declaration this will be used instead.
+* 'useLabelIcons': possible are "yes" or "no". Default is "yes". If it is set to "no", all labels which are created via the LabelFactory contains no icon also a icon id was submitted. Directly created labels are not affected.
 
--   ``layoutYStretchType`` | ``layoutXStretchType``:
-The IzPanelLayout manager allows to declare stretch factors for controls.
-This means, that a control will be stratched if there is place in the line.
-The amount of stretching will be determined by the stretch factor. But what
-todo if the hole stretch factor for a line or column is not 1.0? To determine
-this these settings are exist. Valid values are "RELATIVE", "ABSOLUTE" and
-"NO". With "NO" no stretch will be performed. with "RELATIVE" the values are
-normalized, with "ABSOLUTE" the values will be used as they are (may be a
-part will be clipped if the sum is greater than 1.0).
--   ``layoutFullLineStretch`` | ``layoutFullColumnStretch``:
-As `described`_ there are controls which should be stretched. Beside fixed
-values there are the symbolic values FULL_LINE_STRETCH and
-FULL_COLUMN_STRETCH which are computed at layouting. E.g. MultiLineLabels has
-this stretch factor for x direction. But what todo if a centered layout is
-chosen? With a control like this the lines will be stretch to the hole size.
-With this settings it can be changed. E.g. a factor of 0.7 creates a nice
-centered layout. The default is 1.0, valid are 0.0 upto 1.0.
+* 'layoutAnchor':layout anchor for IzPanels. Valid are "NORTH", "NORTHWEST", "SOUTHWEST", "SOUTH" and "CENTER". Only panels which are using the layout helper of IzPanels are supported. These are not all standard panels. At developing custom panels it is recommended to use the layout helper with an IzPanelLayout. Note: The anchor definition will be used for all panels!
+  
+* Gaps: there are defined different gaps between different components of a IzPanel if using IzPanelLayout. The gaps can be set also via the element '<modifier>' of '<guiprefs>'. It is possible to declare different values for X and Y axis. This will be determined in the key word name. X Gaps are insert after Y gaps under the control for which the gap was declared. Following key words are defined:
 
-It is possible to use an alternatively frame title. Normaly the title has the
-aspect "IzPack - Installation of " + $APP_NAME. If the langpack key
-``installer.reversetitle`` is defined, the value of that key will be used
-instead of the key ``installer.title``. There is no string added, but it is
-possible to use IzPack variables. The `third heading example`_ contains such
-a alternatively frame title. It is only possible to use predefined variables
-like $APP_NAME because the title will be created before the frame will be
-shown. It is common to use the name of the installation toolkit in the frame
-title.
+  * 'labelXGap | labelYGap': gap in pixel between two labels in X or Y direction.
+  * 'textXGap | textYGap':  gap in pixel between two text fields.
+  * 'controlXGap | controlYGap': gap in pixel between two controls other than label or textfield.
+  * 'paragraphYGap': gap in pixel for a pragraph. A paragraph will be created in the panel source for controls which should be separated. paragraphXGap is declared, but not used.
+  * 'labelToTextXGap | labelToTextYGap': gap in pixel between a label (left or top) and a text field (right or bottom).
+  * 'labelToControlXGap | labelToControlYGap':  gap in pixel between a label (left or top) and a control other than a label or a textfield.
+  * 'textToLabelXGap | textToLabelYGap':  gap in pixel between a text field (left or top) and a label.
+  * 'controlToLabelXGap | controlToLabelYGap': gap in pixel between a control other than a label or a text field and a label.
+  * 'controlToTextXGap | controlToTextYGap':  gap in pixel between a control other than a label or a text field and a text field.
+  * 'textToControlXGap | textToControlYGap':  gap in pixel between a text field and a control other than a label or a text field .
+  * 'firstYGap':  gap in pixel between the top border and the first control.
+  * 'filler[N]XGap | filler[N]YGap':  gap in pixel created by the layout manager. Filler are used by some panels. [N] is a number between 1 and 5 to allow to use different filler e.g. filler3XGap or filler1YGap.
+  * 'allXGap | allYGap':  gap in pixel between all controls in X or Y direction. If this is declared all gaps for which no own declaration exists gets this value. If a gap has an own declaration this will be used instead.
 
+* 'layoutYStretchType | layoutXStretchType': the IzPanelLayout manager allows to declare stretch factors for controls. This means, that a control will be stratched if there is place in the line. The amount of stretching will be determined by the stretch factor. But what to do if the hole stretch factor for a line or column is not 1.0? To determine this these settings are exist. Valid values are "RELATIVE", "ABSOLUTE" and "NO". With "NO" no stretch will be performed. with "RELATIVE" the values are normalized, with "ABSOLUTE" the values will be used as they are (may be a part will be clipped if the sum is greater than 1.0).
 
-Using a Separated Heading Panel
--------------------------------
+* 'layoutFullLineStretch | layoutFullColumnStretch': as described there are controls which should be stretched. Beside fixed values there are the symbolic values FULL_LINE_STRETCH and FULL_COLUMN_STRETCH which are computed at layouting. E.g. MultiLineLabels has this stretch factor for x direction. But what todo if a centered layout is chosen? With a control like this the lines will be stretch to the hole size. With this settings it can be changed. E.g. a factor of 0.7 creates a nice centered layout. The default is 1.0, valid are 0.0 upto 1.0.
 
-Some standard panels have headings (e.g. ShortcutPanel). These headings are
-integrated in the IzPanel. In oposite to this following heading will be
-displayed in a separated panel potential for all panels with the same design.
-There is no need to modify existent java classes else declaration of some
-key/value pairs are enough.
+It is possible to use an alternatively frame title. Normaly the title has the aspect "IzPack - Installation of " + '$APP_NAME'. If the langpack key 'installer.reversetitle' is defined, the value of that key will be used instead of the key 'installer.title'. There is no string added, but it is possible to use IzPack variables. The third heading example contains such a alternatively frame title. It is only possible to use predefined variables like '$APP_NAME' because the title will be created before the frame will be shown. It is common to use the name of the installation toolkit in the frame title.
 
-There can be one real head and zero or more info lines. The headline will be
-written bold, the fontsize can be changed. Info lines will be indented and
-written with the normal used font. The heading message has to be written into
-the langpack (or custom langpack) file with the key ``<panel class
-name>.headline``. Examples can be seen in ``eng.xml``. May be the entries for
-standard panels are not present in other languages. Messages for info lines
-have the key ``<panel class name>.headinfo<info line number>``. First info
-line has number zero. If no or empty headline messages will be declared in
-the chosen language no heading panel will be shown. This behavior can be used
-to suppress heading for special panels.
+Using a Separated Heading Panel
+''''''''''''''''''''''''''''''''
 
-It is also possible to declare head and info lines additonal dependent on the
-panelid. The result is, that it is possible to declare different messages for
-panels which are shown more than one time (e.g. the UserInputPanel. In this
-case the key for heading is
+Some standard panels have headings (e.g. ShortcutPanel). These headings are integrated in the IzPanel. In oposite to this following heading will be displayed in a separated panel potential for all panels with the same design. There is no need to modify existent java classes else declaration of some key/value pairs are enough.
 
-::<panel class name>.headline.<panelid>
+There can be one real head and zero or more info lines. The headline will be written bold, the fontsize can be changed. Info lines will be indented and written with the normal used font. The heading message has to be written into the langpack (or custom langpack) file with the key '<panel class name>.headline'. Examples can be seen in eng.xml. May be the entries for standard panels are not present in other languages. Messages for info lines have the key '<panel class name>.headinfo<info line number>'. First info line has number zero. If no or empty headline messages will be declared in the chosen language no heading panel will be shown. This behavior can be used to suppress heading for special panels.
 
-and for info lines
+It is also possible to declare head and info lines additonal dependent on the 'panelid'. The result is, that it is possible to declare different messages for panels which are shown more than one time (e.g. the UserInputPanel. In this case the key for heading is ::
 
-::<panel class name>.headinfo<info line number>.<panelid>
+  <panel class name>.headline.<panelid>
 
-Panelids are declared in ELEMENT %lt;panel>. See ` The Panels Element
-``<panels>```_ . The standard strings are declared in the standard langpack
-file. For customized panels it is common to write the string into the custom
-langpack (see ` The Internationalization of custom panels`_. If (as example)
-in *install.xml* was following written:
+and for info lines ::
 
-::    <panels>
-            ...
-            <panel classname="UserInputPanel" id="one"/>
-            <panel classname="UserInputPanel"id="two"/>
-            ...
-        </panels>
+  <panel class name>.headinfo<info line number>.<panelid>
 
-Then the messages can be declared in *CustomLangpack.xml_eng* like
+Panelids are declared in 'ELEMENT %lt;panel>'. See The Panels Element '<panels>' . The standard strings are declared in the standard langpack file. For customized panels it is common to write the string into the custom langpack (see The Internationalization of custom panels. If (as example) in install.xml was following written: ::
 
-::<langpack>
-        ...
-        <str id="UserInputPanel.headline.one" txt="User Data one"/>
-        <str id="UserInputPanel.headline.two" txt="User Data two"/>
-        <str id="UserInputPanel.headinfo0.one" txt="Info 1 one"/>
-        <str id="UserInputPanel.headinfo1.one" txt="Info 2 one"/>
-        <str id="UserInputPanel.headinfo0.two" txt="Info 1 two"/>
-        <str id="UserInputPanel.headinfo1.two" txt="Info 2 two"/>
-        ...
-    <langpack>
+  <panels>
+      ...
+      <panel classname="UserInputPanel" id="one"/>
+      <panel classname="UserInputPanel"id="two"/>
+      ...
+  </panels>
 
-It is possible to place an icon on the right side of the heading. To do this
-a simple resource entry will be needed:
+Then the messages can be declared in 'CustomLangpack.xml_eng' like ::
 
-::<resources>
+  <langpack>
       ...
-      <res id="Heading.image" src="[my path in the source tree]"/>
+      <str id="UserInputPanel.headline.one" txt="User Data one"/>
+      <str id="UserInputPanel.headline.two" txt="User Data two"/>
+      <str id="UserInputPanel.headinfo0.one" txt="Info 1 one"/>
+      <str id="UserInputPanel.headinfo1.one" txt="Info 2 one"/>
+      <str id="UserInputPanel.headinfo0.two" txt="Info 1 two"/>
+      <str id="UserInputPanel.headinfo1.two" txt="Info 2 two"/>
       ...
-    </resources>
+  <langpack>
+  
+It is possible to place an icon on the right side of the heading. To do this a simple resource entry will be needed: ::
 
+  <resources>
+    ...
+    <res id="Heading.image" src="[my path in the source tree]"/>
+    ...
+  </resources>
 
-There are some guiprefs modifier keys to use and modify heading (see above).
-Additonal it is possible to count the generell not hidden panels in the
-heading or navigation panel.
+There are some guiprefs modifier keys to use and modify heading (see above). Additonal it is possible to count the general not hidden panels in the heading or navigation panel.
 
--   ``useHeadingPanel``:
-generell switch for heading. If this key does not exist or does not have the
-value "yes" no heading panel will be shown.
--   ``useHeadingForSummary``:
-in the language files there are entries for the heading text ([Panel
-name].headline) and the summary caption ([Panel name].summaryCaption). If
-this modifier is set to "yes", the text of the heading will be also used for
-the summary caption.
--   ``headingLineCount``:
-number of heading lines. If no info lines should be shown the value should be
-one (not zero).
--   ``headingFontSize``:
-a float value used as multiplier for the standard font size.
--   ``headingBackgroundColor``:
-background color of the heading panel as integer. Often used is 0x00ffffff
-(white).
--   ``headingPanelCounter``:
-draw a panel counting. Possible values are "text" or "progressbar". inHeading
-the progressbar will be not the best choice.
--   ``headingPanelCounterPos``:
-declares where the counter will be shown. Possible are "inHeading" or
-"inNavigationPanel". If "inNavigationPanel" is chosen, the panel counter can
-be used also no heading was selected.
+* 'useHeadingPanel':  general switch for heading. If this key does not exist or does not have the value "yes" no heading panel will be shown.
+* 'useHeadingForSummary': in the language files there are entries for the heading text ('[Panel name].headline') and the summary caption ('[Panel name].summaryCaption'). If this modifier is set to "yes", the text of the heading will be also used for the summary caption.
+* 'headingLineCount': number of heading lines. If no info lines should be shown the value should be one (not zero).
+* 'headingFontSize': a float value used as multiplier for the standard font size.
+* 'headingBackgroundColor':  background color of the heading panel as integer. Often used is 0x00ffffff (white).
+* 'headingPanelCounter':  draw a panel counting. Possible values are "text" or "progressbar". inHeading the progressbar will be not the best choice.
+* 'headingPanelCounterPos': declares where the counter will be shown. Possible are "inHeading" or "inNavigationPanel". If "inNavigationPanel" is chosen, the panel counter can be used also no heading was selected.
 
-A normal IzPack GUI looks like
+.. figure:: stdTargetPanel.jpg
 
-*Normal look of an IzPack frame (TargetPanel)*
+   Normal look of an IzPack frame (TargetPanel)
 
-.. image:: stdTargetPanel.jpg
+Key/value pairs to create IzPack installation with heading, no button and label icons and a panel text counter in the heading panel. ::
 
+   <guiprefs width="600" height="480" resizable="no">
+     <modifier key="useButtonIcons" value="no"/>
+     <modifier key="useLabelIcons" value="no"/>
+     <modifier key="labelGap" value="2"/>    
+     <modifier key="layoutAnchor" value="NORTHWEST"/>    
+     <modifier key="useHeadingPanel" value="yes"/>
+     <modifier key="headingLineCount" value="1"/>
+     <modifier key="headingFontSize" value="1.5"/>
+     <modifier key="headingBackgroundColor" value="0x00ffffff"/>
+     <modifier key="headingPanelCounter" value="text"/>
+     <modifier key="headingPanelCounterPos" value="inHeading"/>
+   </guiprefs>
 
-Key/value pairs to create IzPack installation with heading, no button and
-label icons and a panel text counter in the heading panel.
+.. figure:: modTargetPanel3.png
 
-::
-    <guiprefs width="600" height="480" resizable="no">
-      <modifier key="useButtonIcons" value="no"/>
-      <modifier key="useLabelIcons" value="no"/>
-      <modifier key="labelGap" value="2"/>
-      <modifier key="layoutAnchor" value="NORTHWEST"/>
-      <modifier key="useHeadingPanel" value="yes"/>
-      <modifier key="headingLineCount" value="1"/>
-      <modifier key="headingFontSize" value="1.5"/>
-      <modifier key="headingBackgroundColor" value="0x00ffffff"/>
-      <modifier key="headingPanelCounter" value="text"/>
-      <modifier key="headingPanelCounterPos" value="inHeading"/>
-    </guiprefs>
+   IzPack frame (TargetPanel) with heading panel and a text counter in the heading panel with panel image.
+   
+Changed resources and langpack keys to create IzPack installation with alternatively frame title, heading, no button and label icons and a text counter in the heading panel.
 
+In install.xml  ::
 
-*IzPack frame (TargetPanel) with heading panel and a text counter in the
-heading panel
-with panel image.*
+   <installation version="1.0">
+     ...
+     <resources>
+       ...
+       <res src="border4.png" id="Installer.image.3"/> REMOVED
+       ...
+     </resources>
+   </installation>
 
-.. image:: modTargetPanel3.png
+Add in '<ISO3>.xml' or 'CustomLangpack.xml_<ISO3>' ::
 
+   <langpack>
+     ...
+     <str id="installer.reversetitle" txt="$APP_NAME $APP_VER - IzPack Wizard "/>
+     ...
+   </langpack>
 
-Changed resources and langpack keys to create IzPack installation with
-alternatively frame title, heading, no button and label icons and a text
-counter in the heading panel.
+.. figure:: modTargetPanel.png
 
-::In install.xml
-    <installation version="1.0">
-      ...
-      <resources>
-        ...
-        <res src="border4.png" id="Installer.image.3"/> REMOVED
-        ...
-      </resources>
-    </installation>
+   IzPack frame (TargetPanel) with heading panel and a text counter in the heading panel with alternative frame title, no panel image.
 
-    Add in <ISO3>.xml or CustomLangpack.xml_<ISO3>
-    <langpack>
-      ...
-      <str id="installer.reversetitle" txt="$APP_NAME $APP_VER - IzPack
-      Wizard "/>
-      ...
-    </langpack>
+Changed key/value pairs to create IzPack installation with heading, no button and label icons and a panel progressbar counter in the navigation panel.
 
+Key/value pairs for modifying IzPack GUI (references for panel images removed): ::
 
+   <guiprefs width="640" height="480" resizable="no">
+     <modifier key="useButtonIcons" value="no"/>
+     <modifier key="useLabelIcons" value="no"/>
+     <modifier key="layoutAnchor" value="NORTHWEST"/>    
+     <modifier key="labelGap" value="2"/>    
+     <modifier key="useHeadingPanel" value="yes"/>
+     <modifier key="headingLineCount" value="1"/>
+     <modifier key="headingFontSize" value="1.5"/>
+     <modifier key="headingBackgroundColor" value="0x00ffffff"/>
+     <modifier key="headingPanelCounter" value="progressbar"/>
+     <modifier key="headingPanelCounterPos" value="inNavigationPanel"/>
+   </guiprefs>
+   
+.. figure:: modTargetPanel2.png
 
-*IzPack frame (TargetPanel) with heading panel and a text counter in the
-heading panel
-with alternative frame title, no panel image.*
+   IzPack frame (TargetPanel) with heading panel and a progressbar counter in the  navigation panel without panel image.
 
-.. image:: modTargetPanel.png
+Alternative Cancel Dialog
+''''''''''''''''''''''''''
 
+The cancel dialog will be shown if the cancel button or the close button of the frame was pushed. In the standard dialog the title contains the question and the message an affirmation. In other dialogs often the title is a common heading and the question will be called in the dialog as message. The standard behavior will be modified if the messages 'installer.quit.reversemessage' and 'installer.quit.reversetitleare' declared.
 
-Changed key/value pairs to create IzPack installation with heading, no button
-and label icons and a panel progressbar counter in the navigation panel.
+Add in '<ISO3>.xml' or 'CustomLangpack.xml_<ISO3>' ::
 
-Key/value pairs for modifying IzPack GUI (references for panel images
-removed):
+   <langpack>
+     ...
+     <str id="installer.quit.reversemessage" txt="Are you sure you want to cancel installation?"/>
+     <str id="installer.quit.reversetitle" txt="$APP_NAME $APP_VER"/>
+     ...
+   </langpack>
 
-::
-    <guiprefs width="640" height="480" resizable="no">
-      <modifier key="useButtonIcons" value="no"/>
-      <modifier key="useLabelIcons" value="no"/>
-      <modifier key="layoutAnchor" value="NORTHWEST"/>
-      <modifier key="labelGap" value="2"/>
-      <modifier key="useHeadingPanel" value="yes"/>
-      <modifier key="headingLineCount" value="1"/>
-      <modifier key="headingFontSize" value="1.5"/>
-      <modifier key="headingBackgroundColor" value="0x00ffffff"/>
-      <modifier key="headingPanelCounter" value="progressbar"/>
-      <modifier key="headingPanelCounterPos"
-      value="inNavigationPanel"/>
-    </guiprefs>
+.. figure:: normQuitDialog.png
 
+   Standard cancel dialog.
 
-*IzPack frame (TargetPanel) with heading panel and a progressbar counter in
-the
-navigation panel without panel image.*
+.. figure:: revQuitDialog.png
 
-.. image:: modTargetPanel2.png
+   Alternative cancel dialog.
 
-
-
-Alternative Cancel Dialog
+Logging the Installation
 -------------------------
 
-The cancel dialog will be shown if the cancel button or the close button of
-the frame was pushed. In the standard dialog the title contains the question
-and the message an affirmation. In other dialogs often the title is a common
-heading and the question will be called in the dialog as message. The
-standard behavior will be modified if the messages
-``installer.quit.reversemessage`` and ``installer.quit.reversetitle``are
-declared.
+ Logging was made as coproduct at implementing other features. There was no common design for it. Therefor there is no one way to made logging of any kind else for each group a different logging stuff exist. Not nice, but reality.
 
-::
-    Add in <ISO3>.xml or CustomLangpack.xml_<ISO3>
-    <langpack>
-      ...
-      <str id="installer.quit.reversemessage" txt="Are you sure you
-      want to cancel installation?"/>
-      <str id="installer.quit.reversetitle" txt="$APP_NAME $APP_VER"/>
-      ...
-    </langpack>
+1. Debug Informations
 
+   There is a rudimental debug stuff in IzPack. The class 'com.izforge.IzPack.util.Debug' is used by some other classes to write debug informations on 'stdout'. The class can be used by custom panels or actions or other custom classes. To activate it, add '-DTRACE=TRUE' in front of '-jar' of the installer call.
+   
+2. Summary of Panels
+   
+   There is a summary panel which shows some informations of previous shown panels. The same contents can be written to a summary log file.
+   
+3. Logging of Installed File Set
 
-Standard cancel dialog
+   The files which are installed are logged into the uninstaller jar file to be used at uninstallation. The contents can be also duplicated into a logfile.
+   
+4. Logging of the Process Panel
 
-Alternative cancel dialog
+   The process panel logs informations of each performed process in a scrollable text area. The contents can be duplicated into a logfile where the used directory can be selected (but not the logfile name).
+   
+5. Logging of Ant Actions
 
-.. image:: normQuitDialog.png
-.. image:: revQuitDialog.png
+   It is possible to perform ant actions with the 'AntActionInstallerListener'. The grade of logging and the path of a logfile can by determined.
 
-
-
-Logging the Installation
-========================
-
-Logging was made as copruduct at implementing other features. There was no
-common design for it. Therefor there is no one way to made logging of any
-kind else for each group a different logging stuff exist. Not nice, but
-reality.
-
-``Debug Informations`` There is a rudimental `debug stuff`_ in IzPack. The
-class ``com.izforge.izpack.util.Debug`` is used by some other classes to
-write debug informations on stdout. The class can be used by custom panels or
-actions or other custom classes. To activate it, add ``-DTRACE=TRUE`` infront
-of -jar of the installer call. ``Summary of Panels`` There is a `summary
-panel`_ which shows some informations of previos shown panels. The same
-contents can be written to a `summary log file`_. ``Logging of Installed File
-Set`` The files which are installed are logged into the uninstaller jar file
-to be used at uninstallation. The contents can be also duplicated into a
-`logfile`_. ``Logging of the Process Panel`` The `process panel`_ logs
-informations of each performed process in a scrollable text area. The
-contents can be duplicated into a `logfile`_ where the used directory can be
-selected (but not the logfile name). ``Logging of Ant Actions`` It is
-possible to perform ant actions with the `AntActionInstallerListener`_. The
-grade of `logging`_ and the path of a `logfile`_ can by determinded.
-
 Web Installers
-===============
+---------------
 
-The web installers allow your users to download a small installer that does
-not contain the files to install. These files will be downloaded from an HttP
-server such as *Apache HttPD*. If you have many optional packs, this can save
-people's resources. Its very easy: people download a small Jar file
-containing the installer, they launch it and choose their packages. Then the
-installer will get the required packages from individual Jar files located on
-a server, only downloading those required. It's that simple.
+The web installers allow your users to download a small installer that does not contain the files to install. These files will be downloaded from an HttP server such as Apache HTTPD. If you have many optional packs, this can save people's resources. Its very easy: people download a small Jar file containing the installer, they launch it and choose their packages. Then the installer will get the required packages from individual Jar files located on a server, only downloading those required. It's that simple.
 
+To create a web installer, add the '<webdir>' element to the <info> element. The text must be a valid, fully qualified URL for a directory on the web server. ::
 
-To create a web installer, add the ``<webdir>`` element to the ``<info>``
-element (see section `2.3.2`_). The text must be a valid, fully qualified URL
-for a direcory on the web server.
+   <info>
+     <appname>Super extractor</appname>
+     <appversion>2.1 beta 6</appversion>
+     <url>http://www.superextractor.com/</url>
+     <webdir>http://www.superextractor.com/download</url>
+   </info>
+  
+You can force creation of a standard installer even if 'webdir' is specified, by specifically creating a standard installer from the command line invocation or ant task.
 
+When installing, if the user is behind a firewall, attempting download the jar files may fail. If this happens, the user will be prompted to enter the name host name and port of their firewall.
 
-::
-    <info>
-      <appname>Super extractor</appname>
-      <appversion>2.1 beta 6</appversion>
-      <url>http://www.superextractor.com/</url>
-      <webdir>http://www.superextractor.com/download</url>
-    </info>
+You may password protect the files using mechanisms provided by your web server, IzPack will prompt for a password at install time, when required.
 
-
-You can force creation of a standard installer even if ``webdir`` is
-specified, by specifically creating a ``standard`` installer from the command
-line invocation or ant task (see ).
-
-When installing, if the user is behind a firewall, attempting download the
-jar files may fail. If this happens, the user will be prompted to enter the
-name hostname and port of their firewall.
-
-You may password protect the files using mechanisms provided by your web
-server, IzPack will prompt for a password at install time, when required.
-
-
 More Internationalization
-=========================
+--------------------------
 
-
 Special resources
------------------
+''''''''''''''''''
 
-IzPack is available in several languages. However you might want to
-internationalize some additional parts of your installer. In particular you
-might want this for the *InfoPanel and *LicencePanel. This is actually pretty
-easy to do. You just have to add one resource per localization, suffixed with
-the ISO3 language code. At runtime these panels will try to load a localized
-version.
+IzPack is available in several languages. However you might want to internationalize some additional parts of your installer. In particular you might want this for the 'InfoPanel' and 'LicencePanel'. This is actually pretty easy to do. You just have to add one resource per localization, suffixed with the ISO3 language code. At runtime these panels will try to load a localized version.
 
+For instance let's suppose that we use a 'HtmlInfoPanel'. Suppose that we have it in English, French and German. We want to have a French text for french users. Here we add a resource pointing to the French text whose name is 'HtmlInfoPanel.info_fra'. And that's it! English and German users (or anywhere other than in France) will get the default text (denoted by 'HtmlInfoPanel.info') and the French users will get the French version. Same thing for the other Licence and Info panels.
 
-For instance let's suppose that we use a htmlInfoPanel. Suppose that we have
-it in English, French and German. We want to have a French text for french
-users. Here we add a resource pointing to the French text whose name is
-``htmlInfoPanel.info_fra``. And that's it ! English and German users (or
-anywhere other than in France) will get the default text (denoted by ``
-htmlInfoPanel.info``) and the French users will get the French version. Same
-thing for the other Licence and Info panels.
+To sum up: add '_<iso3 code>' to the resource name for 'InfoPanel', 'HtmlInfoPanel', 'LicencePanel' and 'HtmlLicencePanel'.
 
-
-*To sum up :* add ``_<iso3 code>`` to the resource name for ``InfoPanel``,
-``htmlInfoPanel``, ``LicencePanel`` and ``htmlLicencePanel``.
-
-
-
 Packs
------
+''''''
 
-Thanks to Thorsten Kamann, it is possible to translate the packs names and
-descriptions. To do that, you have to define a special identifier in the
-elements of the XML installation file and add the related entries in the
-suitable langpacks. For instance if you have the following XML snippet:
+Thanks to Thorsten Kamann, it is possible to translate the packs names and descriptions. To do that, you have to define a special identifier in the elements of the XML installation file and add the related entries in the suitable langpacks. For instance if you have the following XML snippet: ::
 
-::
-    <pack name="core" id="core.package" ...>
-      <description/>
-    </pack>
+  <pack name="core" id="core.package" ...>
+    <description/>
+  </pack>
+  
+then the related entries of the langpacks will look like this: ::
 
-
-then the related entries of the langpacks will look like this:
-
-::
-    <str id="core.package" txt="Core Package"/>
-    <str id="core.package.description" txt="The core package provides
+  <str id="core.package" txt="Core Package"/>
+  <str id="core.package.description" txt="The core package provides

Modified: izpack-src/trunk/src/doc-reST/node6.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node6.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node6.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -4,11 +4,11 @@
 (by Elmar GROM and Marc EPPELMANN)
 
 Defining Shortcuts
-==================
+------------------
 
 
 Introduction
-------------
+'''''''''''''
 
 On todays GUI oriented operating systems, users are used to launching
 applications, view web sites, look at documentation and perform a variety of
@@ -38,13 +38,12 @@
 At the time of writing this Chapter the current IzPack Version 3.7.0-M3 is
 only capable to creating shortcuts on
 
-1.  Microsoft Windows
-and
+1.  Microsoft Windows, and
 2.  Unix and Unix-based operating systems (like Linux), which use the
-    `X11`_ GUI-System and ` FreeDesktop.org`_ based shortcut handling (such
-    as `KDE`_ and `Gnome`_).
+    `X11` GUI-System and ` FreeDesktop.org` based shortcut handling (such
+    as `KDE` and `Gnome`).
 
-Other operating or GUI systems, such as MacOS ``<`` MacOS-X are not
+Other operating or GUI systems, such as MacOS X are not
 supported. However, there is a special UI-variant that automatically pops up
 on unsupported systems. It informs the user about the intended targets of
 your shortcuts and allows the user to save this information to a text file.
@@ -66,7 +65,7 @@
 
 
 What to Add to the Installer
-----------------------------
+'''''''''''''''''''''''''''''
 
 There are some things that you have to add to your installer to enable
 shortcut creation. Obviously you need to add the panel responsible for
@@ -105,8 +104,8 @@
 they must be added to the installer as a resource. The source name of this
 specification does not matter, however its resource name (also called id or
 alias) when added to the installer must be ``(prefix)+shortcutSpec.xml``.
-At this release, there are only two prefixes supported: "Win_" for the
-Windows family and "Unix_" for all Unixes. If the prefix is ommited the
+At this release, there are only two prefixes supported: "Win" for the
+Windows family and "Unix" for all Unixes. If the prefix is ommited the
 shortcut panel searches for a named resource: `` shortcutSpec.xml``. This is
 the default resource name. As the default resource name will be used on
 Windows platforms, the ``"Win_shortcutSpec.xml"`` can be ommited.
@@ -119,8 +118,8 @@
 
 
 ::
-    <res
-    src="C:\MyDocuments\Installer\default_shortcut_specification.xml"
+
+    <res src="C:\MyDocuments\Installer\default_shortcut_specification.xml"
          id="shortcutSpec.xml"/>
     <res src="C:\MyDocuments\Installer\unix_shortcut_specification.xml"
          id="Unix_shortcutSpec.xml"/>
@@ -417,7 +416,7 @@
 
 
 Unix specific shortcut attributes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+----------------------------------
 
 This extension was programmed by MARC EPPELMANN. This is still in development
 and may be changed in one of the next releases of IzPack.
@@ -515,7 +514,7 @@
 
 ``$DesktopShortcutCheckboxEnabled`` : When set to true, it automatically
 checks the "Create Desktop Shortcuts" button. To see how to use it, go to
-`The Variables Element ``<variables>```_
+`The Variables Element ``<variables>``
 
 Be careful this variable is case sensitve !
 
@@ -536,6 +535,7 @@
 **Specification File Layout - Windows**
 
 ::
+
     <shortcuts>
       <skipIfNotSupported/>
       <programGroup defaultName="MyOrganization\MyApplication"
@@ -546,7 +546,7 @@
         commandLine=""
         workingDirectory="$INSTALL_PATH\Path\to\MyApplication"
         description="This starts MyApplication"
-iconFile="$INSTALL_PATH\Path\to\MyApplication\Icons\start.ico"
+        iconFile="$INSTALL_PATH\Path\to\MyApplication\Icons\start.ico"
         iconIndex="0"
         initialState="noShow||normal||maximized||minimized"
         programGroup="yes||no"
@@ -565,9 +565,9 @@
 
 
 Shortcut Tips
-=============
+-------------
 
-i wrote this section to provide additional information about issues
+I wrote this section to provide additional information about issues
 surrounding the creation of shortcuts. Reading this section is not necessary
 to successfully create shortcuts, but it might help you creating an
 installation that works more smoothly. In addition, it might give you some
@@ -576,9 +576,8 @@
 operating system specifics.
 
 
-
 The Desktop
------------
+'''''''''''
 
 You should recognize that the desktop is precious real estate for many
 people. They like to keep it uncluttered and keep only the things there that
@@ -606,7 +605,7 @@
 permission to do so, as does the ShortcutPanel in IzPack.
 
 
-i would like to recommend that you always create a shortcut in the menu
+I would like to recommend that you always create a shortcut in the menu
 system, even if your application has only one access point and you are
 placing this on the desktop. Note that shortcuts can also be placed directly
 in the menu, they don't need to be in a program group. There are two reasons
@@ -622,7 +621,7 @@
 
 
 Icons
------
+''''''
 
 Icons are supplied in image files, usually in some kind of bitmap format.
 Unfortunately there is no format that is universally recognized by all
@@ -638,7 +637,7 @@
 
 
 Windows prefers to use its native icon file format. Files of this type
-usually use the extension *.ico. These so called ICO files can hold multiple
+usually use the extension .ico. These so called ICO files can hold multiple
 icons in one file, which can be useful if the same icon is to be provided in
 a number of sizes and color-depths.
 
@@ -648,7 +647,7 @@
 this is in.
 
 In other words, a ICO file has embedded one or more dimensions of the same
-Icon. We recommend to play with `microangelo`_.
+Icon. We recommend to play with `microangelo`.
 
 Dlls and Exe files on the other side, can store, amongst other things, a
 collection of different Icons. You can select your desired Icon by its index.
@@ -659,15 +658,16 @@
 As a sample look into
 
 ::
+
     %SystemRoot%\system32\shell32.dll
 
 
-These contains a lot of Windows own icons. You can use the `PE Explorer`_ or
+These contains a lot of Windows own icons. You can use the `PE Explorer` or
 another Resource Editor to extract or modify Icons in dlls or exe files. But
 be warned. You can also destroy a working application with these kind of
 tools.
 
-At least Windows also supports the use of bitmap files in the *.bmp format as
+At least Windows also supports the use of bitmap files in the .bmp format as
 icons. Note that this format does not support multiple icons.
 
 
@@ -680,12 +680,12 @@
 **Apple**
 
 
-Apple Macintosh systems use the Macintosh PICT format, extension *.pct. If
+Apple Macintosh systems use the Macintosh PICT format, extension .pct. If
 you are working with an apple system you know a whole lot more about this
 format than i do. If you don't but would like to be able to install your
 application on a Mac, simply start with any bitmap format that you feel
 comfortable to work with. Then find an application that is capable of
-converting this format into a *.pct file. i like to use Paint Shop Pro (PC
+converting this format into a .pct file. i like to use Paint Shop Pro (PC
 based), because it provides conversion capabilities among several dozen
 different file formats.
 
@@ -708,7 +708,7 @@
 
 
 Targets
--------
+''''''''
 
 So, you thought you could escape the ugly mess of operating system
 dependencies at least with the way how your Java application is started?
@@ -738,7 +738,7 @@
 Another method is less commonly used but just as possible. Implement a native
 executable that launches the VM with your Java application. The VM comes as
 DLL and is used by java.exe in just the same way. As a sample look at the
-exlipse.exe provided by the `Eclipse-IDE`_
+exlipse.exe provided by the `Eclipse-IDE`
 
 
 Clearly, even though the first option is a bit ugly and has some
@@ -773,32 +773,33 @@
 
 
 This approach is currently used by IzPack. Package your application in a
-*.jar file if you don't already do so and make it executable by including the
+.jar file if you don't already do so and make it executable by including the
 necessary metaINF/MANIFEST.MF information file. i am not going into all the
 details on how exactly to do this, the Java documentation will have to do.
 You might have noticed that even though the instructions to install IzPack
 say to type :
 
 ::
+
     java -jar IzPack-install.jar
 
 
 You can just as well double click on IzPack-install.jar and it will start up.
 This procedure will work on all GUI based Java supported operating systems
 -though you might have to replace double clicking with dropping the file on
-the VM. In just the same way, you can make the *.jar file itself the target
+the VM. In just the same way, you can make the .jar file itself the target
 of a shortcut. Note: This works only, if jars are registered as files, which
-have to launch by the installed JRE (with: javaw.exe -jar *)
+have to launch by the installed JRE (with: javaw.exe -jar)
 
 
-The one restriction with this approach is that a *.jar file can only have one
+The one restriction with this approach is that a .jar file can only have one
 main file. So, if you have multiple targets, they need to be packaged each
-into a different *.jar file. They can be in one *.jar file but then you have
+into a different .jar file. They can be in one .jar file but then you have
 to start them explicitly, which gets you back to the problems that i
 mentioned before. This brings me to the ugly part. If you have just one
 target, then you are all set. If you have multiple targets, you need to
-create a *.jar file for each of them. In addition, you have a much harder
-time setting the classpath, because each of the *.jar files that contain
+create a .jar file for each of them. In addition, you have a much harder
+time setting the classpath, because each of the .jar files that contain
 supporting code must be listed. In fact, at present there is no way of
 setting this during the installation, because IzPack does not yet (version
 3.0) support the setting and modification of environment variables.
@@ -839,7 +840,7 @@
 
 
 Trouble Shooting
-================
+-----------------
 
 by Elmar
 
@@ -854,7 +855,7 @@
 
 
 Problems You Can Solve
-----------------------
+'''''''''''''''''''''''
 
 If you see an exception that essentially says that a library can not be
 loaded (ShellLink.dll) you have an easy problem to deal with. Your installer
@@ -875,7 +876,7 @@
 have only to use ``shortcutSpec.xml`` or ``Unix_shortcutSpec.xml`` and
 nothing else, just as described in 'What to Add to the Installer'. You can
 always verify if this part is ok by inspecting the content of the installer
-*.jar file. The file shortcutSpec.xml should be located in the directory
+.jar file. The file shortcutSpec.xml should be located in the directory
 ``res``. This inspection can be performed with any zip tool. If the file is
 not there, first correct this before proceeding.
 
@@ -911,7 +912,7 @@
 
 
 Problems That Have No Solution (yet)
-------------------------------------
+'''''''''''''''''''''''''''''''''''''''
 
 Unfortunately one problem has been very persistent and only recently one user
 found the reason. The problem occurs when installing on some target systems
@@ -928,9 +929,10 @@
 
 
 A sample shortcut specification file for Unix
----------------------------------------------
+----------------------------------------------
 
 ::
+
     <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 
     <shortcuts>
@@ -1023,12 +1025,3 @@
        </shortcut>
 
     </shortcuts>
-
-.. _X11: http://www.x11.org/
-.. _ FreeDesktop.org: http://www.freedesktop.org/
-.. _KDE: http://www.kde.org/
-.. _Gnome: http://www.gnome.org/
-.. _variables: node4.html#SECTION00433000000000000000
-.. _microangelo: http://www.microangelo.us
-.. _PE Explorer: http://www.heaventools.com
-.. _Eclipse-IDE: http://www.eclipse.org

Modified: izpack-src/trunk/src/doc-reST/node7.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node7.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node7.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -1,5 +1,5 @@
 Creating Your Own Panels
-=====
+========================
 
 In IzPack all of the actual work of installing an application is done in
 panels. The IzPack framework is primarily there to support the operation of
@@ -20,7 +20,7 @@
 
 
 How to get started
------
+--------------------
 
 To get started with writing your own panels, it is best to place all the
 IzPack code into a separate working directory, from where you can compile it.
@@ -34,8 +34,6 @@
 panel needs to do. This means that you shouldn't start with ``
 UserInputPanel`` or ``ShortcutPanel``. ``HelloPanel`` is probably a much
 better choice at this stage. The source code for panels is located at:
-
-
 ``/src/lib/com/izforge/izpack/panels``.
 
 
@@ -50,16 +48,13 @@
 
 
 Next Steps
------
+--------------------
 
 Once you have a successful compilation, you must place the compiled result of
 your panel code at a special place, so that the installer compiler can fetch
-it when building an installer that uses your panel. Go to:
+it when building an installer that uses your panel. Go to: ``/bin/panels``
 
 
-``/bin/panels``
-
-
 You will see that there is a subdirectory for each panel. Make a subdirectory
 for your new panel with the exact same name as your panel and place your
 compiled panel code there.
@@ -76,7 +71,7 @@
 
 
 Access to the Variable Substitution System
------
+------------------------------------------------------------
 
 One thing many developers ask about is how to get access to the variable
 substitution system. This is not surprising, because customizing an
@@ -95,7 +90,7 @@
 
 
 Controlling Flow
------
+--------------------
 
 Some of the interesting methods in ``com.izforge.izpack.InstallerFrame`` that
 you might want to explore are ``lockPrevButton()`` and ``lockNextButton()``.
@@ -111,7 +106,7 @@
 
 
 Reading XML
------
+--------------------
 
 If you need configuration files for your panel you would want to use XML for
 that purpose. To read XML files you should use NanoXML, as it is guaranteed
@@ -127,26 +122,26 @@
 
 
 Supporting Classes
------
+--------------------
 
 If your panel requires any supporting classes that are part of the panels
-package, then you must place the *.class files into the same directory with
+package, then you must place the .class files into the same directory with
 your panel .class file.
 
 
 It is also possible to have supporting classes that are not part of the
 panels package. In fact, these classes don't even have to be in the
-``com.izpack...`` tree. You simply have to ensure that the *.class files are
+``com.izpack...`` tree. You simply have to ensure that the .class files are
 located in the proper directory structure inside ``/lib/installer.jar``. If
 this is done, they will be available at install time. For your first
-experiments you can simply compile your classes and add them to the *.jar
+experiments you can simply compile your classes and add them to the .jar
 file using the jar tool or a zip utility. However, ultimately it is much
 easier to use Ant and the IzPack build script to accomplish this task.
 
 
 
 Panels that are not visible
------
+----------------------------------------
 
 If you have a task that needs to be performed at a particular step in the
 installation process, but that does not need any user interaction, you can
@@ -167,7 +162,7 @@
 
 
 A word about building IzPack
------
+----------------------------------------
 
 If you don't already use Jakarta Ant to support your development work, i
 highly recommend you have a look at it. It is a great help in organizing
@@ -178,31 +173,18 @@
 which supports the integration of building a complete installer into your
 regular build scripts. You can find more details about this in the chapter
 about advanced features. To get a look at Ant you can visit the following
-link: ``` http://ant.apache.org/index.html`_``.
+link:  http://ant.apache.org/index.html.
 
 
-You can find the Ant build script for IzPack itself at:
+You can find the Ant build script for IzPack itself at: ``/src/build.xml``
 
-
-``/src/build.xml``
-
-
-
 The ``IzPanel`` Class
-=====
+----------------------
 
 
-UML Diagram
------
+.. image:: izpanel-uml-diag.png
 
-.. image:: img6.png
-    :alt: \fbox{\includegraphics[scale=0.5]{img/ch5-izpanel}}
 
-
-
-Description
------
-
 The two data members are : the install data (refer to the ``InstallData``
 Javadoc reference) and a reference to the parent installer frame.
 
@@ -262,12 +244,13 @@
 
 
 The ``Internationalization`` of custom panels
-=====
+------------------------------------------------------------
 
 A common way to define language dependant messages for custom panels is to
 add entries into the common langpacks which are stored in the directory
 
 ::
+
     [IzPackRoot]/bin/langpacks/installer
 
 
@@ -275,6 +258,7 @@
 langpacks. Define e.g.
 
 ::
+
     <resources>
         ...
         <res id="CustomLangpack.xml_deu"
@@ -288,4 +272,3 @@
 DTD as the common langpack. For each language a separate file with the ISO3
 extension in the id should be used.
 
-.. _http://ant.apache.org/index.html: http://ant.apache.org/index.html

Modified: izpack-src/trunk/src/doc-reST/node8.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node8.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node8.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -78,7 +78,7 @@
 
 
 The Basic XML Structure
-=====
+----------------------------------------
 
 The top level XML section is called ``<userInput>``. For most panels it does
 not make sense to present them more than once, however you might want to
@@ -111,7 +111,7 @@
 
 
 Concepts and XML Elements Common to All Fields
-=====
+------------------------------------------------------------
 
 Before i dive into the details of defining the various UI elements i would
 like to present XML elements and general concepts that apply throughout. This
@@ -155,9 +155,9 @@
 
 
 ::
+
     <field type="text" variable="myFirstVariable">
-      <description align="left" txt="A description" id="description
-      1"/>
+      <description align="left" txt="A description" id="description1"/>
       .
       .
       .
@@ -216,7 +216,7 @@
 
 
 Internationalization
-=====
+--------------------
 
 To provide internationalization you can create a file named
 ``userInputLang.xml_xyz`` where ``xyz`` is the ISO3 code of the language in
@@ -234,6 +234,7 @@
 userInputLang.xml_fra:
 
 ::
+
     <userInput>
     <panel order="0">
       <field type="staticText" align="left" txt="My comment is here."
@@ -253,6 +254,7 @@
 userInputLang.xml_eng file contains:
 
 ::
+
     <langpack>
       <str id="input.comment" txt="English:My comment is here."/>
       <str id="input.proxy" txt="English:Proxy Host:"/>
@@ -263,6 +265,7 @@
 userInputLang.xml_fra file contains:
 
 ::
+
     <langpack>
       <str id="input.comment" txt="French:My comment is here."/>
       <str id="input.proxy" txt="French:Proxy Host:"/>
@@ -273,6 +276,7 @@
 you will also have to add the following to the install.xml file
 
 ::
+
     <resources>
       ...
       <res id="userInputSpec.xml" src="userInputSpec.xml"/>
@@ -282,7 +286,7 @@
     </resources>
 
 Panel Title
-=====
+--------------------
 
 You can place an optional title at the top of the panel. Though it is not
 possible to select a font for the title that is different form the one used
@@ -314,7 +318,7 @@
 
 
 Static Text
-=====
+--------------------
 
 Static text is simply text that is placed on the panel without direct
 connection to any of the input elements. It is laid out to use the entire
@@ -332,12 +336,13 @@
 The following example inserts some static text in the panel.
 
 ::
+
     <field type="staticText" align="left"
            txt="This is just some simple static text."
            id="staticText.text"/>
 
 Visual Separation
-=====
+--------------------
 
 Sometimes it is desirable to separate different entities visually. This can
 be accomplished by inserting a space or a divider. A space simply inserts a
@@ -349,12 +354,9 @@
 ``<field type="divider" />``
 ``<field type="space" />``
 
-..... maybe i should draw the line myself and add no additional space at all
-...
 
-
 Text Input
-=====
+--------------------
 
 A text input field allows the user to enter and edit a single line of text,
 without length restriction. The input field can have a label, which will show
@@ -394,6 +396,7 @@
 
 
 ::
+
     <field type="text" variable="textInput">
       <description align="left" txt="A description for a text input
       field"
@@ -403,7 +406,7 @@
     </field>
 
 Radio Buttons
-=====
+--------------------
 
 The radio buttons are useful when the user needs to select a specific option
 out of a pre-defined list of choices. This field offers an arbitrary number
@@ -460,25 +463,20 @@
 
 
 ::
+
     <field type="radio" variable="radioSelection">
       <description align="left" txt="This is a description for radio
-      buttons"
-                   id="description.radio"/>
+      buttons" id="description.radio"/>
       <spec>
-      <choice txt="the first choice" id="radio.label.1" value="1
-      selected" />
-      <choice txt="the second choice" id="radio.label.2" value="2
-      selected"
-              set="true" />
-      <choice txt="the third choice" id="radio.label.3" value="3
-      selected" />
-      <choice txt="the fourth choice" id="radio.label.4" value="4
-      selected" />
+      <choice txt="the first choice" id="radio.label.1" value="1 selected" />
+      <choice txt="the second choice" id="radio.label.2" value="2 selected" set="true" />
+      <choice txt="the third choice" id="radio.label.3" value="3 selected" />
+      <choice txt="the fourth choice" id="radio.label.4" value="4 selected" />
       </spec>
     </field>
 
 Combo Box
-=====
+--------------------
 
 The combo box provides essentially the same functionality as do the radio
 buttons, just in a different presentation stile. The advantage of the combo
@@ -487,7 +485,7 @@
 
 
 Check Box
-=====
+--------------------
 
 If there are a number of choices and any combination of them could be
 selected, not just a single one, then radio buttons are not the way to go.
@@ -548,6 +546,7 @@
 
 
 ::
+
     <field type="check" variable="chekSelection.1">
       <description align="left" txt="This is a description for a check
       box"
@@ -557,7 +556,7 @@
     </field>
 
 Rule Input
-=====
+--------------------
 
 The rule input field is the most powerful and complex one of all the input
 fields offered by this panel. In its most simple incarnation it looks and
@@ -570,7 +569,7 @@
 
 
 Layout and Input Rules
------
+----------------------------------------
 
 The basic nature of this input field is that of a text input field and as
 mentioned before, in its most simple incarnation that is what it looks like
@@ -621,7 +620,6 @@
 
 
 .. image:: img7.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/userInput-phone}}
 
 
 **E-Mail address**
@@ -634,7 +632,6 @@
 
 
 .. image:: img8.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/userInput-email}}
 
 
 **IP address**
@@ -646,7 +643,6 @@
 
 
 .. image:: img9.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/userInput-IP}}
 
 
 **Serial Number or Key Code**
@@ -662,7 +658,6 @@
 
 
 .. image:: img10.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/userInput-serial}}
 
 
 **Limitations**
@@ -680,21 +675,20 @@
 specification string.
 
 
-*Key* *Meaning* *Description*
-N  numeric  The field will accept only numerals.
-H  hexadecimal  The field will accept only hexadecimal numerals, that is all
-numbers from 0-F.
-A  alphabetic  The field will accept only alphabetic characters. Numerals and
-punctuation marks will not be accepted.
-AN  alpha-numeric  The field will accept alphabetic characters and numerals
-but no punctuation marks.
-O  open  The filed will accept any input, without restriction.
-U  unlimited  This key is only legal for specifying the editing length of a
-fields. If used, the field imposes no length restriction on the text entered.
+==== =============== ================================================================================================================================================
+Key   Meaning         Description
+==== =============== ================================================================================================================================================
+N     numeric         The field will accept only numerals.
+H     hexadecimal     The field will accept only hexadecimal numerals, that is all numbers from 0-F.
+A     alphabetic      The field will accept only alphabetic characters. Numerals and punctuation marks will not be accepted.
+AN    alpha-numeric   The field will accept alphabetic characters and numerals but no punctuation marks.
+O     open            The filed will accept any input, without restriction.
+U     unlimited       This key is only legal for specifying the editing length of a fields. If used, the field imposes no length restriction on the text entered.
+==== =============== ================================================================================================================================================
 
 
 Setting Field Content
------
+----------------------
 
 Like all other input fields the rule input field can also be pre-filled with
 data and as usual, this is accomplished thought the ``set`` attribute. As you
@@ -715,7 +709,7 @@
 
 
 The Output Format
------
+----------------------
 
 The user input from all subfields is combined into one single value and used
 to replace the variable associated with the field. You can make a number of
@@ -724,20 +718,17 @@
 ``resultFormat`` attribute can take the following values:
 
 
-*Value* *Meaning*
-``plainString`` The content of all subfields is simply concatenated into one
-long string.
-``displayFormat`` The content of all subfields and all labels -as displayed-
-is concatenated into one long string.
-``specialSeparator`` The content of all subfields is concatenated into one
-string, using the string specified withe the ``separator`` attribute to
-separate the content of the subfields.
-``processed`` The content is processed by Java code that you supply before
-replacing the variable. How to do this is described below.
+===================== ======================================================================================================================================================
+Value                 Meaning
+===================== ======================================================================================================================================================
+``plainString``       The content of all subfields is simply concatenated into one long string.
+``displayFormat``     The content of all subfields and all labels (as displayed) is concatenated into one long string.
+``specialSeparator``  The content of all subfields is concatenated into one string, using the string specified with the ``separator`` attribute to separate the content of the subfields.
+``processed``         The content is processed by Java code that you supply before replacing the variable. How to do this is described below.
+===================== ======================================================================================================================================================
 
-
 Validating the Field Content
------
+--------------------------------------------
 
 You can provide runtime validation for user input into a rule field via the
 ``validator`` element (which is a child of the ``field`` element. There are
@@ -751,6 +742,7 @@
 You can specify a processor for a combobox:
 
 ::
+
     <choice processor="fully.qualified.class.name"
             set="selectedValue"/>
 
@@ -759,7 +751,7 @@
 
 
 NotEmptyValidator
-~~~~~
+''''''''''''''''''
 
 The ``NotEmptyValidator`` simply checks that the user entered a non-null
 value into each subfield, and returns ``false`` otherwise.
@@ -767,13 +759,13 @@
 
 
 RegularExpressionValidator
-~~~~~
+'''''''''''''''''''''''''''
 
 The ``RegularExpressionValidator`` checks that the user entered a value which
 matches a specified regular expression, as accepted by the Jakarta Regexp
-library (```http://jakarta.apache.org/regexp/`_``). The syntax of this
+library (http://jakarta.apache.org/regexp/). The syntax of this
 implementation is described in the javadoc of the ``RE`` class
-(```http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html`_``).
+(http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html).
 
 You can specify the regular expression to be tested by passing a parameter
 with a name of ``pattern`` to the validator (via the ``param`` element), with
@@ -782,6 +774,7 @@
 
 
 ::
+
     <field type="rule" variable="EMAILaddress">
       <spec
           txt="Your Email address:" layout="O:12:U @ O:8:40 .
@@ -800,13 +793,13 @@
     </field>
 
 
-You can test your own regular expressions using the handy applet at ```
-http://jakarta.apache.org/regexp/applet.html`_`` .
+You can test your own regular expressions using the handy applet at
+http://jakarta.apache.org/regexp/applet.html.
 
 
 
 Creation Your Own Custom Validator
-~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 You can create your own custom Validator implementation simply by creating a
 new class which implements the ``com.izforge.izpack.panels.Validator``
@@ -827,6 +820,7 @@
 RuleInputField. Syntax:
 
 ::
+
     <spec set="0:defaultVal:classname" .../>
 
 
@@ -836,15 +830,16 @@
 
 
 Processing the Field Content
------
+--------------------------------------------
 
 This feature needs to be documented.
 
 
 Summary Example
------
+----------------------
 
 ::
+
     <field type="rule" variable="test1">
       <description align="left" txt="A description for a rule input
       field."
@@ -858,7 +853,7 @@
     </field>
 
 Search
-=====
+----------------------
 
 The search input field allows the user to choose the location of files or
 directories. It also supports auto-detection of the location using a list of
@@ -866,18 +861,16 @@
 trigger auto-detection (again).
 
 .. image:: img11.png
-    :alt: \fbox{\includegraphics[scale=0.8]{img/userInput-search}}
 
 
 
 Specification
------
+----------------------
 
-The ``<description>`` tag is the same as with other fields (see `6.2`_ on
-page `.. image:: crossref.png
-    :alt: [*]
-`_). The ``<spec>`` tag supports the following attributes:
+The ``<description>`` tag is the same as with other fields
 
+The ``<spec>`` tag supports the following attributes:
+
 -   ``filename`` - the name of the file or directory to search for
 -   ``type`` - what to search for
 
@@ -886,21 +879,19 @@
 
 -   ``result`` - what to return as the search result
 
-    -   ``file`` - result of search is whole pathname of file or
-    directory found
-    -   ``directory`` - only return directory where the file was found
-    (this is the same as ``file`` when searching for directories)
-    -   ``parentdir`` - return the full path of the parent directory
-    where the file was found
+    -   ``file`` - result of search is whole pathname of file or directory found
+    -   ``directory`` - only return directory where the file was found (this is the same as ``file`` when searching for directories)
+    -   ``parentdir`` - return the full path of the parent directory where the file was found
 
 -   ``checkfilename`` - the name of a file or directory to check for
     existence (this can be used to validate the user's selection)
 
 
 Example
------
+-------
 
 ::
+
     <field type="search" variable="java_sdk_home">
       <description align="left"
                    txt="This is a description for a search
@@ -915,7 +906,3 @@
       </spec>
     </field>
 
-.. _http://jakarta.apache.org/regexp/: http://jakarta.apache.org/regexp/
-.. _http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html:
-    http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html
-.. _http://jakarta.apache.org/regexp/applet.html: http://jakarta.apache.org/regexp/applet.html

Modified: izpack-src/trunk/src/doc-reST/node9.html.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/node9.html.txt	2007-10-29 14:37:36 UTC (rev 1887)
+++ izpack-src/trunk/src/doc-reST/node9.html.txt	2007-11-07 02:38:30 UTC (rev 1888)
@@ -5,7 +5,7 @@
 
 
 Overview
-=====
+----------------------
 
 The implementation of custom actions presume knowledge of java. Custom
 actions are not a good starting point for learning java. Learners can use
@@ -51,7 +51,7 @@
 
 
 How It Works
-=====
+----------------------
 
 Custom actions are implemented as listeners. Each listener implements
 callback methods that will be called at well-defined points. The method
@@ -79,32 +79,25 @@
 
 
 Custom Action Types
------
+----------------------
 
 Custom actions are intended to be used at packaging time, at installation
 time and at uninstallation time. The interfaces are:
 
-*Custom action type* *Interface name*
-Packaging  com.izforge.izpack.event.CompilerListener
-Installation  com.izforge.izpack.event.InstallerListener
-Uninstallation  com.izforge.izpack.event.UninstallerListener
+=================== =============================================
+Custom action type  Interface name
+=================== =============================================
+Packaging           com.izforge.izpack.event.CompilerListener
+Installation        com.izforge.izpack.event.InstallerListener
+Uninstallation      com.izforge.izpack.event.UninstallerListener
+=================== =============================================
 
 
 Custom Actions At Packaging
-~~~~~
+''''''''''''''''''''''''''''
 
-
-UML Diagram
-:::::
-
 .. image:: img12.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/CompilerListener}}
 
-
-
-Description
-:::::
-
 -   *(constructor)*: only the default constructor will be used. It is
     called from Compiler just after creating the packager. Therefore
     initializing will be better during in the first ``notify`` call.
@@ -123,20 +116,11 @@
 
 
 Custom Actions At Installing Time
-~~~~~
+''''''''''''''''''''''''''''''''''
 
 
-UML Diagram
-:::::
-
 .. image:: img13.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/InstallerListener}}
 
-
-
-Description
-:::::
-
 -   *(constructor)*: only the default constructor will be used. It is
     called from ``Unpacker.run`` before unpacking.
 -   ``beforePacks`` will be called each time before an unpacking call is
@@ -160,20 +144,10 @@
 
 
 Custom Actions At Uninstalling Time
-~~~~~
+'''''''''''''''''''''''''''''''''''''
 
-
-UML Diagram
-:::::
-
 .. image:: img14.png
-    :alt: \fbox{\includegraphics[scale=1.0]{img/UninstallerListener}}
 
-
-
-Description
-:::::
-
 -   *(constructor)* : only the default constructor will be used. It is
     called from ``Destroyer.run`` as first call.
 -   ``beforeDeletion`` will be called after execute files was performed.
@@ -189,7 +163,7 @@
 
 
 Package Path
------
+----------------------
 
 Custom actions must always implement one of the given listener interfaces. As
 mentioned above, it is also possible to derive from one of the "Simple"
@@ -201,6 +175,7 @@
 may be
 
 ::
+
     [IzPackRoot]/bin/customActions/MyCompilerListener.jar
     [IzPackRoot]/bin/customActions/MyInstallerListener.jar
     [IzPackRoot]/bin/customActions/MyUninstallerListener.jar
@@ -209,13 +184,8 @@
 In the default Ant definition file (build.xml) there are some targets for
 this stuff.
 
-
-Correlated Stuff
------
-
-
 Native Libraries for Uninstallation
-~~~~~
+--------------------------------------------
 
 If a custom action uses JNI at installation time, often the associated
 uninstall custom action needs JNI too. For this situation it is possible to
@@ -223,6 +193,7 @@
 ``stage`` attribute to the ``native`` tag in the install xml file like
 
 ::
+
     <!-- The native section. We specify here our os dependant
     libs..--> <native type="3rdparty"
     name="MyOSHelper.dll"stage="both" >
@@ -237,7 +208,7 @@
 
 
 What You Have To Do
-=====
+----------------------
 
 Follow the steps that are needed to create and use custom actions with the
 "normal" source environment (not standalone compiler) using Ant. Of course,
@@ -256,7 +227,10 @@
     the name attribute value in the build-instealler-listener must match
     ``CompilerListener`` implementation class name (not including the
     package). You should include the actual Listener implementation, as well
-    as any other classes required by the listener. ::
+    as any other classes required by the listener.
+    
+    ::
+    
                 <build-compiler-listener
                 name="MyCompilerListener">
                     <include
@@ -268,13 +242,18 @@
 -   Run ``[IzPackRoot]/src/build.xml``. An ``ant`` alone will execute the
     required targets.
 -   Add a "listeners" ELEMENT with a "listener" ELEMENT with a "compiler"
-    attribute in to [MyProjectPath]/install.xml ::
+    attribute in to [MyProjectPath]/install.xml
+    
+    ::
+    
           <listeners>
             <listener compiler="MyCompilerListener" />
           <listeners>
 
 -   Compile with the following command, or an ant task you have set up.
+    
     ::
+    
         java -jar [IzPackRoot]/lib/compiler.jar -HOME [IzPackRoot]
           [MyProjectPath]/install.xml -b [MyProductPath] -o
           [MyBuildPath]/install.jar
@@ -283,48 +262,57 @@
 
 
 Custom Actions at Installation Time (InstallerListener)
------
+------------------------------------------------------------------
 
-Perform the same steps as described in `7.3.1`_, replace all occurrences of
+Perform the same steps as above, replace all occurrences of
 "CompilerListener" with "InstallerListener" and "compiler" with "installer".
 
 
 Custom Actions at Uninstallation Time (UninstallerListener)
------
+------------------------------------------------------------------
 
-Perform the same steps as described in `7.3.1`_, replace all occurrences of
+Perform the same steps as above, replace all occurrences of
 "CompilerListener" with "UninstallerListener"and "compiler" with
 "uninstaller".
 
 
 Example
-=====
+----------------------
 
 Let us say, we want to set access rights for files and directories on Unix.
 The Java sources are placed in the directory
 ``[IzPackRoot]/sample/src/com/myCompany/tools/install/listener``. There are
 the files ChmodCompilerListener.java and ChmodInstallerListener.java.
 
--   Copy the files too
-    [IzPackRoot]/src/lib/com/myCompany/tools/install/listener
--   In [IzPackRoot]/src/build.xml there are the lines ::
+-   Copy the files to  ``[IzPackRoot]/src/lib/com/myCompany/tools/install/listener``
+-   In ``[IzPackRoot]/src/build.xml`` there are the lines
+
+    ::
+    
             <!-- CUSTOM ACTION test START
             CUSTOM ACTION test END -->
-         Uncomment them (activate the lines between them).
+            
+    Uncomment them (activate the lines between them).
 -   Build IzPack new.
--   Compile a test installation with ::
+-   Compile a test installation with
+    
+    ::
+    
         java -jar [IzPackRoot]/lib/compiler.jar -HOME [IzPackRoot]
           [IzPackRoot]/sample/listener/install.xml
           -b [IzPackRoot]/sample/listener -o
           [IzPackRoot]/sample/listener/install.jar
 
--   Install it ::
+-   Install it
+
+    ::
+    
         java -jar install.jar
 
 
 
 Ant Actions (InstallerListener and UninstallerListener)
-=====
+------------------------------------------------------------------
 
 In this section the common ant task custom actions are described in detail.
 It is only for developers who are not acquainted with ``IzPack`` or it's
@@ -337,6 +325,7 @@
 
 
 ::
+
     <listeners>
         <listener installer="AntActionInstallerListener"
             uninstaller="AntActionUninstallerListener" />
@@ -358,6 +347,7 @@
 
 
 ::
+
     <resorces>
         ...
         <res id="AntActionsSpec.xml"
@@ -375,6 +365,7 @@
 
 
 ::
+
     <jar src="jar/ant/ant.jar" stage="both" />
 
 
@@ -392,7 +383,7 @@
 
 
 The Basic XML Struture
------
+----------------------
 
 An ant action will be defined in the resource with the id
 "AntActionsSpec.xml". Sometimes it will help to lock into
@@ -456,9 +447,9 @@
 
 
 ``<property>``: define a property
-~~~~~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''
 
-Property to be used with all ``target``s and ``uninstall_target``s which are
+Property to be used with all ``target`` and ``uninstall_target`` which are
 defined for this antcall.
 
 -   ``name``: required. The name (id) of the property.
@@ -467,7 +458,7 @@
 
 
 ``<propertyfile>``: define properties in a file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''''''''''''''''
 
 Properties to be used with all targets and uninstall_targets which are
 defined for this antcall given by the path of a properties file.
@@ -485,7 +476,7 @@
 
 
 ``<target>``: target to call at installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''''''''''''''''''''''
 
 Targets to perform with this antcall at installation time. The targets should
 be defined in the given buildfile or else an ant exception will be raised.
@@ -497,7 +488,7 @@
 
 
 ``<uninstall_target>``: target to call on uninstallation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
 Targets to perform with this antcall at uninstallation time. The targets
 should be defined in the given buildfile otherwise an ant exception will be
@@ -508,7 +499,7 @@
 
 
 Registry access (InstallerListener and UninstallerListener)
-===========================================================
+------------------------------------------------------------
 
 The event package of ``IzPack`` contains an installer and an uninstaller
 listener for Windows registry access. The listeners uses the separated pack
@@ -521,7 +512,7 @@
 The listeners themselves are only able to write into the Windows registry at
 installation and delet the writing at uninstall time. But it is also possible
 to use the registry handler as a registry reader in custom panels or costum
-actions. The `CheckedHelloPanel`_ reads the registry and can be used as
+actions. The `CheckedHelloPanel` reads the registry and can be used as
 example for it.
 
 To add registry support to an installation some changes in the installation
@@ -529,6 +520,7 @@
 declaration of the listener themselves:
 
 ::
+
     <listeners>
         <listener installer="RegistryInstallerListener"
             uninstaller="RegistryUninstallerListener" >
@@ -551,6 +543,7 @@
 needs the dll
 
 ::
+
     <native type="3rdparty" name="COIOSHelper.dll" stage="both">
         <os family="windows"/>
     </native>
@@ -567,6 +560,7 @@
 there will be an entry with the variables $APP_NAME $APP_VER, e.g.:
 
 ::
+
     IzPack 4.6.8 (build 2007.02.15)
 
 
@@ -579,6 +573,7 @@
 resource:
 
 ::
+
     <resources>
         ...
         <res src="mySubPath/MyRegistrySpec.xml"
@@ -632,33 +627,33 @@
 
 
 ``<key>``: define a key
-~~~~~~~~~~~~~~
+''''''''''''''''''''''''
 
 Key to be set at installation time into the Windows registry.
 
 -   ``keypath`` : required. The path of the key in Windows syntax without
     the root.
-If the key should be placed directly under a registry root (`not recommended;
-often not possible)`_) write the key name without any backslash.
+    If the key should be placed directly under a registry root (`not recommended;
+    often not possible)`) write the key name without any backslash.
 -   ``root`` : required. The root of the key as symbol. Valid is one of
     HKCR HKCU HKLM HKU HKPD HKCC HKDDS.
 
 
 ``<value>``: define a value
-~~~~~~~~~~~~~~~~
+''''''''''''''''''''''''''''
 
 Value to be set at installation time into the Windows registry.
 
 -   ``name`` : required. The name of the value to be set or modified
     without a path.
-The default value will be written as the empty string "".
+    The default value will be written as the empty string "".
 -   ``keypath`` : required. The key path under which the value should be
     placed in Windows syntax without the root and value name. If the key of
     the value should be placed directly under a registry root (if not exist,
-    `not recommended; often not possible)`_) write the key name without any
+    `not recommended; often not possible)`) write the key name without any
     backslash.
-If the value should be placed directly under a registry root (also not
-recommended and often not possible) write as keypath the empty string "".
+    If the value should be placed directly under a registry root (also not
+    recommended and often not possible) write as keypath the empty string "".
 -   ``root`` : required. The root of the key as symbol. Valid is one of
     HKCR HKCU HKLM HKU HKPD HKCC HKDDS.
 -   ``override`` : optional. Override an existent value or not. Valid is
@@ -668,25 +663,26 @@
 
     -   ``string`` : contents for value to be set if it is a string.
     -   ``dword`` : contents for value to be set if it is an integer
-    (Windows DWORD). Only digits are valid. "48" is valid, "0x30" will be
-    raise an NumberFormatException from ``java.lang.Long.parseLong``.
+        (Windows DWORD). Only digits are valid. "48" is valid, "0x30" will be
+        raise an NumberFormatException from ``java.lang.Long.parseLong``.
     -   ``<bin>`` : element to handle one "line" of binary data.
 
         -   ``data`` : contents for value of type BINARY written as
-        comma separated list of hex. Only hex-digits are valid. "48, f4" is
-        valid, "0x48, 0xf4" will be raise an NumberFormatException from
-        ``java.lang.Integer.parseInt``.
+            comma separated list of hex. Only hex-digits are valid. "48, f4" is
+            valid, "0x48, 0xf4" will be raise an NumberFormatException from
+            ``java.lang.Integer.parseInt``.
 
     -   ``<multi>``: element to handle one contents string for
-    MULTI_STRINGs.
+        MULTI_STRINGs.
 
         -   ``data`` : the contents for the element <multi>.
 
-May be the descriptions for type BINARY and MULTI_STRING are not fully
+Maybe the descriptions for type BINARY and MULTI_STRING are not fully
 descriptive. Therefore as example the test entries in the registry
 specification file of IzPack:
 
 ::
+
     <registry>
       ...
       <pack name="Core">
@@ -718,9 +714,9 @@
 ----------------------
 
 There is a special pack named ``UninstallStuff``. If a pack will be declared
-like
+like ::
 
-::<pack name="UninstallStuff">
+  <name="UninstallStuff">
 
 the incorporated elements will be used for creating the uninstall key and
 values instead of the build-in behavior. This pack name should be not used at
@@ -734,6 +730,7 @@
 following:
 
 ::
+
     ...
     <value name="DisplayName"
       keypath="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$UNI
@@ -765,7 +762,7 @@
 
         -   no new values or subkeys are added after installation.
         -   no changes are made at the contents of values after
-        installation.
+            installation.
 
         With other words: if under the key something was changed
         between installation and uninstallation, the key will be persist.
@@ -773,12 +770,12 @@
 -   Values:
 
     -   A newly created value will be deleted, if the contents at
-    uninstall time is the same as after installation.
+        uninstall time is the same as after installation.
     -   The contents of a previos existent value will be changed to the
-    previos contents (the contents before installation) if the contents at
-    uninstall time is the same as after installation.
+        previous contents (the contents before installation) if the contents at
+        uninstall time is the same as after installation.
 
-    With other words: if the contents of a value was changed between
+    In other words: if the contents of a value was changed between
     installation and uninstallation this contents will be persist. There is
     no handling of parts of the contents (important for type MULTI_STRING).
 
@@ -793,6 +790,7 @@
 There are the files
 
 ::
+
     [IzPackRoot]/src/dist-files/IzPack-install-reg.xml
     [IzPackRoot]/src/dist-files/RegistrySpec.xml
 
@@ -808,13 +806,14 @@
 
 
 Summary Logger (InstallerListener)
-=
+------------------------------------------------------------
 
 The listener ``SummaryLoggerInstallerListener`` can be used to log the
-`summary of panels`_ into a file. To use it, add following element to the
+`summary of panels` into a file. To use it, add following element to the
 listener section of your installation config file.
 
 ::
+
     <listeners>
         <listener installer="SummaryLoggerInstallerListener"
             uninstaller="SummaryLoggerInstallerListener" >
@@ -825,12 +824,15 @@
 
 The default path is
 
-::$INSTALL_PATH/Uninstaller/InstallSummary.htm
+::
 
+  $INSTALL_PATH/Uninstaller/InstallSummary.htm
+
 It can be changed with the subelement ``summarylogfilepath`` of the element
 ``info`` of the installation description file. As example:
 
 ::
+
     <info>
         ...
         <summarylogfilepath>



More information about the izpack-changes mailing list