You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by cr...@apache.org on 2007/04/10 05:48:57 UTC

svn commit: r527010 [9/26] - in /forrest/trunk/site-author/content: ./ skins/ xdocs/ xdocs/docs_0_70/ xdocs/docs_0_70/howto/ xdocs/docs_0_70/howto/bugzilla-patch/ xdocs/docs_0_70/howto/cvs-ssh/ xdocs/docs_0_70/howto/multi/ xdocs/docs_0_80/ xdocs/docs_0...

Modified: forrest/trunk/site-author/content/xdocs/docs_0_70/your-project.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_70/your-project.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_70/your-project.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_70/your-project.xml Mon Apr  9 20:48:52 2007
@@ -16,83 +16,103 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
-
 <document>
   <header>
     <title>Using Forrest</title>
     <subtitle>A tutorial on how to use Forrest in your own projects</subtitle>
   </header>
-
   <body>
     <section id="intro">
       <title>Introduction</title>
       <p>
-        This tutorial will lead you through the process of installing Forrest, and using
-        it to create a new project, or add Forrest-based docs to an existing project.
+        This tutorial will lead you through the process of installing Forrest,
+        and using it to create a new project, or add Forrest-based docs to an
+        existing project.
       </p>
     </section>
-
-   <section id="installing">
-     <title>Installing Forrest</title>
-     <p>
-       <link href="ext:forrest/download">Download</link> the latest release
-       of Forrest and follow the index.html in the top-level, or
-       if you want to try the development version, then
-       <link href="site:v0.70//developers/build">build Forrest</link> from source.
-     </p>
-     
-     <section>
-       <title>Setting up the Environment</title>
-       <p>
-       After downloading and extracting forrest, you need to add environment variables.
-       </p>
-       
-       <section>
-         <title>In Unix/Linux:</title>
-         <p class="instruction">change directory to the top-level of the forrest distribution and do ...</p>
-         <p class="instruction">~/apache-forrest-0.7$ export FORREST_HOME=`pwd`</p>
-         <p class="instruction">~/apache-forrest-0.7$ export PATH=$PATH:$FORREST_HOME/bin</p>
-       
-         <section>
-           <title>Permanently Setting The Environment Variables for Linux/Unix</title>
-           <p>Export only changes the variables during that terminal session for that 
-           user, this is useful for testing. To permanently add the variable edit either 
-           <code>/etc/bash.bashrc</code> (for all users) or <code>~/.bash_profile</code>
-           (for individual users). Add these lines to the end of the file you edit:</p>
-         
-           <source>
+    <section id="installing">
+      <title>Installing Forrest</title>
+      <p>
+        <link href="ext:forrest/download">Download</link> the latest release of
+        Forrest and follow the index.html in the top-level, or if you want to
+        try the development version, then
+        <link href="site:v0.70//developers/build">build Forrest</link> from
+        source.
+      </p>
+      <section>
+        <title>Setting up the Environment</title>
+        <p>
+          After downloading and extracting forrest, you need to add environment
+          variables.
+        </p>
+        <section>
+          <title>In Unix/Linux:</title>
+          <p class="instruction">
+            change directory to the top-level of the forrest distribution and do
+            ...
+          </p>
+          <p class="instruction">
+            ~/apache-forrest-0.7$ export FORREST_HOME=`pwd`
+          </p>
+          <p class="instruction">
+            ~/apache-forrest-0.7$ export PATH=$PATH:$FORREST_HOME/bin
+          </p>
+          <section>
+            <title>Permanently Setting The Environment Variables for Linux/Unix</title>
+            <p>
+              Export only changes the variables during that terminal session for
+              that user, this is useful for testing. To permanently add the
+              variable edit either <code>/etc/bash.bashrc</code> (for all users)
+              or <code>~/.bash_profile</code> (for individual users). Add these
+              lines to the end of the file you edit:
+            </p>
+            <source>
       FORREST_HOME=/full/path/to/forrest
       export FORREST_HOME
       
       PATH=$PATH:$FORREST_HOME/bin
       export PATH
           </source>
+          </section>
+        </section>
+        <section>
+          <title>Windows 2000</title>
+          <p class="instruction">
+            Go to "My Computer", "Properties", "Advanced", "Environment
+            Variables"
+          </p>
+          <p class="instruction">
+            add a new variable <code>FORREST_HOME</code> as
+            <code>C:\full\path\to\apache-forrest-0.7</code>
+          </p>
+          <p class="instruction">
+            edit <code>PATH</code> as <code>%PATH%;%FORREST_HOME%\bin</code>
+          </p>
+        </section>
+        <section>
+          <title>In Windows XP:</title>
+          <p class="instruction">
+            Go to "My Computer", "Properties", "Advanced", "Environment
+            Variables"
+          </p>
+          <p class="instruction">
+            Create a New variable with name: FORREST_HOME value:
+            C:\full\path\to\apache-forrest-0.7
+          </p>
+          <p class="instruction">
+            Edit PATH by adding ;%FORREST_HOME%\bin to the end of the current
+            value.
+          </p>
         </section>
       </section>
-     
-       <section>
-         <title>Windows 2000</title>
-         <p class="instruction">Go to "My Computer", "Properties", "Advanced", "Environment Variables"</p>
-         <p class="instruction">add a new variable <code>FORREST_HOME</code> as <code>C:\full\path\to\apache-forrest-0.7</code></p>
-         <p class="instruction">edit <code>PATH</code> as <code>%PATH%;%FORREST_HOME%\bin</code></p>
-       </section>
-       
-       <section>
-         <title>In Windows XP:</title>
-         <p class="instruction">Go to "My Computer", "Properties", "Advanced", "Environment Variables"</p>
-         <p class="instruction">Create a New variable with name: FORREST_HOME value: C:\full\path\to\apache-forrest-0.7</p>
-         <p class="instruction">Edit PATH by adding ;%FORREST_HOME%\bin to the end of the current value.</p>
-       </section>
-     </section>
-   </section>
-   
-   <section>
-     <title>The 'forrest' Command</title>
-       <p>
-         To see what the 'forrest' command can do, type 'forrest -projecthelp'.
-         The build targets that are marked with * are the commonly used ones.
-         </p>
-       <source>
+    </section>
+    <section>
+      <title>The 'forrest' Command</title>
+      <p>
+        To see what the 'forrest' command can do, type 'forrest -projecthelp'.
+        The build targets that are marked with * are the commonly used ones.
+      </p>
+      <source>
   Apache Forrest.  Run 'forrest -projecthelp' to list options
   
   Buildfile: /usr/local/svn/forrest/src/core/bin/../forrest.build.xml
@@ -136,14 +156,14 @@
                            target if you wish to deploy remotely.
   Default target: site
        </source>
-        <p>
-          As 'site' is the default target, just running 'forrest' without options will
-          generate a "static HTML website". For example, typing 'forrest' in the
-         top-level "forrest/site-author" directory would build Forrest's own website.
-         But we're going to be building a new site for your project, so read on.
-        </p>
+      <p>
+        As 'site' is the default target, just running 'forrest' without options
+        will generate a "static HTML website". For example, typing 'forrest' in
+        the top-level "forrest/site-author" directory would build Forrest's own
+        website. But we're going to be building a new site for your project, so
+        read on.
+      </p>
     </section>
-
     <section id="seeding_new">
       <title>Seeding a new project</title>
       <p>
@@ -151,9 +171,8 @@
         documentation set to your project, which you can then customize.
       </p>
       <p>
-        To try this out, create a completely new directory (outside the
-        Forrest distribution), then change directory
-        to it, and do 'forrest seed':
+        To try this out, create a completely new directory (outside the Forrest
+        distribution), then change directory to it, and do 'forrest seed':
       </p>
       <source>
 [/home/me/forrest/my-test]$ forrest seed
@@ -214,7 +233,8 @@
       </source>
       <note>
         As you have probably noticed, we like to document things right in the
-        script, on the theory that people only read online docs when desperate :)
+        script, on the theory that people only read online docs when desperate
+        :)
       </note>
       <p>
         You now have a template documentation structure all set up:
@@ -277,17 +297,17 @@
 |-- status.xml
       </source>
       <p>
-        To render this to HTML, type 'forrest'. You should have a HTML site rendered
-        into the <code>build/site</code> directory:
+        To render this to HTML, type 'forrest'. You should have a HTML site
+        rendered into the <code>build/site</code> directory:
       </p>
       <figure src="images/new-project.png" height="356" width="500" alt="New project"/>
       <p>
         Practise with adding new content. Change to the directory
         <code>src/documentation/content/xdocs</code> and copy the file
-        <code>index.xml</code> to create <code>my-new-file.xml</code> as a
-        new document. Edit it to change some text. Add an entry to 
-        <code>site.xml</code> by copying one of the other entries and
-        changing it to suit. Now do 'forrest' to see the result.
+        <code>index.xml</code> to create <code>my-new-file.xml</code> as a new
+        document. Edit it to change some text. Add an entry to
+        <code>site.xml</code> by copying one of the other entries and changing
+        it to suit. Now do 'forrest' to see the result.
       </p>
     </section>
     <section id="seeding_existing">
@@ -303,26 +323,26 @@
         If your project already has XML documentation, it may be easier to tell
         Forrest where the XML sources are, rather than rearrange your project
         directories to accommodate Forrest. This can be done by editing
-        <code>forrest.properties</code> (consult
-        the <link href="#Changing_the_layout">Changing the layout</link>
-        section for more details).
+        <code>forrest.properties</code> (consult the
+        <link href="#Changing_the_layout">Changing the layout</link> section for
+        more details).
       </p>
     </section>
     <section id="customizing">
       <title>Customizing your project</title>
       <p>
-        Having seeded a project with template docs, you will now want to customize it
-        to your project's needs. Here we will deal with configuring the skin, and
-        changing the project layout.
+        Having seeded a project with template docs, you will now want to
+        customize it to your project's needs. Here we will deal with configuring
+        the skin, and changing the project layout.
       </p>
       <section id="skinconf.xml">
         <title>Configuring the Forrest skin: skinconf.xml</title>
-
         <p>
           Most Forrest skins can be customized through a single XML file,
           <code>src/documentation/skinconf.xml</code>, which looks like this:
         </p>
-<source><![CDATA[
+        <source>
+<![CDATA[
 <!--
 Skin configuration file. This file contains details of your project,
 which will be used to configure the chosen Forrest skin.
@@ -482,35 +502,35 @@
   </credits>
 
 </skinconfig>
-]]></source>
+]]>
+        </source>
         <p>
-          Customise this file for your project. The <code>images/</code> directory
-          mentioned in 'project-logo' and 'group-logo' elements corresponds to the
-          <code>src/documentation/resources/images</code> directory
-          (this mapping is done automatically by the sitemap).
+          Customise this file for your project. The <code>images/</code>
+          directory mentioned in 'project-logo' and 'group-logo' elements
+          corresponds to the <code>src/documentation/resources/images</code>
+          directory (this mapping is done automatically by the sitemap).
         </p>
         <p>
-          Having edited this file (and ensured it is valid XML), re-run the 'forrest'
-          command in the site root, and the site would be updated.
+          Having edited this file (and ensured it is valid XML), re-run the
+          'forrest' command in the site root, and the site would be updated.
         </p>
       </section>
       <section id="Changing_the_layout">
         <title>Changing the layout: forrest.properties</title>
         <p>
-          Forrest allows you to place files anywhere you want in your
-          project, so long as you tell Forrest where you have placed the
-          major file types.
+          Forrest allows you to place files anywhere you want in your project,
+          so long as you tell Forrest where you have placed the major file
+          types.
         </p>
         <p>
           The <code>forrest.properties</code> file maps from your directory
-          layout to Forrest's. If you generated your site with 'forrest seed', you
-          will have one pre-written, with all the entries commented out.
+          layout to Forrest's. If you generated your site with 'forrest seed',
+          you will have one pre-written, with all the entries commented out.
         </p>
         <note>
-         You only need to un-comment entries if you are going to change them
-         to something different.
-         If you keep in synchronisation with the 'forrest seed' defaults,
-         then it is easy to diff each time that you update.
+          You only need to un-comment entries if you are going to change them to
+          something different. If you keep in synchronisation with the 'forrest
+          seed' defaults, then it is easy to diff each time that you update.
         </note>
         <p>
           The main entries (with default values) are:
@@ -535,23 +555,25 @@
 #project.lib-dir=${project.content-dir}/lib
 #project.classes-dir=${project.content-dir}/classes
        </source>
-       <p>
-         For example, if you wish to keep XML documentation in src/xdocs rather than
-         <code>src/documentation/content/xdocs</code> simply change the
-         definition for project.xdocs-dir
-       </p>
-       <source>project.xdocs-dir=src/xdocs</source>
-       <p>
-         For example, to emulate the simple 
-         <link href="http://maven.apache.org/">Maven</link> format:
-       </p>
-       <source>
+        <p>
+          For example, if you wish to keep XML documentation in src/xdocs rather
+          than <code>src/documentation/content/xdocs</code> simply change the
+          definition for project.xdocs-dir
+        </p>
+        <source>project.xdocs-dir=src/xdocs</source>
+        <p>
+          For example, to emulate the simple
+          <link href="http://maven.apache.org/">Maven</link> format:
+        </p>
+        <source>
          /xdocs
          /xdocs/images
          /xdocs/stylesheets
        </source>
-       <p>Here are the required property definitions:</p>
-       <source>
+        <p>
+          Here are the required property definitions:
+        </p>
+        <source>
 project.content-dir=xdocs
 project.sitemap-dir=${project.content-dir}
 project.xdocs-dir=${project.content-dir}
@@ -560,17 +582,15 @@
 project.skinconf=${project.content-dir}/skinconf.xml
          </source>
 <!-- FIXME: Does anyone know what this note means? -->
-         <note>
-           Internally, Forrest rearranges the specified directory into the default
-           <code>src/documentation/content/xdocs</code> structure. In the layout above, we have
-           overlapping directories, so you will end up with duplicate files. This small
-           glitch doesn't usually cause problems; just always remember that all links
-           are resolved through the sitemap.
-         </note>
-       </section>
-
-     </section>
-
+        <note>
+          Internally, Forrest rearranges the specified directory into the
+          default <code>src/documentation/content/xdocs</code> structure. In the
+          layout above, we have overlapping directories, so you will end up with
+          duplicate files. This small glitch doesn't usually cause problems;
+          just always remember that all links are resolved through the sitemap.
+        </note>
+      </section>
+    </section>
     <section id="adding_content">
       <title>Adding content</title>
       <p>
@@ -580,67 +600,68 @@
       <section id="site.xml">
         <title>site.xml</title>
         <p>
-          When adding a new xml document, you would add an entry to the project's
-          <code>site.xml</code> file. This site.xml is like a site index, and is rendered as
-          the vertical column of links in the default skin.  Look at Forrest's own
-          xdocs for an example.  More detailed info about site.xml is provided in 
-          the document <link href="site:v0.70//linking">Menus and Linking</link>.
+          When adding a new xml document, you would add an entry to the
+          project's <code>site.xml</code> file. This site.xml is like a site
+          index, and is rendered as the vertical column of links in the default
+          skin. Look at Forrest's own xdocs for an example. More detailed info
+          about site.xml is provided in the document
+          <link href="site:v0.70//linking">Menus and Linking</link>.
         </p>
       </section>
       <section id="tabs.xml">
         <title>tabs.xml</title>
         <p>
-          The <code>tabs.xml</code> file is used to produce the 'tabs'.
-          which enable users to quickly jump to sections of your site.
-          See the
-          <link href="site:v0.70//menu_generation">menu generation</link> documentation
-          for more details, and again, consult Forrest's own docs for a usage
-          example.
+          The <code>tabs.xml</code> file is used to produce the 'tabs'. which
+          enable users to quickly jump to sections of your site. See the
+          <link href="site:v0.70//menu_generation">menu generation</link>
+          documentation for more details, and again, consult Forrest's own docs
+          for a usage example.
         </p>
         <figure src="images/tabs.png" alt="Tabs"/>
-        <p>You can have one or two levels of tabs. The images above show a 
-        single level. However, you can create a second level that
-        will only be displayed when its parent tab is selected. For example,
-        the <code>tabs.xml</code> snippet below will display either one or
-        two rows of tabs, depending on which of the top level tabs is selected.
-        The first row will have two tabs: one labelled <code>How-Tos</code>
-        and the other labelled <code>Apache XML Projects</code>. When the 
-        <code>How-Tos</code> tab is selected there will
-        be no second row of tabs. However, when the <code>Apache XML
-        Projects</code> tab is selected, a second row of tabs will be displayed
-        below the first.</p>
-        <source><![CDATA[
+        <p>
+          You can have one or two levels of tabs. The images above show a single
+          level. However, you can create a second level that will only be
+          displayed when its parent tab is selected. For example, the
+          <code>tabs.xml</code> snippet below will display either one or two
+          rows of tabs, depending on which of the top level tabs is selected.
+          The first row will have two tabs: one labelled <code>How-Tos</code>
+          and the other labelled <code>Apache XML Projects</code>. When the
+          <code>How-Tos</code> tab is selected there will be no second row of
+          tabs. However, when the <code>Apache XML Projects</code> tab is
+          selected, a second row of tabs will be displayed below the first.
+        </p>
+        <source>
+<![CDATA[
   <tab label="How-Tos" dir="community/howto/"/>
   <tab label="Apache XML Projects" href="http://xml.apache.org">
     <tab label="Forrest" href="http://forrest.apache.org/"/>
     <tab label="Xerces" href="http://xml.apache.org/xerces"/>
   </tab>
-]]></source>
+]]>
+        </source>
       </section>
       <section id="images">
         <title>Images</title>
         <p>
           Images usually go in the <code>content/xdocs/images/</code> directory.
-          The default sitemap
-          maps this directory to <code>images/</code> so image tags will typically look
-          like <code>&lt;figure src="images/project-logo.png" alt="Project Logo"/&gt;</code> 
+          The default sitemap maps this directory to <code>images/</code> so
+          image tags will typically look like <code>&lt;figure
+          src="images/project-logo.png" alt="Project Logo"/&gt;</code>
         </p>
       </section>
     </section>
-
     <section id="sitemap.xmap">
       <title>Advanced customizations: sitemap.xmap</title>
       <p>
-        The Cocoon sitemap is a set of rules for generating content (HTML, PDFs etc)
-        from XML sources. Forrest has a default sitemap, which is adequate for
-        everyday sites. For example, the
-        <link href="site:forrest">Forrest website</link> itself uses the
-        default sitemap.
+        The Cocoon sitemap is a set of rules for generating content (HTML, PDFs
+        etc) from XML sources. Forrest has a default sitemap, which is adequate
+        for everyday sites. For example, the <link href="site:forrest">Forrest
+        website</link> itself uses the default sitemap.
       </p>
       <p>
-        Sometimes, one needs to go beyond the default set of rules. This is where
-        Forrest really shines, because its Cocoon backend allows virtually any
-        processing pipeline to be defined. For example, one can:
+        Sometimes, one needs to go beyond the default set of rules. This is
+        where Forrest really shines, because its Cocoon backend allows virtually
+        any processing pipeline to be defined. For example, one can:
       </p>
       <ul>
         <li>Transform custom XML content types with XSLT stylesheets.</li>
@@ -664,40 +685,38 @@
           samples.</li>
       </ul>
       <p>
-        The Forrest sitemaps are at
-        <code>main/webapp/*.xmap</code>
+        The Forrest sitemaps are at <code>main/webapp/*.xmap</code>
       </p>
-
       <p>
         You can add pre-processing sitemaps to your project
         <code>src/documentation</code> directory (or wherever
         <code>${project.sitemap-dir}</code> points to). Get a copy of a simple
-        sitemap.xmap from a 'forrest seed site'. </p>
-      <p>Any match that
-        is not handled, passes through to be handled by the default Forrest
-        sitemaps - obviously extremely powerful. The capability is described
-        in 
-        "<link href="site:v0.70//project-sitemap">Using project sitemaps</link>"
-        and some worked examples are shown in the following sections here.
+        sitemap.xmap from a 'forrest seed site'.
+      </p>
+      <p>
+        Any match that is not handled, passes through to be handled by the
+        default Forrest sitemaps - obviously extremely powerful. The capability
+        is described in "<link href="site:v0.70//project-sitemap">Using project
+        sitemaps</link>" and some worked examples are shown in the following
+        sections here.
       </p>
       <note>
-        We advise you to spend time to understand the Apache Cocoon sitemap.
-        See <link href="ext:cocoon/sitemap">Cocoon sitemap</link>
-        and <link href="ext:cocoon/concepts">Cocoon concepts</link>
-        and related component documentation.
-        The Forrest sitemap is broken into multiple files. The main one is
-        <strong>sitemap.xmap</strong> which delegates to others.  See the
-         <link href="site:v0.70//sitemap-ref">Sitemap Reference</link> for a tour of the
-        default sitemap.
+        We advise you to spend time to understand the Apache Cocoon sitemap. See
+        <link href="ext:cocoon/sitemap">Cocoon sitemap</link> and
+        <link href="ext:cocoon/concepts">Cocoon concepts</link> and related
+        component documentation. The Forrest sitemap is broken into multiple
+        files. The main one is <strong>sitemap.xmap</strong> which delegates to
+        others. See the <link href="site:v0.70//sitemap-ref">Sitemap
+        Reference</link> for a tour of the default sitemap.
       </note>
       <section id="adding_new_content_type">
         <title>Example: Adding a new content type</title>
         <p>
-          There are two methods for detecting types of documents
-          and doing special handling. The more complete solution is
-          <link href="#adding_new_content_type_2">described</link>
-          in the advanced section below. However, this basic method
-          is also worth understanding.
+          There are two methods for detecting types of documents and doing
+          special handling. The more complete solution is
+          <link href="#adding_new_content_type_2">described</link> in the
+          advanced section below. However, this basic method is also worth
+          understanding.
         </p>
         <p>
           Follow this worked example. In a fresh directory do 'forrest seed'
@@ -706,12 +725,13 @@
         <p>
           An example scenario is that we have a specialised list of downloads
           for a certain software package. It would be best to represent the
-          download information in a custom XML format. This means that it
-          will have its own document type declaration. We will need
-          to detect this new document type via our project sitemap
-          and also provide a mapping to a local copy of this DTD.
+          download information in a custom XML format. This means that it will
+          have its own document type declaration. We will need to detect this
+          new document type via our project sitemap and also provide a mapping
+          to a local copy of this DTD.
         </p>
-        <source><![CDATA[<?xml version="1.0" encoding="utf-8"?>
+        <source>
+<![CDATA[<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE document PUBLIC "-//Acme//DTD Download Documentation V1.0//EN"
   "dtd/download-v10.dtd">
 <document> 
@@ -750,17 +770,21 @@
       <p>....</p>
     </section>
   </body>
-</document>]]></source>
-        <p>This file called "<code>download.xml</code>" would be placed in
-          your content directory (typically
+</document>]]>
+        </source>
+        <p>
+          This file called "<code>download.xml</code>" would be placed in your
+          content directory (typically
           <code>src/documentation/content/xdocs</code>) and an entry added to
-          <code>site.xml</code></p>
+          <code>site.xml</code>
+        </p>
         <p>
           To handle these special tags, one would write a stylesheet to convert
-          them to the intermediate Forrest xdocs structure. Here is such a stylesheet,
-          called "<code>download2document.xsl</code>" ...
+          them to the intermediate Forrest xdocs structure. Here is such a
+          stylesheet, called "<code>download2document.xsl</code>" ...
         </p>
-        <source><![CDATA[<?xml version="1.0" encoding="utf-8"?>
+        <source>
+<![CDATA[<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet
   version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
@@ -792,97 +816,101 @@
   </xsl:template>
 
 </xsl:stylesheet>
-]]></source>
-          <p>
-            Place this file in the default stylesheets directory,
-            <code>src/documentation/resources/stylesheets</code> (or wherever
-            ${project.stylesheets-dir} points).
-          </p>
-          <p>
-            Now we will create a project sitemap to control the
-            transformation of our custom xml
-            structure into the Forrest intermediate xdocs structure.
-          </p>
-          <note>
-            The <link href="site:v0.70//sitemap-ref">Sitemap
-            Reference</link> provides details about how the sitemap works.
-          </note>
-          <p>
-            Add the following match to the file
-            <code>src/documentation/sitemap.xmap</code> ...
-          </p>
-          <source><![CDATA[<?xml version="1.0"?>
+]]>
+        </source>
+        <p>
+          Place this file in the default stylesheets directory,
+          <code>src/documentation/resources/stylesheets</code> (or wherever
+          ${project.stylesheets-dir} points).
+        </p>
+        <p>
+          Now we will create a project sitemap to control the transformation of
+          our custom xml structure into the Forrest intermediate xdocs
+          structure.
+        </p>
+        <note>
+          The <link href="site:v0.70//sitemap-ref">Sitemap Reference</link>
+          provides details about how the sitemap works.
+        </note>
+        <p>
+          Add the following match to the file
+          <code>src/documentation/sitemap.xmap</code> ...
+        </p>
+        <source>
+<![CDATA[<?xml version="1.0"?>
 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:pipelines>
   <map:pipeline>]]>
   ...
-  <strong><![CDATA[
+  <strong>
+<![CDATA[
    <map:match pattern="**download.xml">
     <map:generate src="{properties:content.xdocs}{1}download.xml" />
     <map:transform src="{properties:resources.stylesheets}/download2document.xsl" />
     <map:serialize type="xml"/>
    </map:match>
-]]></strong><![CDATA[
+]]></strong>
+<![CDATA[
   </map:pipeline>
  </map:pipelines>
 </map:sitemap>
-]]></source>
+]]>
+        </source>
+        <p>
+          That will intercept the request for the body content, for only this
+          specific "download" document, and will transform it into the
+          intermediate Forrest "document" format. The normal Forrest machinery
+          will handle the aggregation with navigation menus etc. and will apply
+          the normal skin.
+        </p>
+        <section id="new_dtd">
+          <title>Registering a new DTD</title>
           <p>
-            That will intercept the request for the body content, for only
-            this specific "download" document, and will transform it into the
-            intermediate Forrest "document" format. The normal Forrest machinery
-            will handle the aggregation with navigation menus etc. and will
-            apply the normal skin.
+            By default, Forrest requires that all XML files be valid, i.e. they
+            must have a DOCTYPE declaration and associated DTD, and validate
+            against it. Our new 'downloads' document type is no exception. The
+            <link href="site:v0.70//validation">XML Validation</link> document
+            continues this example, showing how to register a new document type.
+            Briefly, this involves:
           </p>
-
-            <section id="new_dtd">
-              <title>Registering a new DTD</title>
-              <p>
-                 By default, Forrest requires that all XML files be valid, i.e.
-                 they must have a DOCTYPE declaration and associated DTD, and
-                 validate against it.  Our new 'downloads' document type is no
-                 exception.  The <link href="site:v0.70//validation">XML
-                   Validation</link> document continues this example, showing how
-                 to register a new document type.  Briefly, this involves:
-               </p>
-               <ul>
-                 <li>Create a new DTD or (in our case) extend an existing
+          <ul>
+            <li>Create a new DTD or (in our case) extend an existing
                    one.</li>
-                 <li>Place the new DTD in the
+            <li>Place the new DTD in the
                    <code>${project.schema-dir}/dtd</code> directory.</li>
-                 <li>Add an XML Catalog to enable a mapping from the
+            <li>Add an XML Catalog to enable a mapping from the
                    DOCTYPE public id to the relevant DTD file.</li>
-                 <li>Tell the system about your catalog.</li>
-               </ul>
-               <note>
-                 Please see <link href="site:v0.70//validation">XML Validation</link>
-                 for the complete description for those steps.
-               </note>
-            </section>
-          </section>
-
-          <section id="adding_new_content_type_2">
-            <title>Example: Adding a new content type (advanced)</title>
-            <p>
-              The simple user sitemap in the previous example is fine for
-              simple situations. For a complete solution to the "Download DTD"
-              issue we need a more advanced sitemap which will do different
-              processing depending on the type of the source document.
-            </p>
-            <p>
-              We need to digress and explain the powerful 
-              <link href="site:v0.70//cap">SourceTypeAction (content aware pipelines)</link>.
-              It is a Cocoon sitemap component that peeks at the top-part of
-              a document to look for hints about the type of the document.
-              It has four methods: document-declaration, document-element and
-              namespace, processing-instruction, w3c-xml-schema.
-            </p>
-            <p>
-             Now to return to our specific example which uses SourceTypeAction
-             to detect the Document Type Declaration. Let us show the sitemap
-             and then explain it.
-            </p>
-            <source><![CDATA[<?xml version="1.0"?>
+            <li>Tell the system about your catalog.</li>
+          </ul>
+          <note>
+            Please see <link href="site:v0.70//validation">XML Validation</link>
+            for the complete description for those steps.
+          </note>
+        </section>
+      </section>
+      <section id="adding_new_content_type_2">
+        <title>Example: Adding a new content type (advanced)</title>
+        <p>
+          The simple user sitemap in the previous example is fine for simple
+          situations. For a complete solution to the "Download DTD" issue we
+          need a more advanced sitemap which will do different processing
+          depending on the type of the source document.
+        </p>
+        <p>
+          We need to digress and explain the powerful
+          <link href="site:v0.70//cap">SourceTypeAction (content aware
+          pipelines)</link>. It is a Cocoon sitemap component that peeks at the
+          top-part of a document to look for hints about the type of the
+          document. It has four methods: document-declaration, document-element
+          and namespace, processing-instruction, w3c-xml-schema.
+        </p>
+        <p>
+          Now to return to our specific example which uses SourceTypeAction to
+          detect the Document Type Declaration. Let us show the sitemap and then
+          explain it.
+        </p>
+        <source>
+<![CDATA[<?xml version="1.0"?>
 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
 
  <map:components>
@@ -927,172 +955,182 @@
   </map:pipeline>
  </map:pipelines>
 </map:sitemap>
-]]></source>
-            <p>
-              This is the type of processing that happens in the main
-              <code>main/webapp/forrest.xmap</code> sitemap. We have
-              added similar handling to our project sitemap. Basically, this
-              uses the <link href="site:v0.70//cap">SourceTypeAction (content aware pipelines)</link>
-              to detect the doctype. The new document-v11.dtd needs to be also
-              added to your project Catalog as
-              <link href="#new_dtd">described above</link>.
-            </p>
-            <p>
-              Note that any sitemap component must be declared before it
-              can be used, because the project sitemap is the first sitemap
-              to be consulted.
-            </p>
-          </section>
-
-          <section id="integrating_rss">
-            <title>Example: integrating external RSS content</title>
-            <p>Similar to the previous example, we can integrate RSS into our
-              site simply by providing a match in our project sitemap.xmap ...
-            </p>
-            <source><![CDATA[<?xml version="1.0"?>
+]]>
+        </source>
+        <p>
+          This is the type of processing that happens in the main
+          <code>main/webapp/forrest.xmap</code> sitemap. We have added similar
+          handling to our project sitemap. Basically, this uses the
+          <link href="site:v0.70//cap">SourceTypeAction (content aware
+          pipelines)</link> to detect the doctype. The new document-v11.dtd
+          needs to be also added to your project Catalog as
+          <link href="#new_dtd">described above</link>.
+        </p>
+        <p>
+          Note that any sitemap component must be declared before it can be
+          used, because the project sitemap is the first sitemap to be
+          consulted.
+        </p>
+      </section>
+      <section id="integrating_rss">
+        <title>Example: integrating external RSS content</title>
+        <p>
+          Similar to the previous example, we can integrate RSS into our site
+          simply by providing a match in our project sitemap.xmap ...
+        </p>
+        <source>
+<![CDATA[<?xml version="1.0"?>
 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:pipelines>
-  <map:pipeline>]]>
-  <strong><![CDATA[
+  <map:pipeline>]]><strong>
+<![CDATA[
    <map:match pattern="**weblog.xml">
     <map:generate src="http://blogs.cocoondev.org/stevenn/index.rss"/>
     <map:transform src="{forrest:forrest.stylesheets}/rss2document.xsl"/>
     <map:serialize type="xml"/>
    </map:match>
-]]></strong><![CDATA[
+]]></strong>
+<![CDATA[
    <map:match pattern=".......">
     <!-- handle other project-specific matches -->
    </map:match>
   </map:pipeline>
  </map:pipelines>
 </map:sitemap>
-]]></source>
-            <p>You will probably want to copy the core Forrest 
-              <code>rss2document.xsl</code> to your project,
-              customise it to your needs, and refer to it with
-              <code>src="{properties:resources.stylesheets}/rss2document.xsl"</code>.
-              Then of course you would add an entry to site.xml to link
-              to weblog.html
-            </p>
-          </section>
-      </section>
-
-      <section id="skins">
-        <title>Forrest skins</title>
+]]>
+        </source>
         <p>
-          As Forrest separates content from presentation, we can plug in different
-          "skins" to instantly change a site's look and feel.  Forrest provides one
-          primary skin, <code>pelt</code>, and some others in various
-          states of development.
-          To change the skin, edit the <code>forrest.properties</code> file
-          to set <code>project.skin=leather-dev</code> or some other skin name.
-          If running in dynamic mode you need to restart Forrest in order to see
-          the new skin.
+          You will probably want to copy the core Forrest
+          <code>rss2document.xsl</code> to your project, customise it to your
+          needs, and refer to it with
+          <code>src="{properties:resources.stylesheets}/rss2document.xsl"</code>.
+          Then of course you would add an entry to site.xml to link to
+          weblog.html
         </p>
-        <note>
-          Forrest supplies a collection of 
-          <link href="site:v0.70//skins">default skins</link> which are configurable
-          and so should meet the needs of most projects. The aim is to provide
-          many capabilities so that extra skins are not needed.
-        </note>
-
-        <section id="skin-configuration">
-          <title>Configuration of skins</title>
-          <p>
+      </section>
+    </section>
+    <section id="skins">
+      <title>Forrest skins</title>
+      <p>
+        As Forrest separates content from presentation, we can plug in different
+        "skins" to instantly change a site's look and feel. Forrest provides one
+        primary skin, <code>pelt</code>, and some others in various states of
+        development. To change the skin, edit the
+        <code>forrest.properties</code> file to set
+        <code>project.skin=leather-dev</code> or some other skin name. If
+        running in dynamic mode you need to restart Forrest in order to see the
+        new skin.
+      </p>
+      <note>
+        Forrest supplies a collection of <link href="site:v0.70//skins">default
+        skins</link> which are configurable and so should meet the needs of most
+        projects. The aim is to provide many capabilities so that extra skins
+        are not needed.
+      </note>
+      <section id="skin-configuration">
+        <title>Configuration of skins</title>
+        <p>
           All configuration is done via your project
-          <code>src/documentation/skinconf.xml</code> file.
-          It contains many comments to describe each capability.
-          Please read those, there is no point repeating here.
-          </p>
-        </section>
-
-        <section id="new_skin">
-          <title>Defining a new skin</title>
-          <p>Consider discussing your needs on the mailing lists. There may
-          be planned enhancements to the core skins. Also consider contributing
+          <code>src/documentation/skinconf.xml</code> file. It contains many
+          comments to describe each capability. Please read those, there is no
+          point repeating here.
+        </p>
+      </section>
+      <section id="new_skin">
+        <title>Defining a new skin</title>
+        <p>
+          Consider discussing your needs on the mailing lists. There may be
+          planned enhancements to the core skins. Also consider contributing
           your extensions to the core skins, rather than write your own skin.
           Bear in mind that you could be creating an update and management
           issue. Anyway, ...
-          </p>
-          <p>
-            Projects can define their own skin in the
-            <code>src/documentation/skins</code> directory (or wherever
-            <code>${project.skins-dir}</code> points). The default sitemap assumes a
-            certain skin layout, so the easiest way to create a new skin is by
-            copying an existing Forrest skin.  For example, copy
-            <code>main/webapp/skins/pelt</code>
-            to your project area at
-            <code>src/documentation/skins/my-fancy-skin</code> and add
-            <code>project.skin=my-fancy-skin</code> to forrest.properties
-          </p>
-          <p>
-            The two most interesting XSLT stylesheets involved are:
-          </p>
-          <dl>
-            <dt><code>xslt/html/document2html.xsl</code></dt>
-            <dd>
+        </p>
+        <p>
+          Projects can define their own skin in the
+          <code>src/documentation/skins</code> directory (or wherever
+          <code>${project.skins-dir}</code> points). The default sitemap assumes
+          a certain skin layout, so the easiest way to create a new skin is by
+          copying an existing Forrest skin. For example, copy
+          <code>main/webapp/skins/pelt</code> to your project area at
+          <code>src/documentation/skins/my-fancy-skin</code> and add
+          <code>project.skin=my-fancy-skin</code> to forrest.properties
+        </p>
+        <p>
+          The two most interesting XSLT stylesheets involved are:
+        </p>
+        <dl>
+          <dt><code>xslt/html/document2html.xsl</code></dt>
+          <dd>
               This stylesheet is applied to individual Forrest xdocs XML files, and
               converts them to HTML suitable for embedding in a larger HTML page.
             </dd>
-            <dt><code>xslt/html/site2xhtml.xsl</code></dt>
-            <dd>
+          <dt><code>xslt/html/site2xhtml.xsl</code></dt>
+          <dd>
               This stylesheet generates the final HTML file from an intermediate
               'site' structure produced by the other stylesheets. It defines the general
               layout, and adds the header and footer.
             </dd>
-          </dl>
-          <p>
-            Typically there is a lot of commonality between skins.  XSLT
-            provides an 'import' mechanism whereby one XSLT can extend another.
-            Forrest XSLTs typically 'import' from a common base:
-          </p>
-          <source><![CDATA[
+        </dl>
+        <p>
+          Typically there is a lot of commonality between skins. XSLT provides
+          an 'import' mechanism whereby one XSLT can extend another. Forrest
+          XSLTs typically 'import' from a common base:
+        </p>
+        <source>
+<![CDATA[
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
   <xsl:import href="../../../common/xslt/html/document2html.xsl"/>
 
-  ]]><strong>... overrides of default templates ...</strong><![CDATA[ 
-</xsl:stylesheet>]]></source>
-
-          <p>In order to use this feature in your custom skins you must copy
-          the common skin from the forrest distribution into your custom skins 
-          directory (from <code>main/webapp/skins/common</code>).
-          This will protect your skin from changes in the Forrest common skin,
-          but you must remember to update this skin in order to take advantage
-          of new features added over time by the Forrest team.</p>
-          
-          <note>The above paragraph means that if you do copy an existing skin
-          as this section recomends you will also need to copy the common skin
-          since all existing skins import the common skin.</note>
-          
-          <p>This is particularly relevant for menu rendering (book2menu.xsl),
-            where the common stylesheet does the 'logic' of which item is
-            selected, and over-riding stylesheets define the presentation.</p>
-        </section>
+  ]]><strong>... overrides of default templates ...</strong>
+<![CDATA[ 
+</xsl:stylesheet>]]>
+        </source>
+        <p>
+          In order to use this feature in your custom skins you must copy the
+          common skin from the forrest distribution into your custom skins
+          directory (from <code>main/webapp/skins/common</code>). This will
+          protect your skin from changes in the Forrest common skin, but you
+          must remember to update this skin in order to take advantage of new
+          features added over time by the Forrest team.
+        </p>
+        <note>
+          The above paragraph means that if you do copy an existing skin as this
+          section recomends you will also need to copy the common skin since all
+          existing skins import the common skin.
+        </note>
+        <p>
+          This is particularly relevant for menu rendering (book2menu.xsl),
+          where the common stylesheet does the 'logic' of which item is
+          selected, and over-riding stylesheets define the presentation.
+        </p>
       </section>
-
+    </section>
     <section id="webapp">
       <title>Interactive Forrest: faster turnaround when developing your docs</title>
       <p>
-        In comparison to simpler tools (like 
-        <link href="ext:anakia">Anakia</link>) the Cocoon command-line mode
-        (and hence Forrest command-line mode) is slow.
-        As the <link href="site:v0.70//dreams">dream list</link> notes, Forrest was
-        originally intended to be used for
-        dynamic sites, and the Cocoon crawler used only to create static
-        snapshots for mirroring.  This section describes how, by using
-        a "live" Forrest webapp instance, the Forrest-based documentation
-        development can be faster and easier than with comparable tools.
+        In comparison to simpler tools (like
+        <link href="ext:anakia">Anakia</link>) the Cocoon command-line mode (and
+        hence Forrest command-line mode) is slow. As the
+        <link href="site:v0.70//dreams">dream list</link> notes, Forrest was
+        originally intended to be used for dynamic sites, and the Cocoon crawler
+        used only to create static snapshots for mirroring. This section
+        describes how, by using a "live" Forrest webapp instance, the
+        Forrest-based documentation development can be faster and easier than
+        with comparable tools.
       </p>
       <section id="forrest_run">
         <title>Running as a webapp</title>
         <p>
-          Type '<code>forrest run</code>' in your project root to start Forrest's
-          built-in Jetty web server.  Once it has started, point your browser at
-          <link href="http://localhost:8888/">http://localhost:8888/</link>, which
-          will show your website, rendered on demand as each link is followed.
+          Type '<code>forrest run</code>' in your project root to start
+          Forrest's built-in Jetty web server. Once it has started, point your
+          browser at
+          <link href="http://localhost:8888/">http://localhost:8888/</link>,
+          which will show your website, rendered on demand as each link is
+          followed.
         </p>
-        <p>(Alternatively, if you wish to run Forrest from within an existing
+        <p>
+          (Alternatively, if you wish to run Forrest from within an existing
           servlet container, type <code>forrest webapp</code> to build an open
           webapp in <code>build/webapp/</code>)
         </p>
@@ -1111,10 +1149,12 @@
       <p>
         Ant has an
         <link href="http://ant.apache.org/manual/CoreTasks/import.html">&lt;import&gt;</link>
-        task which can be used to invoke Forrest from Ant.  All targets and properties
-        are imported and can be used in your project build.  Here is a simple example:
+        task which can be used to invoke Forrest from Ant. All targets and
+        properties are imported and can be used in your project build. Here is a
+        simple example:
       </p>
-      <source><![CDATA[
+      <source>
+<![CDATA[
 <project name="myproject" default="hello">
      <!-- FORREST_HOME must be set as an environment variable -->
      <property environment="env"/>
@@ -1126,32 +1166,32 @@
        <echo>something here</echo>
      </target>
 </project>
-        ]]></source>
-        
-      <warning>There is a bug in the plugin download mechanism in
-      Forrest 0.7 that may prevent
-      your plugins being installed correctly when calling Forrest from ANT. You
-      can work around this bug by either ensuring a version number is 
-      defined for the plugin in forrest.properties or by manually 
-      installing the required plugins.
+        ]]>
+      </source>
+      <warning>
+        There is a bug in the plugin download mechanism in Forrest 0.7 that may
+        prevent your plugins being installed correctly when calling Forrest from
+        ANT. You can work around this bug by either ensuring a version number is
+        defined for the plugin in forrest.properties or by manually installing
+        the required plugins.
       </warning>
-        
-      <p>Because you are using your own version
-      of Ant to do Forrest's work, you will need to provide the
-      supporting catalog entity resolver:
-      '<code>cp forrest/lib/core/xml-commons-resolver-1.1.jar $ANT_HOME/lib</code>'
-      </p>
-
-      <p>Note: The technique described above requires Ant 1.6+ otherwise
-        the &lt;import&gt;
-        task will not be available for you to use. Forrest
-        bundles the latest version of Ant, so you can invoke your project
-        like this: '<code>forrest -f myproject.xml</code>'.
-        This will not run the '<code>forrest</code>' command. It will just
-        use Forrest's Ant and resolver to execute your buildfile.
+      <p>
+        Because you are using your own version of Ant to do Forrest's work, you
+        will need to provide the supporting catalog entity resolver: '<code>cp
+        forrest/lib/core/xml-commons-resolver-1.1.jar $ANT_HOME/lib</code>'
+      </p>
+      <p>
+        Note: The technique described above requires Ant 1.6+ otherwise the
+        &lt;import&gt; task will not be available for you to use. Forrest
+        bundles the latest version of Ant, so you can invoke your project like
+        this: '<code>forrest -f myproject.xml</code>'. This will not run the
+        '<code>forrest</code>' command. It will just use Forrest's Ant and
+        resolver to execute your buildfile.
       </p>
       <p>
-        Another option is to use the Forrest Antlet from the Krysalis Project's <link href="http://antworks.sourceforge.net/importer/">Antworks Importer</link>.
+        Another option is to use the Forrest Antlet from the Krysalis Project's
+        <link href="http://antworks.sourceforge.net/importer/">Antworks
+        Importer</link>.
       </p>
       <p>
         The <link href="site:forrestbot">Forrestbot</link> provides workstages

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/body-index.fv
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/body-index.fv?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/body-index.fv (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/body-index.fv Mon Apr  9 20:48:52 2007
@@ -17,7 +17,7 @@
 -->
 <forrest:views xmlns:forrest="http://apache.org/forrest/templates/1.0" 
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <!-- The following variables are used to contact data models and/or contracts. -->
+<!-- The following variables are used to contact data models and/or contracts. -->
   <jx:set var="getRequest" value="#{$cocoon/parameters/getRequest}"/>
   <forrest:view type="html" hooksXpath="/">
     <forrest:contract name="genericMarkup">
@@ -27,4 +27,4 @@
       </forrest:property>
     </forrest:contract>
   </forrest:view>
-</forrest:views>
\ No newline at end of file
+</forrest:views>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/build.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/build.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/build.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/build.xml Mon Apr  9 20:48:52 2007
@@ -25,9 +25,12 @@
       <title>Getting the Forrest source</title>
       <section>
         <title>Step-by-step Subversion (SVN) instructions</title>
-          <note>If you are behind a proxy, see 
-          <link href="http://subversion.tigris.org/project_faq.html#proxy">this FAQ</link>.</note>
-        <ol> 
+        <note>
+          If you are behind a proxy, see
+          <link href="http://subversion.tigris.org/project_faq.html#proxy">this
+          FAQ</link>.
+        </note>
+        <ol>
           <li>Make sure you have a recent release of a
            <link href="http://subversion.tigris.org/">Subversion</link>
            client installed and properly configured.</li>
@@ -37,32 +40,38 @@
           <li>At a command prompt, enter
            '<code>svn co http://svn.apache.org/repos/asf/forrest/trunk forrest</code>'
            (committers should replace <code>http</code> with <code>https</code>).</li>
-          <li>This will create a directory called "<code>forrest</code>" where the Forrest source will be stored.</li> 
-        </ol> 
-        <p>Whenever you want to update your Forrest source tree to the current
-         version, change to the top-level
-"<code>forrest</code>" directory and invoke '<code>svn update</code>'.</p> 
-        <p>To see what changes you've made, invoke '<code>svn status</code>'</p>
-        <p>SVN is really powerful. See
-          <link href="http://svnbook.red-bean.com/">Version Control with Subversion</link> - the opensource SVN book.
+          <li>This will create a directory called "<code>forrest</code>" where the Forrest source will be stored.</li>
+        </ol>
+        <p>
+          Whenever you want to update your Forrest source tree to the current
+          version, change to the top-level "<code>forrest</code>" directory and
+          invoke '<code>svn update</code>'.
         </p>
-      </section> 
+        <p>
+          To see what changes you've made, invoke '<code>svn status</code>'
+        </p>
+        <p>
+          SVN is really powerful. See
+          <link href="http://svnbook.red-bean.com/">Version Control with
+          Subversion</link> - the opensource SVN book.
+        </p>
+      </section>
     </section>
-
-   <section id="building">
-     <title>Building and installing Forrest</title>
-<note>
-This document applies to the current 0.7 release version.
-See other instructions for the current development
-<link href="http://forrest.apache.org/docs/dev/build.html">0.8-dev</link> version.
-</note>
-     <p>
-       To build Forrest, change directory to '<code>forrest/main</code>', and
-       then type '<code>build</code>' on Windows or '<code>./build.sh</code>' on
-       Unix. (Requires Java 1.4)
-       If everything is successful, you should see a message similar to:
-     </p>
-     <source>
+    <section id="building">
+      <title>Building and installing Forrest</title>
+      <note>
+        This document applies to the current 0.7 release version. See other
+        instructions for the current development
+        <link href="http://forrest.apache.org/docs/dev/build.html">0.8-dev</link>
+        version.
+      </note>
+      <p>
+        To build Forrest, change directory to '<code>forrest/main</code>', and
+        then type '<code>build</code>' on Windows or '<code>./build.sh</code>'
+        on Unix. (Requires Java 1.4) If everything is successful, you should see
+        a message similar to:
+      </p>
+      <source>
   *-----------------------------------------------------------------
   | Installation notice
   *-----------------------------------------------------------------
@@ -76,36 +85,35 @@
   | More help at http://forrest.apache.org/
   *-----------------------------------------------------------------
      </source>
-     <p>
-       As the message says, you need to add the distribution's <code>bin/</code>
-       ("binary") directory to your PATH variable, so the <code>'forrest'</code>
-       command is available everywhere:
-     </p>
-     <source>
+      <p>
+        As the message says, you need to add the distribution's
+        <code>bin/</code> ("binary") directory to your PATH variable, so the
+        <code>'forrest'</code> command is available everywhere:
+      </p>
+      <source>
 [~]$ cd /path/to/svn/forrest
 [/svn/forrest]$ export FORREST_HOME=`pwd`
 [/svn/forrest]$ export PATH=$PATH:$FORREST_HOME/bin
      </source>
-     <warning>
-       After updating the Forrest source from SVN, if there have been certain types of
-       updates (e.g. Java sources, supporting libraries, build system, etc.) you will
-       need to clean and build forrest again. Do 'cd forrest/main; build clean; build".
-     </warning>
+      <warning>
+        After updating the Forrest source from SVN, if there have been certain
+        types of updates (e.g. Java sources, supporting libraries, build system,
+        etc.) you will need to clean and build forrest again. Do 'cd
+        forrest/main; build clean; build".
+      </warning>
+    </section>
+    <section id="run">
+      <title>Run Forrest, run!</title>
+      <p>
+        Forrest is now ready to go. To view and edit the local copy of Forrest
+        core documentation, cd to site-author and do '<code>forrest run</code>'
+        to see the local webapp using the bundled Jetty server. Edit something
+        in content/xdocs/*.xml see the immediate effect.
+      </p>
+      <p>
+        The document <link href="site:your-project">Using Forrest</link> is your
+        next step.
+      </p>
     </section>
-
-  <section id="run">
-    <title>Run Forrest, run!</title>
-    <p>
-      Forrest is now ready to go. To view and edit the local copy of
-      Forrest core documentation, cd to site-author and do
-      '<code>forrest run</code>' to see
-      the local webapp using the bundled Jetty server. Edit something in
-      content/xdocs/*.xml see the immediate effect.
-    </p>
-    <p>
-      The document <link href="site:your-project">Using Forrest</link> is
-      your next step.</p>
-  </section>
-
-</body>
+  </body>
 </document>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/cap.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/cap.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/cap.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/cap.xml Mon Apr  9 20:48:52 2007
@@ -17,33 +17,41 @@
 -->
 <!-- vi: set et sw=2 ts=2 tw=75: -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
-<document> 
-  <header> 
-    <title>SourceTypeAction (content aware pipelines)</title> 
-  </header> 
-  <body> 
-    <section> 
-      <title>Introduction</title> 
-      <p>SourceTypeAction assigns a "type" (a string) to an XML file. This is
-        done based on information occuring in the header of the XML file, up to the
-        document (root) element. This type is then returned to the sitemap as a
-        variable with the name 'sourcetype'. If no matching sourcetype could be be
-        found, null is returned and thus the contents of the action element will not be
-        executed.</p> 
-      <p>SourceTypeAction works by pull-parsing the document and collecting
-        information such as the Public Id, the processing instructions, the document
-        element local name and namespace, and the xsi:schemaLocation and
-        xsi:noNamespaceSchemaLocation attributes. This information is then compared
-        with the rules described in the configuration of the SourceTypeAction.</p> 
-    </section> 
-    <section> 
-      <title>Configuration</title> 
-      <p>The action should be declared and configured in the map:actions
-        section of your sitemap. Example:</p> 
-      <source><![CDATA[<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+<document>
+  <header>
+    <title>SourceTypeAction (content aware pipelines)</title>
+  </header>
+  <body>
+    <section>
+      <title>Introduction</title>
+      <p>
+        SourceTypeAction assigns a "type" (a string) to an XML file. This is
+        done based on information occuring in the header of the XML file, up to
+        the document (root) element. This type is then returned to the sitemap
+        as a variable with the name 'sourcetype'. If no matching sourcetype
+        could be be found, null is returned and thus the contents of the action
+        element will not be executed.
+      </p>
+      <p>
+        SourceTypeAction works by pull-parsing the document and collecting
+        information such as the Public Id, the processing instructions, the
+        document element local name and namespace, and the xsi:schemaLocation
+        and xsi:noNamespaceSchemaLocation attributes. This information is then
+        compared with the rules described in the configuration of the
+        SourceTypeAction.
+      </p>
+    </section>
+    <section>
+      <title>Configuration</title>
+      <p>
+        The action should be declared and configured in the map:actions section
+        of your sitemap. Example:
+      </p>
+      <source>
+<![CDATA[<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:components>
-  <...>]]>
-  <strong><![CDATA[<map:actions>
+  <...>]]><strong>
+<![CDATA[<map:actions>
    <map:action name="sourcetype"
       src="org.apache.forrest.sourcetype.SourceTypeAction">
     <sourcetype name="download-v1.0">
@@ -51,50 +59,63 @@
         public-id="-//Acme//DTD Download Documentation V1.0//EN" />
     </sourcetype>      
    </map:action>
-  </map:actions>]]></strong><![CDATA[
+  </map:actions>]]></strong>
+<![CDATA[
  </map:components>
  <...>
-</map:sitemap>]]></source> 
-      <p>There are other examples in <code>main/webapp/forrest.xmap</code></p>
-      <p>Each sourcetype-tag declares a source type. Inside the sourcetype-tag
-        a number of rules can be defined, described below. The sourcetypes will be
-        checked in the same order as they are defined in the configuration, the first
-        sourcetype of which all rules match will be used.</p> 
-      <p>These are the available rules:</p> 
-      <dl> 
-        <dt>document-declaration</dt> 
+</map:sitemap>]]>
+      </source>
+      <p>
+        There are other examples in <code>main/webapp/forrest.xmap</code>
+      </p>
+      <p>
+        Each sourcetype-tag declares a source type. Inside the sourcetype-tag a
+        number of rules can be defined, described below. The sourcetypes will be
+        checked in the same order as they are defined in the configuration, the
+        first sourcetype of which all rules match will be used.
+      </p>
+      <p>
+        These are the available rules:
+      </p>
+      <dl>
+        <dt>document-declaration</dt>
         <dd>This rule checks the public ID. It takes one attribute
-          <code>public-id</code>.</dd> 
-        <dt>document-element</dt> 
+          <code>public-id</code>.</dd>
+        <dt>document-element</dt>
         <dd>This rule checks the local name and/or namespace of the document
           element. These are specified with the attributes <code>local-name</code> and
-          <code>namespace</code>. At least one of these two is required.</dd> 
-        <dt>processing-instruction</dt> 
+          <code>namespace</code>. At least one of these two is required.</dd>
+        <dt>processing-instruction</dt>
         <dd>This rule checks a processing instruction. It can take two
           attributes: <code>target</code> and <code>data</code>. The target attribute is
-          always required, the data attribute is optional.</dd> 
-        <dt>w3c-xml-schema</dt> 
+          always required, the data attribute is optional.</dd>
+        <dt>w3c-xml-schema</dt>
         <dd>This rule checks the value of the xsi:schemaLocation and
           xsi:noNamespaceSchemaLocation attributes on the document element. These are
           specified with the attributes <code>schema-location</code> and
-          <code>no-namespace-schema-location</code>.</dd> 
-      </dl> 
+          <code>no-namespace-schema-location</code>.</dd>
+      </dl>
       <p>
-       Perhaps you need other methods. Please enhance the source at
-       <code>main/java/org/apache/forrest/sourcetype</code>
+        Perhaps you need other methods. Please enhance the source at
+        <code>main/java/org/apache/forrest/sourcetype</code>
       </p>
-    </section> 
-    <section> 
-      <title>Usage</title> 
-      <p>The source of which the sourcetype must be defined must be specified
-        using the 'src' attribute on the map:act element.</p> 
-      <source><![CDATA[<map:act type="sourcetype" src="{1}">
+    </section>
+    <section>
+      <title>Usage</title>
+      <p>
+        The source of which the sourcetype must be defined must be specified
+        using the 'src' attribute on the map:act element.
+      </p>
+      <source>
+<![CDATA[<map:act type="sourcetype" src="{1}">
 ...
-</map:act>]]></source>
-      <p>See a real-life example in the advanced section of the
-        <link href="your-project.html#adding_new_content_type_2">Using Forrest</link>
-        document.
-      </p>
-    </section> 
-  </body> 
-</document> 
+</map:act>]]>
+      </source>
+      <p>
+        See a real-life example in the advanced section of the
+        <link href="your-project.html#adding_new_content_type_2">Using
+        Forrest</link> document.
+      </p>
+    </section>
+  </body>
+</document>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/catalog.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/catalog.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/catalog.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/catalog.xml Mon Apr  9 20:48:52 2007
@@ -25,31 +25,29 @@
       <title>Overview</title>
       <p>
         This is a collection of notes for configuring the Catalog Entity
-        Resolver with your favourite XML tools (validating parsers and
-        editors).
+        Resolver with your favourite XML tools (validating parsers and editors).
       </p>
       <p>
         All XML documents declare their ruleset - the Document Type Definition
         (DTD). When Forrest processes the documents, it uses the Resolver to
-        find Forrest's local copies of the DTDs, rather than trundling out
-        onto the network.
+        find Forrest's local copies of the DTDs, rather than trundling out onto
+        the network.
       </p>
       <p>
-        Many Java-based XML tools already have an entity resolver, probably
-        the same one that Forrest uses. Many non-Java tools also have an
-        entity resolver. To use these tools with documents based on the
-        Forrest DTDs, you need to configure the tools.
+        Many Java-based XML tools already have an entity resolver, probably the
+        same one that Forrest uses. Many non-Java tools also have an entity
+        resolver. To use these tools with documents based on the Forrest DTDs,
+        you need to configure the tools.
       </p>
       <note>
-        The information provided here is not intended to endorse any
-        particular tool.
+        The information provided here is not intended to endorse any particular
+        tool.
       </note>
       <p>
         If you have any other configuration tips for a particular tool, then
         please send them to the forrest-dev mailing list.
       </p>
     </section>
-
     <section id="config">
       <title>General configuration notes</title>
       <p>
@@ -61,50 +59,50 @@
         supplied by Forrest at either:
         <code>$FORREST_HOME/main/webapp/resources/schema/catalog.xcat</code>
         (for XML Catalog) or
-        <code>$FORREST_HOME/main/webapp/resources/schema/catalog</code>
-        (for TR 9401 Catalog).
+        <code>$FORREST_HOME/main/webapp/resources/schema/catalog</code> (for TR
+        9401 Catalog).
       </p>
     </section>
-
     <section id="tools">
       <title>Configuring specific tools</title>
-
       <section id="system">
         <title>Operating system catalog</title>
         <p>
-          Some operating systems already provide a system-wide catalog that
-          is used by many tools. This is usually located at
+          Some operating systems already provide a system-wide catalog that is
+          used by many tools. This is usually located at
           <code>/etc/xml/catalog</code> or at
           <code>/usr/share/sgml/catalog</code> files.
         </p>
         <p>
           For an XML Catalog, add this line:
         </p>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 <nextCatalog
 catalog="/usr/local/svn/forrest/main/webapp/resources/schema/catalog.xcat"/>
-        ]]></source>
+        ]]>
+        </source>
         <p>
           For a TR 9401 Catalog, add this line:
         </p>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 CATALOG \
 "/usr/local/svn/forrest/main/webapp/resources/schema/catalog"
-        ]]></source>
+        ]]>
+        </source>
         <p>
-          Actually you probably do not want to touch that system catalog,
-          so rather create your own catalog file in your home directory
-          which refers to both the Forrest catalog and your system catalog.
+          Actually you probably do not want to touch that system catalog, so
+          rather create your own catalog file in your home directory which
+          refers to both the Forrest catalog and your system catalog.
         </p>
       </section>
-
       <section id="xmllint">
         <title>xmllint validating parser</title>
         <p>
-          "xmllint" is part of the "libxml2" package.
-          It is very fast and powerful, with are many facilities. It can
-          validate whole directories of files at once.
-          Set the SGML_CATALOG_FILES environment variable.
+          "xmllint" is part of the "libxml2" package. It is very fast and
+          powerful, with are many facilities. It can validate whole directories
+          of files at once. Set the SGML_CATALOG_FILES environment variable.
         </p>
         <source>
 export SGML_CATALOG_FILES=$SGML_CATALOG_FILES:\
@@ -112,38 +110,35 @@
 xmllint --valid --catalogs --noout mydoc.xml
         </source>
       </section>
-
       <section id="vim">
         <title>Vim</title>
-          <p>
-            The following .vimrc entries are useful:
-          </p>
+        <p>
+          The following .vimrc entries are useful:
+        </p>
         <source>
 au FileType xml set efm=%A%f:%l:\ %.%#error:\ %m,%-Z%p^,%-C%.%#
 au FileType xml set makeprg=xmllint\ --noout\ --valid\ --catalogs\ %
         </source>
         <p>
-        See other notes about using
-        <link href="http://www.pinkjuice.com/howto/vimxml/">Vim as XML editor</link>.
+          See other notes about using
+          <link href="http://www.pinkjuice.com/howto/vimxml/">Vim as XML
+          editor</link>.
         </p>
       </section>
-
       <section id="emacs">
         <title>Emacs</title>
-        <p>See 
-        <link href="http://www.thaiopensource.com/nxml-mode/">nXML mode</link>
-        and 
-        <link href="http://www.dpawson.co.uk/relaxng/nxml/">FAQ</link>.
+        <p>
+          See <link href="http://www.thaiopensource.com/nxml-mode/">nXML
+          mode</link> and
+          <link href="http://www.dpawson.co.uk/relaxng/nxml/">FAQ</link>.
         </p>
       </section>
-
       <section id="onsgmls">
         <title>onsgmls validating parser</title>
         <p>
-          "onsgmls" is part of the "Open SP" package.
-          You need to also tell it where to find an "SGML declaration".
-          The easiest way is to create your own little "my-catalog" file,
-          containing this:
+          "onsgmls" is part of the "Open SP" package. You need to also tell it
+          where to find an "SGML declaration". The easiest way is to create your
+          own little "my-catalog" file, containing this:
         </p>
         <source>
 SGMLDECL "/usr/share/sgml/xml.dcl"
@@ -157,91 +152,96 @@
 onsgmls -c path/to/my-catalog -wall -wxml -s mydoc.xml
         </source>
       </section>
-
       <section id="jedit">
         <title>jEdit - Open Source programmer's text editor</title>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 Select the menu:
 Utilities > Global Options > Plugins:XML > Catalogs
 Select the "+" button, and use the "File System Browser"
 to specify the TR9401 Catalog file:
 "forrest/main/webapp/resources/schema/catalog"
-        ]]></source>
-	<source><![CDATA[
+        ]]>
+        </source>
+        <source>
+<![CDATA[
 On version 4.2. Select the menu:
 Plugins > Plugins Options > Plugins:XML > Catalogs
 Select the "+" button, and use the "File System Browser"
 to specify the TR9401 Catalog file:
 "forrest/main/webapp/resources/schema/catalog"
-        ]]></source>
+        ]]>
+        </source>
       </section>
-
       <section id="oxygenxml">
         <title>oXygen XML Editor</title>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 Select the menu:
 Options > Preferences > XML Catalog
 Specify the XML Catalog file:
 "forrest/main/webapp/resources/schema/catalog.xcat"
-        ]]></source>
+        ]]>
+        </source>
       </section>
-
       <section id="xmlspy">
         <title>xmlspy</title>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 Add the following entry to the file CustomCatalog.xml
 (located in XMLSpy install directory):
 
 <nextCatalog
 catalog="file://localhost/C:/apache/forrest/main/webapp/
 resources/schema/catalog.xcat"/>
-        ]]></source>
+        ]]>
+        </source>
       </section>
-
       <section id="xxe">
         <title>XMLmind XML Editor (XXE)</title>
         <section>
           <title>XXE v2.5p2 or older</title>
-          <source><![CDATA[
+          <source>
+<![CDATA[
 Select the menu:
 Options > Options > Schema > Add File
 Specify the XML Catalog file:
 "forrest/main/webapp/resources/schema/catalog.xcat"
-        ]]></source>
+        ]]>
+          </source>
         </section>
-          <section>
+        <section>
           <title>XXE v2.5p3+</title>
-            <p>XXE supports catalogs by automatic detection via configuration files.  
-            Download the <fork href="http://www.splike.com/howtos/xxe_forrest.html">XXE 
-            Forrest Config</fork> files from splike.com; this also add support for WYSIWYG 
-            editing of forrest documents.
-            Note: This configuration suite has recently been added to the
-            Forrest scratchpad.
-            </p>
+          <p>
+            XXE supports catalogs by automatic detection via configuration
+            files. Download the
+            <fork href="http://www.splike.com/howtos/xxe_forrest.html">XXE
+            Forrest Config</fork> files from splike.com; this also add support
+            for WYSIWYG editing of forrest documents. Note: This configuration
+            suite has recently been added to the Forrest scratchpad.
+          </p>
         </section>
       </section>
     </section>
-
     <section id="info">
       <title>Further information and resources</title>
       <p>
         Forrest and Cocoon use the
         <link href="http://xml.apache.org/commons/components/resolver/">Catalog
-        Entity Resolver</link>
-        that is provided by the
+        Entity Resolver</link> that is provided by the
         <link href="http://xml.apache.org/commons/">Apache XML Commons</link>
         project. The resolver is packaged with the Forrest distribution at
         <code>lib/core/xml-commons-resolver-x.y.jar</code>
       </p>
       <p>
-        Other Forrest documentation has some notes about configuring the
-        entity resolver for your own DTDs. See
-        <link href="site:validation">XML Validation</link>.
+        Other Forrest documentation has some notes about configuring the entity
+        resolver for your own DTDs. See <link href="site:validation">XML
+        Validation</link>.
       </p>
       <p>
         Cocoon has extensive documentation about the entity resolver. See
         <link href="ext:cocoon/catalogs">Entity resolution with catalogs</link>.
       </p>
     </section>
-</body>
+  </body>
 </document>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/dreams.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/dreams.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/dreams.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/dreams.xml Mon Apr  9 20:48:52 2007
@@ -16,116 +16,105 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
-
 <document>
- <header>
-  <title>Forrest dream list</title>
-  <subtitle>Overview</subtitle>
- </header>
-
- <body>
- <section>
-  <title>Introduction</title>
-
-  <p>This is the initial attempt to give focus to the Forrest project. 
-   This summary is a loose collection of items from the forrest-dev
-   mailing list. Please add and re-arrange so that it can evolve into a
-   focus document. The <link href="site:primer">Forrest Primer</link>
-   provides an overview.
-  </p>
-
-  <p>These are the email threads and documents that are currently being
-   summarised. Please see those documents for further detail.
-  </p>
-
-  <ul>
-   <li>
+  <header>
+    <title>Forrest dream list</title>
+    <subtitle>Overview</subtitle>
+  </header>
+  <body>
+    <section>
+      <title>Introduction</title>
+      <p>
+        This is the initial attempt to give focus to the Forrest project. This
+        summary is a loose collection of items from the forrest-dev mailing
+        list. Please add and re-arrange so that it can evolve into a focus
+        document. The <link href="site:primer">Forrest Primer</link> provides an
+        overview.
+      </p>
+      <p>
+        These are the email threads and documents that are currently being
+        summarised. Please see those documents for further detail.
+      </p>
+      <ul>
+        <li>
     [RT] my Forrest dream-list
     Date: Wed, 20 Feb 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101431895118349">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101431895118349</link>
     [done]
    </li>
-   <li>
+        <li>
     README 
     [FIXME: not yet started summarising]
    </li>
-   <li>
+        <li>
     [phases] Forrest
     Date: Fri, 22 Feb 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101445744931104">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101445744931104</link>
     [FIXME: not yet started summarising]
    </li>
-   <li>
+        <li>
     adding to the dream list
     Date: Fri, 15 Mar 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263</link>
     [FIXME: not yet started summarising]
    </li>
-   <li>
+        <li>
     analysis paralysis :-)
     Date: Mon, 25 Feb 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101465344708301">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101465344708301</link>
     [FIXME: not yet started summarising]
    </li>
-   <li>
+        <li>
     documentation architecture?
     Date: Thu, 25 Apr 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101973705501466">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101973705501466</link>
     [FIXME: not yet started summarising]
    </li>
-   <li>
+        <li>
     Topic Maps for Forrest ?
     Date: Mon, 18 Mar 2002
     <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101647290524645">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101647290524645</link>
     [FIXME: not yet started summarising]
    </li>
-  </ul>
- </section>
-
- <section>
- <title>Draft dream list</title>
-
- <ul>
-  <li>
+      </ul>
+    </section>
+    <section>
+      <title>Draft dream list</title>
+      <ul>
+        <li>
    Forrest provides a robust technological infrastructure for open software development for the Apache Software Foundation based on ASF software, ASF practices and experience, and modern software design principles.
   </li>
- <li>
+        <li>
   a publishing system for documentation
  </li>
- <li>
+        <li>
   analysis of logs and publishing of results
  </li>
-
- <li>
+        <li>
 Ok, first of all: "it hurts my spirit" (I should TM this) to see the
 apache web sites with such a *poor* information infrastructure. Just
 look at sourceforge: it's not the best site of the world, but gives you
 lots of tools and information that we currently don't have (or have
 hidden someplace).
  </li>
-
- <li>
+        <li>
 I want Forrest to be the development infrastructure of your dreams,
 something that you'll be proud of showing your boss and say "if only we
 had this in place, we would save big bucks" so...
  </li>
-
- <li>
+        <li>
   Dream #1: Forrest should make Sourceforge look obsolete.
  </li>
-
- <li>
+        <li>
 So, in order for this to happen, it must be dynamic.
 Assumption #1: Forrest is a dynamic site.
 The staticity of apache web sites was mostly due to the quest for heavy
 mirroring, Forrest should allow mirroring, so
  </li>
-
- <li>
+        <li>
   Dream #2: Forrest should reduce xml.apache.org bandwidth use dramatically
  </li>
-
- <li>
+        <li>
   Dream #3: Forrest should automate mirroring in a simple and easy way.
 
 My idea is to use the 'command line' features of Cocoon to generate
@@ -133,117 +122,93 @@
 rsync or other mean. Anyway, the goal is to make sure mirroring is as
 easy as possible. No, easier than that.
  </li>
-
- <li>
+        <li>
   coherence: all the site should look coherent, same graphics, same
 look-and-feel, same information in the same locations, coherent and nice URI
 space (build to last! so that broken links are reduced!)
  </li>
-
- <li>
+        <li>
   structure: the site should look professional, the structure should be
 flexible enough to fit every need but solid enough to guide users
 browsing and developers adding resources
  </li>
-
- <li>
+        <li>
   scalability
  </li>
-
- <li>
+        <li>
   functionality: everything you ever wanted to have in your project web site
  </li>
-
- <li>
+        <li>
  logs and community rating: I want to have numbers to judge the value
 of a community/effort
  </li>
-
- <li>
+        <li>
 Downloads, number of committers, numbers of people subscribed on the users/dev
 list, numbers of mail messages / week on these lists, CVS activity...
 These are the kind of parameters I use to "judge" an Apache project that I
 have not been looking into before.
  </li>
-
- <li>
+        <li>
   Graphs of various statistics.
  </li>
-
- <li>
+        <li>
 Having good site metrics will be a valuable aid to those involved in
 maintenance and future re-design phases.
 See some discussion in
-<link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=102238816218885">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=102238816218885</link>
- </li>
-
- <li>
+<link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=102238816218885">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=102238816218885</link></li>
+        <li>
  Built-in search engine: users much have a simple way to find things.
  Lucene.
  </li>
-
- <li>
+        <li>
  User-writable pages: people should have a way to add things to the pages.
  See the thread for more detail on this.
 FIXME: get MARC ref
  </li>
-
- <li>
+        <li>
  short bios for the project committers, with pictures: gives a better
 sense of community. Having a weblog there would be great.
  </li>
-
- <li>
+        <li>
  news, announcements, events and project calendaring: the news and
 the announcements will generate a RSS feed, events will be aggregated
 into a project-wide calendar, or an effort-specific calendar, the events
 will also be overwritten on the logs, to indicate how logs were
 influenced by the events (say, a release or a new committer added)
  </li>
-
- <li>
+        <li>
  book-like PDF versions of documentation: easy to print out docs.
  </li>
-
- <li>
+        <li>
   integration with GUMP: dependencies, runs, committer that broke the run
  </li>
-
- <li>
+        <li>
  javadocs seemlessly integrated with the documentation and with the
 search engine.
- <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263</link>
- </li>
- 
- <li>
+ <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263">http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=101620970016263</link></li>
+        <li>
  mail archive seemlessly integrated with the search engine (one should
 look for something and get results from either docs, javadocs or emails
 messages)
  </li>
-
- <li>
+        <li>
   coherent-looking CVS view
  </li>
-
- <li>
+        <li>
   document translation using Google translation services
  </li>
-
- <li>
+        <li>
  Integrated project management, task management, bug tracking, feature requests, process management. 
 The idea is to integrate Scarab for bug tracking/patches and
 managing/feature requests.
 (As far as team management, this is a serious political issue and I do not
 want to tackle that one yet, not even on the dreamlist.)
  </li>
-
- <li>
+        <li>
   overview doco for all projects ... CVS Usage precis, overview of opensource
   and links to relevant doco
  </li>
-
-</ul>
- </section>
-
- </body>
+      </ul>
+    </section>
+  </body>
 </document>