forrest-site-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r527020 [9/20] - in /forrest/site: ./ docs_0_80/ docs_0_80/howto/ docs_0_80/howto/cvs-ssh/ docs_0_80/howto/multi/ dtdx/ plan/ pluginDocs/plugins_0_70/ pluginDocs/plugins_0_80/ procedures/ procedures/release/ skins/ tools/
Date Tue, 10 Apr 2007 04:44:05 GMT
Modified: forrest/site/docs_0_80/locationmap.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/locationmap.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/locationmap.html (original)
+++ forrest/site/docs_0_80/locationmap.html Mon Apr  9 21:44:00 2007
@@ -355,13 +355,17 @@
 </ul>
 </li>
 </ul>
-</div> 
+</div>
     
 <a name="N1000D"></a><a name="overview"></a>
 <h2 class="underlined_10">About Locationmaps</h2>
 <div class="section">
-<p>A locationmap defines a mapping from requests to location strings.</p>
-<p>It was conceived to:</p>
+<p>
+        A locationmap defines a mapping from requests to location strings.
+      </p>
+<p>
+        It was conceived to:
+      </p>
 <ul>
         
 <li>Provide a more powerful means for semantic linking.</li>
@@ -373,203 +377,279 @@
         does not impact on the sitemap.</li>
       
 </ul>
-<p>In other words, the locationmap enables content to be retrieved from a location
-        that is defined in a locationmap file (located at 
-        <span class="codefrag">PROJECT_HOME/src/documentation/content/locationmap.xml</span> file. The
-        advantage of this is that the URL seen by the user need bear no relation to the location
-        of the source document, thus Forrest can separate the client URL space from the source
-        document URL space. Thus, using the locationmap it is possible to pull together
-        documents from many different locations into a single uniform site.</p>
-<p>In addition, since the user URL space is now not connected to the source URL space
-        it is possible to move source documents without breaking any existing user links.</p>
-<p>The syntax of a locationmap resembles that of the sitemap, in that it also makes use
-      of Matchers and Selectors to traverse a tree of nodes towards a leaf. In the case of
-      the locationmap however the leaf does not identify a pipeline, but instead identifies
-      a location string.</p>
-<p>Apache Forrest looks in the standard location for the source file first (by default
-      <span class="codefrag">PROJECT_HOME/src/documentation/content/...</span>), if a file is found in this
-      location then the locationmap is not consulted. However, if one is not found then the 
-      locationmap is used to resolve the source file. The locationmap is resolved via the
-      core sitemap, this means that you can generate it dynamically if you so wish. Simply
-      add a match that looks something like this to your projects sitemap:</p>
+<p>
+        In other words, the locationmap enables content to be retrieved from a
+        location that is defined in a locationmap file (located at
+        <span class="codefrag">PROJECT_HOME/src/documentation/content/locationmap.xml</span>
+        file. The advantage of this is that the URL seen by the user need bear
+        no relation to the location of the source document, thus Forrest can
+        separate the client URL space from the source document URL space. Thus,
+        using the locationmap it is possible to pull together documents from
+        many different locations into a single uniform site.
+      </p>
+<p>
+        In addition, since the user URL space is now not connected to the source
+        URL space it is possible to move source documents without breaking any
+        existing user links.
+      </p>
+<p>
+        The syntax of a locationmap resembles that of the sitemap, in that it
+        also makes use of Matchers and Selectors to traverse a tree of nodes
+        towards a leaf. In the case of the locationmap however the leaf does not
+        identify a pipeline, but instead identifies a location string.
+      </p>
+<p>
+        Apache Forrest looks in the standard location for the source file first
+        (by default <span class="codefrag">PROJECT_HOME/src/documentation/content/...</span>), if
+        a file is found in this location then the locationmap is not consulted.
+        However, if one is not found then the locationmap is used to resolve the
+        source file. The locationmap is resolved via the core sitemap, this
+        means that you can generate it dynamically if you so wish. Simply add a
+        match that looks something like this to your projects sitemap:
+      </p>
 <pre class="code">
+
    &lt;map:match pattern="locationmap-project.xml"&gt;
      &lt;map:generate src="..."/&gt;
      &lt;map:transform src="..."/&gt;
      &lt;map:serialize type="xml"/&gt;
    &lt;/map:match&gt;
+      
       </pre>
 </div>
     
-    
 <a name="N1003C"></a><a name="namingConvention"></a>
 <h2 class="underlined_10">Naming Convention</h2>
 <div class="section">
-<p>For those that are familiar with name
-      resolution servers or the Handles Service, it might be easier to think of the
-      locationmap as a name resolution module or sort of a handle resolution module
-      that it accepts "names" or whatever you desire to call these "hints" and
-      returns the location.</p>
-<p>The thought is that by using hints that look a little like a
-      file name it disguises what locationmaps are really doing for us.
-      By using URN-style names, we are truly
-      disassociating the name/hint from the physical location.</p>
-<p>For example, here is a locationmap entry based purely on filename:</p>
+<p>
+        For those that are familiar with name resolution servers or the Handles
+        Service, it might be easier to think of the locationmap as a name
+        resolution module or sort of a handle resolution module that it accepts
+        "names" or whatever you desire to call these "hints" and returns the
+        location.
+      </p>
+<p>
+        The thought is that by using hints that look a little like a file name
+        it disguises what locationmaps are really doing for us. By using
+        URN-style names, we are truly disassociating the name/hint from the
+        physical location.
+      </p>
+<p>
+        For example, here is a locationmap entry based purely on filename:
+      </p>
 <pre class="code">
+
 &lt;map:transform src="{lm:html-to-document.xsl}"/&gt;
+      
       </pre>
-<p>and here is that same entry using a "name" style.  One implies 
-      a certain physical location, whereas the one below is truly a name that 
-      needs to be resolved to a physical location.</p>
+<p>
+        and here is that same entry using a "name" style. One implies a certain
+        physical location, whereas the one below is truly a name that needs to
+        be resolved to a physical location.
+      </p>
 <pre class="code">
+
 &lt;map:transform src="{lm:transform.html.document}"/&gt;
+      
       </pre>
-<p>Locationmaps are also used by plugins, and your project can also have its own locationmap.
+<p>
+        Locationmaps are also used by plugins, and your project can also have
+        its own locationmap.
+      </p>
+<p>
+        Where the resource is provided by a plugin rather than Forrest itself,
+        this is prefixed with the last part of the plugin name. For example:
       </p>
-<p>Where the resource is provided by a plugin rather than Forrest itself,
-      this is prefixed with the last part of the plugin name. For example:</p>
 <pre class="code">
+
 &lt;map:transform src="{lm:projectInfo.transform.changes.document}"/&gt;
+      
       </pre>
-<p>The above match means look in the projectInfo plugin for a transformer stylesheet with filename changes-to-document.xsl
+<p>
+        The above match means look in the projectInfo plugin for a transformer
+        stylesheet with filename changes-to-document.xsl
+      </p>
+<p>
+        The naming convention is essentially one of:
       </p>
-<p>The naming convention is essentially one of:</p>
 <pre class="code">
 [PLUGIN_NAME.]resource-type(dot)from-format(dot)to-format
       </pre>
-<p>or</p>
+<p>
+        or
+      </p>
 <pre class="code">
 [PLUGIN_NAME.]resource-type(dot)type(dot)name
       </pre>
-<p>Examples of these:</p>
+<p>
+        Examples of these:
+      </p>
 <pre class="code">
 transform.xthml2.html
 graphic.png.project-logo
 projectInfo.transform.changes.rss
       </pre>
 </div>
-  
-  
+    
 <a name="N10079"></a><a name="process"></a>
 <h2 class="underlined_10">Explanation of Locationmap processing</h2>
 <div class="section">
-<p>Some specific examples will explain. Please follow the relevant source files.</p>
-<p>The document <a href="../docs_0_80/howto/../sitemap-explain.html">Cocoon sitemaps explained</a>
-      (better understand that document before trying to understand locationmaps)
-      has two specific transformers which use locationmap references.
-      The first one is:
-      <span class="codefrag">&lt;map:transform src="{lm:transform.linkmap.document}"/&gt;</span>
-    
+<p>
+        Some specific examples will explain. Please follow the relevant source
+        files.
+      </p>
+<p>
+        The document <a href="../docs_0_80/howto/../sitemap-explain.html">Cocoon sitemaps
+        explained</a> (better understand that document before trying to
+        understand locationmaps) has two specific transformers which use
+        locationmap references. The first one is: <span class="codefrag">
+&lt;map:transform src="{lm:transform.linkmap.document}"/&gt;
+        </span>
+      
 </p>
 <p>
-      The Locationmap component first consults the primary locationmap
-      <span class="codefrag">$FORREST_HOME/main/webapp/locationmap.xml</span> file. This first mounts
-      any project locationmap if available, then the locationmaps from plugins,
-      then the rest of the core locationmaps in the <span class="codefrag">$FORREST_HOME/main/webapp/</span> directory.
-      As with sitemaps, the first match wins. So matches in your project locationmap
-      have precedence, then plugins, then core.
-    </p>
-<p>So let us get back to our specifc example, 
-      "<span class="codefrag">lm:transform.linkmap.document</span>". The "lm:" part means use the locationmap
-      protocol. There is no specific match for this in your project locationmap, nor in
-      any of the plugin locationmaps, so this falls through to the core locationmaps.
-      However, you will not find any specific match for this in the core locationmaps,
-      so what is happening?
-    </p>
-<p>See the last match in 
-      <span class="codefrag">$FORREST_HOME/main/webapp/locationmap-transforms.xml</span> file.
-      This a catchall matcher for any reference starting with "<span class="codefrag">transform.</span>"
-    </p>
+        The Locationmap component first consults the primary locationmap
+        <span class="codefrag">$FORREST_HOME/main/webapp/locationmap.xml</span> file. This first
+        mounts any project locationmap if available, then the locationmaps from
+        plugins, then the rest of the core locationmaps in the
+        <span class="codefrag">$FORREST_HOME/main/webapp/</span> directory. As with sitemaps, the
+        first match wins. So matches in your project locationmap have
+        precedence, then plugins, then core.
+      </p>
+<p>
+        So let us get back to our specifc example,
+        "<span class="codefrag">lm:transform.linkmap.document</span>". The "lm:" part means use
+        the locationmap protocol. There is no specific match for this in your
+        project locationmap, nor in any of the plugin locationmaps, so this
+        falls through to the core locationmaps. However, you will not find any
+        specific match for this in the core locationmaps, so what is happening?
+      </p>
+<p>
+        See the last match in
+        <span class="codefrag">$FORREST_HOME/main/webapp/locationmap-transforms.xml</span> file.
+        This a catchall matcher for any reference starting with
+        "<span class="codefrag">transform.</span>"
+      </p>
 <pre class="code">
+
     &lt;match pattern="transform.*.*"&gt;
       &lt;select&gt;
         ...
         ...
         &lt;location src="{forrest:forrest.stylesheets}/{1}-to-{2}.xsl"/&gt;
       &lt;/select&gt;
-    &lt;/match&gt;</pre>
-<p>As you know from your understanding of Cocoon sitemaps, the first asterisk
-      yields "linkmap" and the second asterisk yields "document". So, ignoring the other
-      possible locations in this group which look in the various skins stylesheet
-      directories (see locationmap-transforms.xml source), it will finally resolve to
-      that last possible location to look for a stylesheet called
-      <span class="codefrag">linkmap-to-document.xsl</span> in the core stylesheets directory
-      <span class="codefrag">$FORREST_HOME/main/webapp/resources/stylesheets/</span>
-    
+    &lt;/match&gt;
+      </pre>
+<p>
+        As you know from your understanding of Cocoon sitemaps, the first
+        asterisk yields "linkmap" and the second asterisk yields "document". So,
+        ignoring the other possible locations in this group which look in the
+        various skins stylesheet directories (see locationmap-transforms.xml
+        source), it will finally resolve to that last possible location to look
+        for a stylesheet called <span class="codefrag">linkmap-to-document.xsl</span> in the core
+        stylesheets directory
+        <span class="codefrag">$FORREST_HOME/main/webapp/resources/stylesheets/</span>
+      
 </p>
-<p>That explains the magic of the locationmap naming convention.</p>
+<p>
+        That explains the magic of the locationmap naming convention.
+      </p>
 </div>
-  
-  
+    
 <a name="N100B5"></a><a name="selector"></a>
 <h2 class="underlined_10">Multiple Location Selectors</h2>
 <div class="section">
-<p>You can define multiple possble locations for a file in the locationmap
-    with the following code:</p>
+<p>
+        You can define multiple possble locations for a file in the locationmap
+        with the following code:
+      </p>
 <pre class="code">
+
 &lt;match pattern="tabs.xml"&gt;
   &lt;select type="exists"&gt;      
     &lt;location src="{properties:content.xdocs}tabs1.xml"/&gt;
     &lt;location src="{properties:content.xdocs}tabs2.xml"/&gt;
   &lt;/select&gt;   
 &lt;/match&gt;
-    </pre>
-<p>Each location will be tested in turn, if the file exists then it will be returned
-    as a match, otherwise testing will continue.</p>
-</div>
     
+      </pre>
+<p>
+        Each location will be tested in turn, if the file exists then it will be
+        returned as a match, otherwise testing will continue.
+      </p>
+</div>
     
 <a name="N100C6"></a><a name="examples"></a>
 <h2 class="underlined_10">Other Locationmap examples</h2>
 <div class="section">
 <a name="N100CC"></a><a name="source-via-http"></a>
 <h3 class="underlined_5">Retrieving an XDoc via HTTP</h3>
-<p>Normally files are generated from <span class="codefrag">{properties:content.xdocs}</span>.
-        Using the Locationmap it is possible to make these files come from elsewhere.
-        This is useful if you want to pull files from different directory structures,
-        or even remote repositories. For example, the following location match 
-        will match any request for a document below "remote." and will retrieve
-        the source file from the Apache Forrest SVN repository (directly from the
-        ASF's SVN webserver). This
-        is an ideal way to ensure that your published docs are always up-to-date.</p>
+<p>
+          Normally files are generated from
+          <span class="codefrag">{properties:content.xdocs}</span>. Using the Locationmap it is
+          possible to make these files come from elsewhere. This is useful if
+          you want to pull files from different directory structures, or even
+          remote repositories. For example, the following location match will
+          match any request for a document below "remote." and will retrieve the
+          source file from the Apache Forrest SVN repository (directly from the
+          ASF's SVN webserver). This is an ideal way to ensure that your
+          published docs are always up-to-date.
+        </p>
 <pre class="code">
  &lt;match pattern="project.remote.**.xml"&gt;
    &lt;location src="http://svn.apache.org/repos/asf/forrest/trunk/site-author/content/xdocs/{1}.xml" /&gt;
  &lt;/match&gt;
         </pre>
-<p>Note that because this is a wildcard matcher you can request any page
-        from the svn server simply by requesting 
-        <span class="codefrag">/remote.PATH/TO/FILE/FILENAME.html</span>. In addition, we
-        can request any other output format available via Forrest plugins.</p>
-<p>When including resources from remote repositories one has to
-        be careful about things like <span class="codefrag">site</span> and <span class="codefrag">ext</span>
-        linking. If the targets are not defined in the local 
-        <span class="codefrag">site.xml</span> file then these links will be broken.</p>
+<p>
+          Note that because this is a wildcard matcher you can request any page
+          from the svn server simply by requesting
+          <span class="codefrag">/remote.PATH/TO/FILE/FILENAME.html</span>. In addition, we can
+          request any other output format available via Forrest plugins.
+        </p>
+<p>
+          When including resources from remote repositories one has to be
+          careful about things like <span class="codefrag">site</span> and <span class="codefrag">ext</span>
+          linking. If the targets are not defined in the local
+          <span class="codefrag">site.xml</span> file then these links will be broken.
+        </p>
 <div class="warning">
 <div class="label">Warning</div>
-<div class="content">Because of the above limitation many of the links in the
-        page generated from the above example are broken.</div>
+<div class="content">
+          Because of the above limitation many of the links in the page
+          generated from the above example are broken.
+        </div>
 </div>
 <a name="N100F2"></a><a name="source-from-remote-cms"></a>
 <h3 class="underlined_5">Retrieving HTML from a CMS</h3>
-<p>Using the locationmap you can use Forrest to retrieve data from a 
-        Content Management System (CMS), wither local or remote.
-        As an example we will consider Apache Lenya.</p>
-<p>
-<a href="http://lenya.apache.org">Apache Lenya</a> is a Java Open-Source Content Management System based 
-        on open standards such as XML and XSLT and the Apache Software Stack, in particular the XML publishing 
-        framework Apache Cocoon.</p>
-<p>The following locationmap matcher will instruct Forrest to retrieve content from
-        <span class="codefrag">http://lenya.zones.apache.org:8888/default/live/*.html?raw=true</span>, whenever a local URL of
-        <span class="codefrag">lenya/**</span> is encountered.</p>
+<p>
+          Using the locationmap you can use Forrest to retrieve data from a
+          Content Management System (CMS), wither local or remote. As an example
+          we will consider Apache Lenya.
+        </p>
+<p>
+          
+<a href="http://lenya.apache.org">Apache Lenya</a> is a Java
+          Open-Source Content Management System based on open standards such as
+          XML and XSLT and the Apache Software Stack, in particular the XML
+          publishing framework Apache Cocoon.
+        </p>
+<p>
+          The following locationmap matcher will instruct Forrest to retrieve
+          content from
+          <span class="codefrag">http://lenya.zones.apache.org:8888/default/live/*.html?raw=true</span>,
+          whenever a local URL of <span class="codefrag">lenya/**</span> is encountered.
+        </p>
 <pre class="code">
  &lt;match pattern="lenya/**.xml"&gt;
    &lt;location src="http://lenya.zones.apache.org:8888/default/live/{1}.html?raw=true" /&gt;
  &lt;/match&gt;
         </pre>
-<p>However, since the source returned by this match is HTML and not XDoc we must convert this
-        to our internal XDoc format before we can use it. We do this by adding the match below to our 
-        project's <span class="codefrag">sitemap.xmap</span> file.</p>
+<p>
+          However, since the source returned by this match is HTML and not XDoc
+          we must convert this to our internal XDoc format before we can use it.
+          We do this by adding the match below to our project's
+          <span class="codefrag">sitemap.xmap</span> file.
+        </p>
 <pre class="code">
 &lt;map:match pattern="lenya/**.xml"&gt;
   &lt;map:generate type="html" src="{lm:{0}}" /&gt;
@@ -577,8 +657,11 @@
   &lt;map:serialize type="xml"/&gt;
 &lt;/map:match&gt;
         </pre>
-<p>Since this snippet uses the HTML generator you must also ensure that your sitemap has the HTML generator
-        component defined. That is, your sitemap must also include:</p>
+<p>
+          Since this snippet uses the HTML generator you must also ensure that
+          your sitemap has the HTML generator component defined. That is, your
+          sitemap must also include:
+        </p>
 <pre class="code">
 &lt;map:components&gt;
   &lt;map:generators default="file"&gt;
@@ -589,9 +672,13 @@
   &lt;/map:generators&gt;
 &lt;/map:components&gt;
         </pre>
-<p>Since the HTML generator uses JTidy we need to make available a JTidy configuration file.
-        This is placed in <span class="codefrag">PROJECT_HOME/src/documentation/WEB-INF/jtidy.properties</span> (the
-        location can be changed in the above sitemap snippet). A sample config file is given below:</p>
+<p>
+          Since the HTML generator uses JTidy we need to make available a JTidy
+          configuration file. This is placed in
+          <span class="codefrag">PROJECT_HOME/src/documentation/WEB-INF/jtidy.properties</span>
+          (the location can be changed in the above sitemap snippet). A sample
+          config file is given below:
+        </p>
 <pre class="code">
 indent=yes
 indent-spaces=8
@@ -611,49 +698,75 @@
         </pre>
 <div class="note">
 <div class="label">Note</div>
-<div class="content">This requirement to add items to your project sitemap will be removed in a future version either by Lenya
-        outputting XDoc, or by Forrest switching to using XHTML as its internal format, or through the development of a
-        plugin for Lenya that will include the necessary processing (whichever comes first).</div>
+<div class="content">
+          This requirement to add items to your project sitemap will be removed
+          in a future version either by Lenya outputting XDoc, or by Forrest
+          switching to using XHTML as its internal format, or through the
+          development of a plugin for Lenya that will include the necessary
+          processing (whichever comes first).
+        </div>
 </div>
 <div class="warning">
 <div class="label">Warning</div>
-<div class="content">This demo is an example only, it does not fully work at this time. For example, absolute URLs
-        in the source document need to be rewritten to ensure that they are matched by the locationmap.</div>
+<div class="content">
+          This demo is an example only, it does not fully work at this time. For
+          example, absolute URLs in the source document need to be rewritten to
+          ensure that they are matched by the locationmap.
+        </div>
 </div>
-<a name="N10130"></a><a name="sourceResolving"></a>
+<a name="N10131"></a><a name="sourceResolving"></a>
 <h3 class="underlined_5">Source Resolving</h3>
-<p>As well as being able to use the locationmap as a parameter in the sitemap,
-        it is also possible to use it as a psuedo-protocol within resources processed
-        by Forrest. For example, you can use it to import an XSL provided by one plugin
-        within another plugin:</p>
+<p>
+          As well as being able to use the locationmap as a parameter in the
+          sitemap, it is also possible to use it as a psuedo-protocol within
+          resources processed by Forrest. For example, you can use it to import
+          an XSL provided by one plugin within another plugin:
+        </p>
 <pre class="code">
+
           &lt;xsl:import src="lm://OOo.transform.write.xdoc"/&gt;
         
         </pre>
-<a name="N1013E"></a><a name="linkrewriting"></a>
+<a name="N1013F"></a><a name="linkrewriting"></a>
 <h3 class="underlined_5">Link Rewriting</h3>
-<p>The locationmap can be used to rewrite URLs when the page is generated.
-        For example, when the locationmap has:</p>
+<p>
+          The locationmap can be used to rewrite URLs when the page is
+          generated. For example, when the locationmap has:
+        </p>
 <pre class="code">
  &lt;match pattern="rewriteDemo/**"&gt;
    &lt;location src="http://www.domain.org/{1}.xml" /&gt;
  &lt;/match&gt;
         </pre>
-<p>With the above match in the locationmap, a link which has <span class="codefrag">href="lm:rewriteDemo/index"</span>
-        will be rewritten to an offsite address at <span class="codefrag">domain.org</span>
+<p>
+          With the above match in the locationmap, a link which has
+          <span class="codefrag">href="lm:rewriteDemo/index"</span> will be rewritten to an
+          offsite address at <span class="codefrag">domain.org</span>
+        
 </p>
-<a name="N10154"></a><a name="debugging"></a>
+<a name="N10156"></a><a name="debugging"></a>
 <h3 class="underlined_5">Debugging Locationmaps</h3>
-<p>Debugging the locationmap can be difficult because Cocoons error messages no
-        longer provide meaningful data. We hope to improve this over time, in the meantime
-        we recommend that you increase the log level of the locationmap logger. To do this
-        edit the following line in $FORREST_HOME/main/webapp/WEB-INF/logkit.conf:</p>
-<pre class="code">&lt;category name="modules.mapper.lm" log-level="INFO"&gt;</pre>
-<p>For example, you could change the log level to "DEBUG".</p>
-<p>Output from this logger can be found in  
-        $PROJECT_HOME/build/webapp/WEB-INF/logs/locationmap.log</p>
-<p>You should not run production systems with this logger set higher than "INFO
-        as each request can generate large amounts of log information.</p>
+<p>
+          Debugging the locationmap can be difficult because Cocoons error
+          messages no longer provide meaningful data. We hope to improve this
+          over time, in the meantime we recommend that you increase the log
+          level of the locationmap logger. To do this edit the following line in
+          $FORREST_HOME/main/webapp/WEB-INF/logkit.conf:
+        </p>
+<pre class="code">
+&lt;category name="modules.mapper.lm" log-level="INFO"&gt;
+        </pre>
+<p>
+          For example, you could change the log level to "DEBUG".
+        </p>
+<p>
+          Output from this logger can be found in
+          $PROJECT_HOME/build/webapp/WEB-INF/logs/locationmap.log
+        </p>
+<p>
+          You should not run production systems with this logger set higher than
+          "INFO as each request can generate large amounts of log information.
+        </p>
 </div>
   
 </div>

Modified: forrest/site/docs_0_80/locationmap.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/locationmap.pdf?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
Binary files - no diff available.

Modified: forrest/site/docs_0_80/menu-index.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/menu-index.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/menu-index.html (original)
+++ forrest/site/docs_0_80/menu-index.html Mon Apr  9 21:44:00 2007
@@ -4,308 +4,283 @@
 <li>
 <h1>0.80-dev</h1>
 <ul>
-        
+      
 <li>
 <div class="current">Overview</div>
 </li>
-          
-          
-          
-          
-        
-        
+
+      
+      
+      
+
+      
 <li>
 <a href="../docs_0_80/your-project.html">Using Forrest</a>
-</li> 
-        
+</li>
+      
 <li>
 <h1>How-To</h1>
 <ul>
-            
+        
 <li>
 <a href="../docs_0_80/howto/index.html">Overview</a>
 </li>
-            
+        
 <li>
 <h1>Install Forrest</h1>
 <ul>
-                
+          
 <li>
 <a href="../docs_0_80/build.html" title="Build and install the current                     unreleased version">Building Forrest from Source</a>
 </li>
-            
+        
 </ul>
 </li>
-            
+        
 <li>
 <a href="../docs_0_80/upgrading_08.html">Upgrading to 0.8</a>
 </li>
-            
-            
+        
 <li>
 <a href="">Use Forrest</a>
 </li>
-            
-            
+        
 <li>
 <h1>Customize Forrest</h1>
 <ul>
-                
+          
 <li>
 <a href="../docs_0_80/sitemap-explain.html">Sitemaps explained</a>
 </li>
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-custom-html-source.html">Custom html source</a>
 </li>
-                
+          
 <li>
 <a href="../docs_0_80/project-sitemap.html">Project sitemap</a>
 </li>
-                
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
 </li>
-                
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-pdf-tab.html" title="Generate one pdf-document for all pages of a tab">Create tab PDF</a>
 </li>
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-corner-images.html">CSS corner SVG</a>
 </li>
-            
+        
 </ul>
 </li>
-                
-            
+        
 <li>
 <h1>Integrate Forrest with tools</h1>
 <ul>
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-forrest-from-maven.html">Maven Integration</a>
 </li>
-                
+          
 <li>
 <a href="../docs_0_80/catalog.html">Using DTD Catalogs</a>
-</li>   
-            
+</li>
+        
 </ul>
 </li>
-            
-            
+        
 <li>
 <h1>Extend Forrest</h1>
 <ul>
-                
+          
 <li>
 <a href="../docs_0_80/howto/howto-buildPlugin.html">Build a Plugin</a>
 </li>
-                
+          
 <li>
 <a href="../docs_0_80/skin-package.html">Package new Skins</a>
 </li>
-            
+        
 </ul>
 </li>
-            
-            
+        
 <li>
 <a href="../docs_0_80/howto/howto-asf-mirror.html">Download mirror</a>
 </li>
-            
-            
+        
 <li>
 <h1>Adding Documentation</h1>
 <ul>
-                
+          
 <li>
 <a href="../howto-howto.html" title="Instructions for writing                 a new howto-document">Write a How-to</a>
 </li>
-                
+          
 <li>
 <h1>Multipage HowTo</h1>
 <ul>
-                    
+            
 <li>
 <a href="../docs_0_80/howto/multi/howto-multi.html">Introduction</a>
 </li>
-                    
+            
 <li>
 <a href="../docs_0_80/howto/multi/step1.html">Step 1</a>
 </li>
-                    
+            
 <li>
 <a href="../docs_0_80/howto/multi/step2.html">Step 2</a>
 </li>
-                    
+            
 <li>
 <a href="../docs_0_80/howto/multi/step3.html">Step 3</a>
 </li>
-                
+          
 </ul>
 </li>
-            
+        
 </ul>
 </li>
-            
-          
+      
 </ul>
-</li>  
-
-        
+</li>
+      
 <li>
 <a href="../docs_0_80/faq.html">FAQs</a>
 </li>
-          
-          
+      
 <li>
 <h1>Background</h1>
 <ul>
-              
-             
+        
 <li>
 <a href="../docs_0_80/linking.html">Menus and Linking</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/searching.html">Search Options in Forrest</a>
-</li>   
-             
+</li>
+        
 <li>
 <a href="../docs_0_80/locationmap.html">Locationmap</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/sitemap-ref.html">Sitemap Reference</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/skins.html" title="About default skins, their naming and features">Skins</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/status-themes.html">Dispatcher versus Skins</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/cap.html">Sourcetype Action</a>
 </li>
-              
+        
 <li>
 <a href="../docs_0_80/validation.html">XML validation and entity resolution</a>
 </li>
-         
+      
 </ul>
 </li>
-          
-         
-          
-        
+      
 <li>
 <a href="../docs_0_80/changes.html">Changes</a>
 </li>
-        
-        
-        
-        
-        
+      
+      
 <li>
 <a href="../docs_0_80/glossary.html">Glossary</a>
 </li>
-        
-        
-        
-        
-        
- 
-        
+      
 <li>
 <h1>Reference docs</h1>
 <ul>
-          
+        
 <li>
 <h1>DTD documentation</h1>
 <ul>
-            
+          
 <li>
 <a href="../dtdx/dtd-docs.html">Overview</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/document-v20.dtdx.html">document-v20</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/howto-v20.dtdx.html">howto-v20</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/faq-v20.dtdx.html">faq-v20</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/document-v13.dtdx.html">document-v13</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/howto-v13.dtdx.html">howto-v13</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/faq-v13.dtdx.html">faq-v13</a>
 </li>
-          
+        
 </ul>
 </li>
-          
+        
 <li>
 <h1>Doc samples</h1>
 <ul>
-            
-            
+          
+          
 <li>
 <a href="../dtdx/document-v13.html">document-v13</a>
 </li>
-            
+          
 <li>
 <a href="../dtdx/document-v20.html">document-v20</a>
 </li>
-          
+        
 </ul>
 </li>
-        
+      
 </ul>
 </li>
-        
-        
-        
+
+      
 <li>
 <h1>Older Docs</h1>
 <ul>
-          
+        
 <li>
 <a href="../docs_0_80/primer.html">Forrest Primer</a>
 </li>
-          
+        
 <li>
 <a href="../docs_0_80/libre-intro.html">Libre</a>
 </li>
-          
+        
 <li>
 <a href="../docs_0_80/dreams.html">Dream list</a>
 </li>
-          
+        
 <li>
 <a href="../docs_0_80/howto/cvs-ssh/howto-cvs-ssh.html">CVS over SSH</a>
 </li>
-        
+      
 </ul>
 </li>
-      
+    
 </ul>
 </li>
 </ul>

Modified: forrest/site/docs_0_80/primer.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/primer.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/primer.html (original)
+++ forrest/site/docs_0_80/primer.html Mon Apr  9 21:44:00 2007
@@ -318,13 +318,16 @@
 </div>
 <h1>The Forrest Primer</h1>
 <h3>Don't panic!</h3>
-<div class="abstract">Forrest is a so-called
+<div class="abstract">
+      Forrest is a so-called
       fledgling
       project that will have a broad impact on
-      xml.apache.org projects. This document
-      helps you to better understand the vision and scope of Forrest, so that you
-      learn what to expect (or not) from it, and eventually will help you discovering
-      places where your contribution could be valuable to all of us.</div>
+      xml.apache.org projects. This
+      document helps you to better understand the vision and scope of Forrest,
+      so that you learn what to expect (or not) from it, and eventually will
+      help you discovering places where your contribution could be valuable to
+      all of us.
+    </div>
 <div id="motd-area">
         This is documentation for development version v0.8
        (<a href="http://forrest.apache.org/versions/">More</a>)</div>
@@ -372,79 +375,96 @@
 <a href="#Where+you+can+help">Where you can help</a>
 </li>
 </ul>
-</div> 
+</div>
     
 <div class="warning">
 <div class="label">Warning</div>
-<div class="content">This document is <em>very</em> out of date. There is a lot of good
+<div class="content">
+      This document is <em>very</em> out of date. There is a lot of good
       information here, but the focus of the project has shifted away from the
       Sourceforge-like project management system described here, towards being a
-      simpler project-centric documentation tool -- JT</div>
-</div> 
+      simpler project-centric documentation tool -- JT
+    </div>
+</div>
     
 <a name="N10021"></a><a name="History"></a>
 <h2 class="underlined_10">History</h2>
 <div class="section">
-<p>Forrest has come into existence because of the abysmal state of the
-        <a href="http://xml.apache.org/">xml.apache.org</a> website in comparison
-        with other open source community sites such as Sourceforge. The old site had no
-        consistent visual look and feel, which was largely due to each and every
-        sub-project managing its own site. Furthermore, much information which could
-        potentially support community-based open source development was hidden inside
-        CVS repositories, mailing lists or word of mouth. Once we experienced the
-        usefullness of cross-project collaboration supported by the Jakarta
-        <a href="http://jakarta.apache.org/gump">Gump</a> project, we reckoned
-        having a single application responsible for the management of the
-        xml.apache.org site could be of benefit to our visitors. And if we added
-        aggregated access to other available resources such as download stats or
-        mailing list archives, the new xml.apache.org website could be a true
-        information clearinghouse for interested parties, both users and contributors
-        alike.</p>
-<p>The Forrest vision was articulated by Stefano Mazzocchi and Sam Ruby,
-        both long-time contributors to Apache projects, in the beginning of 2002, and
-        was rapidly picked up by a bunch of other 
-        <a href="../who.html">contributors</a> as well, after a headstart by Nicola Ken
-        Barozzi. So here we are, plenty of work-in-progress to erect what eventually
-        will become a true community website infrastructure for Apache open source
-        development.</p>
-</div> 
+<p>
+        Forrest has come into existence because of the abysmal state of the
+        <a href="http://xml.apache.org/">xml.apache.org</a> website in
+        comparison with other open source community sites such as Sourceforge.
+        The old site had no consistent visual look and feel, which was largely
+        due to each and every sub-project managing its own site. Furthermore,
+        much information which could potentially support community-based open
+        source development was hidden inside CVS repositories, mailing lists or
+        word of mouth. Once we experienced the usefullness of cross-project
+        collaboration supported by the Jakarta
+        <a href="http://jakarta.apache.org/gump">Gump</a> project, we
+        reckoned having a single application responsible for the management of
+        the xml.apache.org site could be of benefit to our visitors. And if we
+        added aggregated access to other available resources such as download
+        stats or mailing list archives, the new xml.apache.org website could be
+        a true information clearinghouse for interested parties, both users and
+        contributors alike.
+      </p>
+<p>
+        The Forrest vision was articulated by Stefano Mazzocchi and Sam Ruby,
+        both long-time contributors to Apache projects, in the beginning of
+        2002, and was rapidly picked up by a bunch of other
+        <a href="../who.html">contributors</a> as well, after a headstart by
+        Nicola Ken Barozzi. So here we are, plenty of work-in-progress to erect
+        what eventually will become a true community website infrastructure for
+        Apache open source development.
+      </p>
+</div>
     
 <a name="N1003A"></a><a name="What+is+Forrest"></a>
 <h2 class="underlined_10">What is Forrest</h2>
 <div class="section">
-<p>Forrest is a framework that supports the cross-project generation and
-        management of development project websites using Cocoon as its XML publishing
-        framework. It not only provides access to project documentation, but also to
-        other types of information that open source developers depend upon daily:
-        source code repositories, mailing lists, contact info and the like. It
-        aggregates all these resources and publishes them on a regular basis to a
-        website, ensuring a consistent look and feel using skins implemented with XSLT
-        stylesheets. While Forrest's primary focus is XML Apache project websites, it
-        can be adapted to other community development projects as well, as long as they
+<p>
+        Forrest is a framework that supports the cross-project generation and
+        management of development project websites using Cocoon as its XML
+        publishing framework. It not only provides access to project
+        documentation, but also to other types of information that open source
+        developers depend upon daily: source code repositories, mailing lists,
+        contact info and the like. It aggregates all these resources and
+        publishes them on a regular basis to a website, ensuring a consistent
+        look and feel using skins implemented with XSLT stylesheets. While
+        Forrest's primary focus is XML Apache project websites, it can be
+        adapted to other community development projects as well, as long as they
         are willing to commit to proven best practices such as Ant for build
-        automation, CVS for source code control and XML as a documentation source
-        format.</p>
-<p>Forrest is currently based on an
-        <a href="http://jakarta.apache.org/ant/">Ant</a>-based project build
-        system called <a href="http://www.krysalis.org/centipede/">Centipede</a>
-        that drives a <a href="http://cocoon.apache.org/">Cocoon</a>-based
-        document publication system. It contains a set of standard XML document type
-        declarations (DTDs) for project documentation, and different 'skins' consisting
-        of XSLT stylesheets that produce HTML renditions of XML documents using these
-        DTDs.</p>
-<p>The primary mode of operations for Forrest will be as follows:</p>
+        automation, CVS for source code control and XML as a documentation
+        source format.
+      </p>
+<p>
+        Forrest is currently based on an
+        <a href="http://jakarta.apache.org/ant/">Ant</a>-based project
+        build system called
+        <a href="http://www.krysalis.org/centipede/">Centipede</a> that
+        drives a <a href="http://cocoon.apache.org/">Cocoon</a>-based
+        document publication system. It contains a set of standard XML document
+        type declarations (DTDs) for project documentation, and different
+        'skins' consisting of XSLT stylesheets that produce HTML renditions of
+        XML documents using these DTDs.
+      </p>
+<p>
+        The primary mode of operations for Forrest will be as follows:
+      </p>
 <div class="note">
 <div class="label">Note</div>
-<div class="content">This process is not quite ready for prime time yet, but it gives
-        you an idea where we are heading to. Website generation with skins currently
+<div class="content">
+        This process is not quite ready for prime time yet, but it gives you an
+        idea where we are heading to. Website generation with skins currently
         works, try using the <span class="codefrag">docs</span> target when invoking the
-        <span class="codefrag">build</span> script. Add a <span class="codefrag">project.skin</span> property when invoking
-        the build script to experience Forrest skins: <span class="codefrag">build{.bat|.sh}
-          -Dproject.skin=&lt;thenameoftheskintouse&gt; docs</span>. Read our
-        <a href="#cvs">CVS crash course</a> to get hold of the current codebase and
-        start playing with it.</div>
+        <span class="codefrag">build</span> script. Add a <span class="codefrag">project.skin</span> property when
+        invoking the build script to experience Forrest skins:
+        <span class="codefrag">build{.bat|.sh} -Dproject.skin=&lt;thenameoftheskintouse&gt;
+        docs</span>. Read our <a href="#cvs">CVS crash course</a> to get
+        hold of the current codebase and start playing with it.
+      </div>
 </div>
-<ol> 
+<ol>
         
 <li>Forrest will harvest documentation and related source files from
           each of the projects within the community that uses Forrest for their website,
@@ -458,37 +478,41 @@
           collection of HTML documents and related images and stylesheets comprising the
           project's website. The impact Forrest has on the participating projects should
           be minimal, i.e. one should simply author XML documents, put them in a
-          well-specified filesystem hierarchy, and Forrest will do its work.</li> 
+          well-specified filesystem hierarchy, and Forrest will do its work.</li>
         
 <li>Forrest will enrich the documentation source files with common
           information: a cross-project navigation structure (and rendition, of course),
           and useful 'community indicators' such as download statistics, number of
-          contributors with commit access, ...</li> 
+          contributors with commit access, ...</li>
         
 <li>If the individual project build runs are successful, the project's
           website is automagically (re-)published to the (Apache) website, also several
-          times day.</li> 
+          times day.</li>
       
 </ol>
-<p>The Forrest website and the overall xml.apache.org website are
-        maintained and published using the same mechanism.</p>
-</div> 
+<p>
+        The Forrest website and the overall xml.apache.org website are
+        maintained and published using the same mechanism.
+      </p>
+</div>
     
 <a name="N1007B"></a><a name="Forrest+roles"></a>
 <h2 class="underlined_10">Forrest roles</h2>
 <div class="section">
-<p>Depending on your interests, your involvement with Forrest may vary,
-        hence your <em>role</em>. We currently envision three different roles:</p>
-<ul> 
+<p>
+        Depending on your interests, your involvement with Forrest may vary,
+        hence your <em>role</em>. We currently envision three different roles:
+      </p>
+<ul>
         
 <li>
 <strong>User</strong> you want or need to use Forrest for your
-          project because it uses Forrest to manage its documentation.</li> 
+          project because it uses Forrest to manage its documentation.</li>
         
 <li>
 <strong>Adaptor</strong> you want to adapt Forrest to support your
           individual project needs, presumably outside the XML Apache context, building
-          your own skins or DTDs and the like.</li> 
+          your own skins or DTDs and the like.</li>
         
 <li>
 <strong>Contributor</strong> you are a fledgling Forresteer and
@@ -497,148 +521,163 @@
           the Forrest CVS repository and become an Apache committer. The first stage
           towards becoming a contributor is to join the forrest dev
           <a href="../mail-lists.html">mailing list</a>, the second is to download
-          Forrest and start playing with it (see below).</li> 
+          Forrest and start playing with it (see below).</li>
       
 </ul>
-<p>Depending on your role, your potential area of interest in Forrest
-        will vary:</p>
-<table class="ForrestTable" cellspacing="1" cellpadding="4"> 
+<p>
+        Depending on your role, your potential area of interest in Forrest will
+        vary:
+      </p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Role</th> 
-          <th colspan="1" rowspan="1">Interests</th> 
+<th colspan="1" rowspan="1">Role</th>
+          <th colspan="1" rowspan="1">Interests</th>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<td colspan="1" rowspan="1">User</td> 
+<td colspan="1" rowspan="1">User</td>
           <td colspan="1" rowspan="1">Forrest DTDs and documentation filesystem hierarchy (Cocoon
-            sitemap)</td> 
+            sitemap)</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<td colspan="1" rowspan="1">Adaptor</td> 
-          <td colspan="1" rowspan="1">+ skin system and build environment</td> 
+<td colspan="1" rowspan="1">Adaptor</td>
+          <td colspan="1" rowspan="1">+ skin system and build environment</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<td colspan="1" rowspan="1">Contributor</td> 
-          <td colspan="1" rowspan="1">+ the Forrest codebase and runtime environment</td> 
+<td colspan="1" rowspan="1">Contributor</td>
+          <td colspan="1" rowspan="1">+ the Forrest codebase and runtime environment</td>
         
-</tr> 
+</tr>
       
 </table>
-</div> 
+</div>
     
 <a name="N100D8"></a><a name="cvs"></a>
 <h2 class="underlined_10">Getting your local copy of Forrest through CVS</h2>
 <div class="section">
 <a name="N100DE"></a><a name="System+requirements"></a>
 <h3 class="underlined_5">System requirements</h3>
-<p>Forrest requires the following systems to be already installed on
-          your system:</p>
-<ul> 
+<p>
+          Forrest requires the following systems to be already installed on your
+          system:
+        </p>
+<ul>
           
 <li>
 <em>Java Virtual Machine</em> A Java virtual machine must be
-            present. Forrest has been tested against the latest Sun 1.3 JDK.</li> 
+            present. Forrest has been tested against the latest Sun 1.3 JDK.</li>
         
 </ul>
 <a name="N100F0"></a><a name="Getting+Forrest"></a>
 <h3 class="underlined_5">Getting Forrest</h3>
-<p>You can retrieve Forrest from its CVS repository or download
-         <a href="http://www.apache.org/dyn/closer.cgi/xml/forrest/">here</a>.
-          <br>Some help with CVS follows (courtesy of our friends of the Cocoon project).</p>
+<p>
+          You can retrieve Forrest from its CVS repository or download
+          <a href="http://www.apache.org/dyn/closer.cgi/xml/forrest/">here</a>.
+          <br>
+          Some help with CVS follows (courtesy of our friends of the Cocoon
+          project).
+        </p>
 <a name="N10100"></a><a name="Step-by-step+cvs+instructions+for+Windows"></a>
 <h3 class="underlined_5">Step-by-step cvs instructions for Windows</h3>
-<ol> 
+<ol>
           
 <li>Download a recent release of WinCVS (homepage is
-            <a href="http://www.wincvs.org/">http://www.wincvs.org/</a>); </li> 
+            <a href="http://www.wincvs.org/">http://www.wincvs.org/</a>); </li>
           
-<li>Install it;</li> 
+<li>Install it;</li>
           
-<li>Start it;</li> 
+<li>Start it;</li>
           
-<li>Click on Admin-&gt;Preferences;</li> 
+<li>Click on Admin-&gt;Preferences;</li>
           
 <li> In "Enter the CVSROOT:" enter
             "<span class="codefrag">:pserver:anoncvs@cvs.apache.org:/home/cvspublic</span>" (without
-            quotes);</li> 
+            quotes);</li>
           
-<li>In "Authentication:" choose "passwd file on the cvs server";</li> 
+<li>In "Authentication:" choose "passwd file on the cvs server";</li>
           
-<li>Click "Ok";</li> 
+<li>Click "Ok";</li>
           
-<li>Click Admin-&gt;Login;</li> 
+<li>Click Admin-&gt;Login;</li>
           
 <li> When asked for the password: answer "<span class="codefrag">anoncvs</span>"
-            (without quotes);</li> 
+            (without quotes);</li>
           
-<li> Click "Create-&gt;Checkout module";</li> 
+<li> Click "Create-&gt;Checkout module";</li>
           
 <li>Module name and path on the server is "<span class="codefrag">xml-forrest</span>"
-            (no quotes);</li> 
+            (no quotes);</li>
           
-<li>Choose a dir to put the source code in;</li> 
+<li>Choose a dir to put the source code in;</li>
           
-<li>Click "Ok";</li> 
+<li>Click "Ok";</li>
           
 <li>If everything goes well, messages will start to appear in the log
-            window;</li> 
+            window;</li>
           
 <li>Wait until you see "<span class="codefrag">*****CVS exited normally with code
-              0*****</span>" in the log window;</li> 
+              0*****</span>" in the log window;</li>
           
-<li>The Forrest source is now on your harddrive.</li> 
+<li>The Forrest source is now on your harddrive.</li>
         
 </ol>
 <a name="N1014A"></a><a name="Step-by-step+cvs+instructions+for+Unix"></a>
 <h3 class="underlined_5">Step-by-step cvs instructions for Unix</h3>
-<ol> 
+<ol>
           
 <li>Make sure you have a CVS client package installed on your Unix
-            system.</li> 
+            system.</li>
           
-<li>Start the shell of your choice.</li> 
+<li>Start the shell of your choice.</li>
           
 <li>Enter "<span class="codefrag">cvs -d
-              :pserver:anoncvs@cvs.apache.org:/home/cvspublic login</span>".</li> 
+              :pserver:anoncvs@cvs.apache.org:/home/cvspublic login</span>".</li>
           
-<li>When asked for the password: answer "<span class="codefrag">anoncvs</span>".</li> 
+<li>When asked for the password: answer "<span class="codefrag">anoncvs</span>".</li>
           
 <li>Enter "<span class="codefrag">cvs -d
               :pserver:anoncvs@cvs.apache.org:/home/cvspublic -z3 checkout
               xml-forrest</span>". This will create a directory called
-            "<span class="codefrag">xml-forrest</span>" where the Forrest source will be stored.</li> 
+            "<span class="codefrag">xml-forrest</span>" where the Forrest source will be stored.</li>
           
-<li>Wait until cvs has finished.</li> 
+<li>Wait until cvs has finished.</li>
           
-<li>The Forrest source is now on your harddrive.</li> 
+<li>The Forrest source is now on your harddrive.</li>
         
 </ol>
-<p>In case you want to update your Forrest source tree to the current
+<p>
+          In case you want to update your Forrest source tree to the current
           version, change to the "<span class="codefrag">xml-forrest</span>" directory and invoke
-          "<span class="codefrag">cvs -z3 update -d -P</span>".</p>
-</div> 
+          "<span class="codefrag">cvs -z3 update -d -P</span>".
+        </p>
+</div>
     
 <a name="N1017F"></a><a name="Forrest+distribution"></a>
 <h2 class="underlined_10">Forrest distribution</h2>
 <div class="section">
-<p>Once you retrieved Forrest from its CVS repository, you will end up
-        with a filesystem hierarchy similar to this inside the <span class="codefrag">xml-forrest</span>
-        home directory:</p>
+<p>
+        Once you retrieved Forrest from its CVS repository, you will end up with
+        a filesystem hierarchy similar to this inside the
+        <span class="codefrag">xml-forrest</span> home directory:
+      </p>
 <div class="warning">
 <div class="label">Warning</div>
-<div class="content">This is highly volatile information!</div>
+<div class="content">
+        This is highly volatile information!
+      </div>
 </div>
-<pre class="code">+---legal                             various licenses for included projects
+<pre class="code">
++---legal                             various licenses for included projects
 +---lib                               jar library
 +---src
 |   +---documentation               Forrest's documentation (not generally reusable)
@@ -680,109 +719,142 @@
 +---tools                           Tools used to build Forrest
     +---ant                         Ant 1.6-dev scripts and jars
 +---stylesheets                     Stylesheets used for project root XML files
-</pre>
-<p>The <span class="codefrag">xml-forrest</span> home directory consists of the main Ant
-        build script (<span class="codefrag">build.xml</span>) and platform-specific batch files/shell
-        scripts to invoke it. Forrest comes with Ant included, so you do not need to
-        install Ant separately.</p>
-<p>Running Forrest is a batch operation you can start using the provided
+
+      </pre>
+<p>
+        The <span class="codefrag">xml-forrest</span> home directory consists of the main Ant
+        build script (<span class="codefrag">build.xml</span>) and platform-specific batch
+        files/shell scripts to invoke it. Forrest comes with Ant included, so
+        you do not need to install Ant separately.
+      </p>
+<p>
+        Running Forrest is a batch operation you can start using the provided
         <span class="codefrag">build.{sh|bat} &lt;targetname&gt;</span>. The current main targets
-        are:</p>
-<ul> 
+        are:
+      </p>
+<ul>
         
 <li>
 <strong><span class="codefrag">docs</span></strong> - generates an HTML rendition of
-          the Forrest website using the default <span class="codefrag">forrest-site</span> skin</li> 
+          the Forrest website using the default <span class="codefrag">forrest-site</span> skin</li>
         
 <li>
 <strong><span class="codefrag">clean</span></strong> - cleans out the
-          <span class="codefrag">build</span> directory</li> 
+          <span class="codefrag">build</span> directory</li>
         
 <li>
 <strong><span class="codefrag">webapp</span></strong> - for those who cannot resist
           running Forrest live instead of its commandline invocation, this target builds
           a WAR file you can deploy in your servlet container (currently only tested for
           Tomcat 4.0.1). Mount-point of the web application will be
-          <span class="codefrag">xml-forrest</span>.</li> 
+          <span class="codefrag">xml-forrest</span>.</li>
       
 </ul>
-<p>After a build run, Forrest creates a <span class="codefrag">build</span> directory. You
-        can find the generated website in the <span class="codefrag">build/xml-forrest/docs/</span>
-        directory. Forrest also creates a <span class="codefrag">tools/tmp/anttasks/</span> upon its
-        first invocation. These are Centipede-specific compiled Ant tasks.</p>
-</div> 
+<p>
+        After a build run, Forrest creates a <span class="codefrag">build</span> directory. You
+        can find the generated website in the
+        <span class="codefrag">build/xml-forrest/docs/</span> directory. Forrest also creates a
+        <span class="codefrag">tools/tmp/anttasks/</span> upon its first invocation. These are
+        Centipede-specific compiled Ant tasks.
+      </p>
+</div>
     
 <a name="N101CC"></a><a name="The+Forrest+DTDs"></a>
 <h2 class="underlined_10">The Forrest DTDs</h2>
 <div class="section">
-<p>Forrest is the reference repository for the XML Apache documentation
+<p>
+        Forrest is the reference repository for the XML Apache documentation
         DTDs. Special care is taken to provide a set of modular, extensible and
-        well-maintained DTDs for project documentation purposes. This modularity is
-        ensured using the
-        <a href="http://www.oasis-open.org/committees/entity/">OASIS catalog</a>
-        mechanism, extensive use of external parameter entities and an entity resolver
-        capable of resolving entities through the aforementioned catalog mechanism. For
-        the docheads amongst us, this means we adhere to the strict use of
-        <span class="codefrag">PUBLIC</span> entity identifiers both in document instances and DTD
-        modules.</p>
-<p>We have currently identified the following document types:</p>
-<ul> 
+        well-maintained DTDs for project documentation purposes. This modularity
+        is ensured using the
+        <a href="http://www.oasis-open.org/committees/entity/">OASIS
+        catalog</a> mechanism, extensive use of external parameter entities
+        and an entity resolver capable of resolving entities through the
+        aforementioned catalog mechanism. For the docheads amongst us, this
+        means we adhere to the strict use of <span class="codefrag">PUBLIC</span> entity
+        identifiers both in document instances and DTD modules.
+      </p>
+<p>
+        We have currently identified the following document types:
+      </p>
+<ul>
         
-<li>General documents (<span class="codefrag">document-v11.dtd</span>),</li> 
+<li>General documents (<span class="codefrag">document-v11.dtd</span>),</li>
         
-<li>How-Tos (<span class="codefrag">howto-v10.dtd</span>),</li> 
+<li>How-Tos (<span class="codefrag">howto-v10.dtd</span>),</li>
         
-<li>Collections of FAQs (<span class="codefrag">faq-v11.dtd)</span>.</li> 
+<li>Collections of FAQs (<span class="codefrag">faq-v11.dtd)</span>.</li>
       
 </ul>
-<p>Some work is also under its way for other document types, in close
-        collaboration with the Cocoon project. You will also find some older document
-        types such as <span class="codefrag">changes</span>, <span class="codefrag">javadoc</span>,
-        <span class="codefrag">specification</span> and <span class="codefrag">todo</span>, which are currently under
-        consideration for automatic generation and maintenance using Gump or Centipede
-        descriptors and the like. DTDs will be subject of serious version management as
-        soon as Forrest has a 1.0 release: they are made to depend upon.</p>
-<p>The DTDs are located in <span class="codefrag">src/resources/schema/dtd</span> and also
+<p>
+        Some work is also under its way for other document types, in close
+        collaboration with the Cocoon project. You will also find some older
+        document types such as <span class="codefrag">changes</span>, <span class="codefrag">javadoc</span>,
+        <span class="codefrag">specification</span> and <span class="codefrag">todo</span>, which are currently
+        under consideration for automatic generation and maintenance using Gump
+        or Centipede descriptors and the like. DTDs will be subject of serious
+        version management as soon as Forrest has a 1.0 release: they are made
+        to depend upon.
+      </p>
+<p>
+        The DTDs are located in <span class="codefrag">src/resources/schema/dtd</span> and also
         refer to some character entity collections stored in the
-        <span class="codefrag">src/resources/schema/entity</span> directory. These are referred to by
-        the declarations found in the <span class="codefrag">src/resources/schema/catalog</span> OASIS
-        Catalog file. Take special care using the correct <span class="codefrag">PUBLIC</span>
-        identifiers in the DTD declaration of your instances:</p>
-<pre class="code">&lt;?xml version="1.0"?&gt;
+        <span class="codefrag">src/resources/schema/entity</span> directory. These are referred
+        to by the declarations found in the
+        <span class="codefrag">src/resources/schema/catalog</span> OASIS Catalog file. Take
+        special care using the correct <span class="codefrag">PUBLIC</span> identifiers in the
+        DTD declaration of your instances:
+      </p>
+<pre class="code">
+&lt;?xml version="1.0"?&gt;
 &lt;!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://apache.org/forrest/dtd/document-v12.dtd"&gt;
 &lt;document&gt;
   ...
-  </pre>
-<p>The exact local location of the DTD for validation purposes is
-        obtained by the entity resolver evaluating the mapping scheme as defined in the
-        <span class="codefrag">catalog</span> file. This makes sure that you can move and re-arrange
-        your document instances apart from your DTD files. Later on, the DTDs will be
-        web-accessible from the Forrest website for your perusal.</p>
-</div> 
+  
+      </pre>
+<p>
+        The exact local location of the DTD for validation purposes is obtained
+        by the entity resolver evaluating the mapping scheme as defined in the
+        <span class="codefrag">catalog</span> file. This makes sure that you can move and
+        re-arrange your document instances apart from your DTD files. Later on,
+        the DTDs will be web-accessible from the Forrest website for your
+        perusal.
+      </p>
+</div>
     
 <a name="N1021D"></a><a name="sitemap"></a>
 <h2 class="underlined_10">Forrest site generation using Cocoon</h2>
 <div class="section">
-<p>The <span class="codefrag">docs</span> target of the Forrest build environment invokes
-        Cocoon as a command-line application to generate an HTML rendition of the
-        project's documentation. It is not within the scope of this document to explain
-        the Cocoon internals, please read its own
+<p>
+        The <span class="codefrag">docs</span> target of the Forrest build environment invokes
+        Cocoon as a command-line application to generate an HTML rendition of
+        the project's documentation. It is not within the scope of this document
+        to explain the Cocoon internals, please read its own
         <a href="http://cocoon.apache.org/">documentation</a> to fully
-        understand the power of Cocoon.</p>
-<p>Cocoon's site rendition behaviour is configured in a so-called
-        <em>sitemap</em>, a switchboard that binds URLs to an XML processing pipeline.
-        This pipeline typically consists of a Generator, one or more Transformers and a
-        Serializer. Forrest also makes use of Cocoon's aggregation capabilities that
-        merge multiple pipelines into one resulting output document.</p>
-<p>A typical page generated using Forrest looks like this:</p>
+        understand the power of Cocoon.
+      </p>
+<p>
+        Cocoon's site rendition behaviour is configured in a so-called
+        <em>sitemap</em>, a switchboard that binds URLs to an XML processing
+        pipeline. This pipeline typically consists of a Generator, one or more
+        Transformers and a Serializer. Forrest also makes use of Cocoon's
+        aggregation capabilities that merge multiple pipelines into one
+        resulting output document.
+      </p>
+<p>
+        A typical page generated using Forrest looks like this:
+      </p>
 <div id="" style="text-align: center;">
 <img id="" class="figure" alt="Pages areas" src="images/page-areas.png" height="291" width="336"></div>
-<p>This page is currently composed of two XML sources which are
-        transformed by a different XSLT stylesheet, aggregated by Cocoon with a
-        post-aggregation stylesheet adding the overall page grid and look &amp; feel.
-        This simple example is handled by the following <em>sitemap</em> snippets
-        (<span class="codefrag">src/documentation/conf/sitemap.xmap</span>):</p>
-<pre class="code">&lt;map:match pattern="*.html"&gt;
+<p>
+        This page is currently composed of two XML sources which are transformed
+        by a different XSLT stylesheet, aggregated by Cocoon with a
+        post-aggregation stylesheet adding the overall page grid and look &amp;
+        feel. This simple example is handled by the following <em>sitemap</em>
+        snippets (<span class="codefrag">src/documentation/conf/sitemap.xmap</span>):
+      </p>
+<pre class="code">
+&lt;map:match pattern="*.html"&gt;
   &lt;map:aggregate element="site"&gt;
     &lt;map:part src="cocoon:/book-{1}.xml"/&gt;
     &lt;map:part src="cocoon:/body-{1}.xml" label="content"/&gt;
@@ -790,255 +862,274 @@
   &lt;map:call resource="skinit"&gt;
     &lt;map:parameter name="type" value="site2xhtml"/&gt;
   &lt;/map:call&gt;
-&lt;/map:match&gt;</pre>
-<pre class="code">&lt;map:match pattern="**book-**.xml"&gt;
+&lt;/map:match&gt;
+      </pre>
+<pre class="code">
+&lt;map:match pattern="**book-**.xml"&gt;
   &lt;map:generate src="content/xdocs/{1}book.xml"/&gt;
   &lt;map:call resource="skinit"&gt;
     &lt;map:parameter name="type" value="book2menu"/&gt;
   &lt;/map:call&gt;
-&lt;/map:match&gt;</pre>
-<pre class="code">&lt;map:match pattern="body-**.xml"&gt;
+&lt;/map:match&gt;
+      </pre>
+<pre class="code">
+&lt;map:match pattern="body-**.xml"&gt;
   &lt;map:generate src="content/xdocs/{1}.xml"/&gt;
   &lt;map:call resource="skinit"&gt;
     &lt;map:parameter name="type" value="document2html"/&gt;
   &lt;/map:call&gt;
-&lt;/map:match&gt;</pre>
-<pre class="code">&lt;map:resource name="skinit"&gt;
+&lt;/map:match&gt;
+      </pre>
+<pre class="code">
+&lt;map:resource name="skinit"&gt;
   &lt;map:transform src="skins/@skin@/xslt/html/{type}.xsl"&gt;
     &lt;map:parameter name="isfaq" value="{isfaq}"/&gt;
   &lt;/map:transform&gt;
   &lt;map:serialize/&gt;
-&lt;/map:resource&gt;</pre>
-<p>When an URL (e.g.
-        <span class="codefrag">http://forrest.apache.org/index.html</span>) is passed through the
-        Cocoon system to generate the required page, the pipeline flow is basically as
-        follows:</p>
-<ol> 
+&lt;/map:resource&gt;
+      </pre>
+<p>
+        When an URL (e.g. <span class="codefrag">http://forrest.apache.org/index.html</span>) is
+        passed through the Cocoon system to generate the required page, the
+        pipeline flow is basically as follows:
+      </p>
+<ol>
         
-<li>The URL is matched by the <span class="codefrag">*.html</span> pattern</li> 
+<li>The URL is matched by the <span class="codefrag">*.html</span> pattern</li>
         
 <li>Cocoon responds by aggregating two 'sub-requests'. The first is for
           the resource <span class="codefrag">book-{1}.xml</span>, the second is for the resource
           <span class="codefrag">body-{1}.xml</span>. The <span class="codefrag">{1}</span> parameter is replaced by the
           values of the first wildcard in the matching pattern above. These
           'sub-requests' are passed through the Cocoon pipeline just like any other
-          request. This results in the following flow:</li> 
+          request. This results in the following flow:</li>
         
-<ol> 
+<ol>
           
 <li>The first 'sub-request' (for <span class="codefrag">book-index.xml</span> is matched
             by the <span class="codefrag">**book-**.xml</span> pattern. This results in the file
             <span class="codefrag">content/xdocs/book.xml</span> being read. This document is then run
             through the <span class="codefrag">book2menu</span> stylesheet (which produces an HTML fragment
-            comprising the site navigation, the red area in the image above.</li> 
+            comprising the site navigation, the red area in the image above.</li>
           
 <li>The second 'sub-request' is matched by the <span class="codefrag">body-**.xml</span>
             pattern. This results in the file <span class="codefrag">index.xml</span> being transformed
             using the <span class="codefrag">document2html</span> stylesheet, the yellow area in the
-            screenshot.</li> 
+            screenshot.</li>
         
-</ol> 
+</ol>
         
 <li>The aggregation result is then transformed using the
           <span class="codefrag">site2xhtml</span> stylesheet which adds the cherries to the cake. The
-          grey zone.</li> 
+          grey zone.</li>
       
 </ol>
-<p>These <em>skin-specific</em> stylesheets are located in
-        <span class="codefrag">src/documentation/skins/&lt;nameoftheskin&gt;/xslt/html</span>, so if you
-        want to add your own skin, this is the place to be. Apart from these, there
-        exist a number of other stylesheets located in
-        <span class="codefrag">src/documentation/library/xslt</span> and more importantly:</p>
-<ul> 
+<p>
+        These <em>skin-specific</em> stylesheets are located in
+        <span class="codefrag">src/documentation/skins/&lt;nameoftheskin&gt;/xslt/html</span>, so
+        if you want to add your own skin, this is the place to be. Apart from
+        these, there exist a number of other stylesheets located in
+        <span class="codefrag">src/documentation/library/xslt</span> and more importantly:
+      </p>
+<ul>
         
 <li>
 <span class="codefrag">faq2document</span>: transforms documents following the
-          <span class="codefrag">faq-v11</span> DTD to <span class="codefrag">document-v11</span> grammar</li> 
+          <span class="codefrag">faq-v11</span> DTD to <span class="codefrag">document-v11</span> grammar</li>
         
 <li>
 <span class="codefrag">howto2document</span>: transforms documents following the
-          <span class="codefrag">howto-v10</span> DTD to <span class="codefrag">document-v11</span> grammar</li> 
+          <span class="codefrag">howto-v10</span> DTD to <span class="codefrag">document-v11</span> grammar</li>
         
-<li>and some others.</li> 
+<li>and some others.</li>
       
 </ul>
-<p>As you see, all documents, regardless of their original DTD, are
+<p>
+        As you see, all documents, regardless of their original DTD, are
         transformed to the <span class="codefrag">document</span> DTD prior to rendition. This
-        alleviates the burden of adding new skins to implementing 3 simple stylesheets:
-        <span class="codefrag">book2menu</span>, <span class="codefrag">document2html</span> and
-        <span class="codefrag">site2xhtml</span>.</p>
-</div> 
+        alleviates the burden of adding new skins to implementing 3 simple
+        stylesheets: <span class="codefrag">book2menu</span>, <span class="codefrag">document2html</span> and
+        <span class="codefrag">site2xhtml</span>.
+      </p>
+</div>
     
 <a name="N102CC"></a><a name="Where+we+are+heading+to"></a>
 <h2 class="underlined_10">Where we are heading to</h2>
 <div class="section">
-<p>We have been explaining so far where we are now and what already
-        works. The purpose of this document however is to attract newcomers and entice
-        them to start contributing to Forrest. We have a decent generation system for
-        static project documentation, a nice set of skins and some simple but effective
-        DTDs. Our goals however are much more ambitious: we have compiled a
-        <a href="../docs_0_80/dreams.html">dream list</a> that lists most of them.</p>
-<ul> 
+<p>
+        We have been explaining so far where we are now and what already works.
+        The purpose of this document however is to attract newcomers and entice
+        them to start contributing to Forrest. We have a decent generation
+        system for static project documentation, a nice set of skins and some
+        simple but effective DTDs. Our goals however are much more ambitious: we
+        have compiled a <a href="../docs_0_80/dreams.html">dream list</a> that lists
+        most of them.
+      </p>
+<ul>
         
 <li>Our first ambition is to support the project site generation and
           maintenance of other Apache projects in an automated manner, starting with our
           own website as a showcase. We are in the process of setting up the shell
           scripts and Ant tasks for this and will assist projects transitioning to
-          Forrest.</li> 
+          Forrest.</li>
         
 <li>As it is often the case with collaborative open source development,
           there is no formal planning nor task assignments, and we will stick to that
-          practice. We have however compiled a number of functional work areas:</li> 
+          practice. We have however compiled a number of functional work areas:</li>
       
 </ul>
-<table class="ForrestTable" cellspacing="1" cellpadding="4"> 
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">URI Namespace Management</th> 
+<th colspan="1" rowspan="1">URI Namespace Management</th>
           <td colspan="1" rowspan="1">Forrest will offer access to a broad set of information resources
             using durable URIs: please review
             <a href="http://www.w3.org/Provider/Style/URI.html">Tim Berners-Lee</a>'s
             and <a href="http://www.useit.com/alertbox/990321.html">Jakob
               Nielsen</a>'s opinion on this. We need a unified URI Namespace management
-            approach, bearing in mind mirroring and 'hackable' URIs.</td> 
+            approach, bearing in mind mirroring and 'hackable' URIs.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Skins</th> 
+<th colspan="1" rowspan="1">Skins</th>
           <td colspan="1" rowspan="1">We currently have a nice set of skins which should be solidified.
             Furthermore, we need some serious finetuning of the <span class="codefrag">forrest-site</span>
-            skin that will become the new xml.apache.org look&amp;feel.</td> 
+            skin that will become the new xml.apache.org look&amp;feel.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Aggregation<br>and Syndication</th> 
+<th colspan="1" rowspan="1">Aggregation<br>and Syndication</th>
           <td colspan="1" rowspan="1">We plan to aggregate on a per-project basis a number of relevant
             developer resources, such as project-related news, download statistics,
             committer bio pages (with photos!), navigable source code listings and the
             like. Some of these resources need to be made available across content
             syndication methods such as 
-            <a href="http://blogspace.com/rss/">RSS</a>.</td> 
+            <a href="http://blogspace.com/rss/">RSS</a>.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Build Management</th> 
+<th colspan="1" rowspan="1">Build Management</th>
           <td colspan="1" rowspan="1">Fool-proof automation of Forrest runs and site publication using
-            secure transfer methods and <span class="codefrag">cron</span> jobs.</td> 
+            secure transfer methods and <span class="codefrag">cron</span> jobs.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Document Types</th> 
+<th colspan="1" rowspan="1">Document Types</th>
           <td colspan="1" rowspan="1">Expanding the collection of DTDs, documenting them using formal
-            How-Tos and example documents.</td> 
+            How-Tos and example documents.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">xml.apache.org</th> 
+<th colspan="1" rowspan="1">xml.apache.org</th>
           <td colspan="1" rowspan="1">Formation of an editorial team for the main xml.apache.org website,
             working in close collaboration with the
             <a href="http://xml.apache.org/whoweare.html">PMC</a> and the different
-            sub-project leads.</td> 
+            sub-project leads.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Integration</th> 
+<th colspan="1" rowspan="1">Integration</th>
           <td colspan="1" rowspan="1"> Forrest needs to coexist with existing cross-project collaboration
             tools such as <a href="http://gump.apache.org/">Gump</a>,
             <a href="http://scarab.tigris.org/">Scarab</a> and
             <a href="http://eyebrowse.tigris.org/">Eyebrowse</a> and provide
-            integrated access to them.</td> 
+            integrated access to them.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Authoring support</th> 
+<th colspan="1" rowspan="1">Authoring support</th>
           <td colspan="1" rowspan="1">Supporting document authors with preconfigured XML editing
-            solutions.</td> 
+            solutions.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Content Management</th> 
+<th colspan="1" rowspan="1">Content Management</th>
           <td colspan="1" rowspan="1">Establish an efficient content management practice, supporting
             versioning, remote access and work flow, presumably supported by a CMS such as
-            <a href="http://jakarta.apache.org/slide/">Slide</a>.</td> 
+            <a href="http://jakarta.apache.org/slide/">Slide</a>.</td>
         
-</tr> 
+</tr>
         
-<tr> 
+<tr>
           
-<th colspan="1" rowspan="1">Information Accessibility</th> 
+<th colspan="1" rowspan="1">Information Accessibility</th>
           <td colspan="1" rowspan="1">We need to be accessible using a wide range of browsing devices
             operating on different platforms. Special care should be taken to support the
-            <a href="http://www.w3.org/WAI/">WAI</a> guidelines.</td> 
+            <a href="http://www.w3.org/WAI/">WAI</a> guidelines.</td>
         
-</tr> 
+</tr>
       
 </table>
-</div> 
+</div>
     
 <a name="N10394"></a><a name="Where+you+can+help"></a>
 <h2 class="underlined_10">Where you can help</h2>
 <div class="section">
-<p>By now, you should have a better understanding of Forrest (if that is
-        not the case, consider contributing clarifications to this document).
-        We need more people to get the job done.
-        Forrest is a fun project to work on, and there is something in it for
-        all of us:</p>
-<ul> 
+<p>
+        By now, you should have a better understanding of Forrest (if that is
+        not the case, consider contributing clarifications to this document). We
+        need more people to get the job done. Forrest is a fun project to work
+        on, and there is something in it for all of us:
+      </p>
+<ul>
         
 <li>XML docheads with skills for document analysis and DTDs
-          development</li> 
+          development</li>
         
 <li>Cocoon developers creating custom Cocoon components connecting
-          Forrest with external resources</li> 
+          Forrest with external resources</li>
         
 <li>Graphical whizzkids for true cross-browser HTML/CSS
-          development</li> 
+          development</li>
         
 <li>People who believe XSLT will bring peace to earth (it will, but
-          keep that quiet)</li> 
+          keep that quiet)</li>
         
-<li>Ant wizards able to compete with Nicola and Stefan</li> 
+<li>Ant wizards able to compete with Nicola and Stefan</li>
         
-<li>Unix shell scripting / CVS / cron gurus, preferably bearded</li> 
+<li>Unix shell scripting / CVS / cron gurus, preferably bearded</li>
       
 </ul>
-<p>Just drop us a line at 
-       the forrest-dev <a href="../mail-lists.html">mail list</a>.
+<p>
+        Just drop us a line at the forrest-dev <a href="../mail-lists.html">mail
+        list</a>.
       </p>
-</div> 
+</div>
     
-<p>That is all, folks.</p> 
+<p>
+      That is all, folks.
+    </p>
     
-<table class="ForrestTable" cellspacing="1" cellpadding="4"> 
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
       
-<tr> 
+<tr>
         
-<th colspan="1" rowspan="1">Revision history</th> 
-        <th colspan="1" rowspan="1"></th> 
+<th colspan="1" rowspan="1">Revision history</th>
+        <th colspan="1" rowspan="1"></th>
       
-</tr> 
+</tr>
       
-<tr> 
+<tr>
         
-<td colspan="1" rowspan="1">2002-05-22</td> 
-        <td colspan="1" rowspan="1">Initial version, Steven Noels, stevenn.at.apache.org</td> 
+<td colspan="1" rowspan="1">2002-05-22</td>
+        <td colspan="1" rowspan="1">Initial version, Steven Noels, stevenn.at.apache.org</td>
       
 </tr>
       
@@ -1048,16 +1139,16 @@
         <td colspan="1" rowspan="1">Various rephrasings and clarifications thanks to Ross Gardler,
           ross.at.saafe.org</td>
       
-</tr> 
+</tr>
       
 <tr>
         
 <td colspan="1" rowspan="1">2002-09-23</td>
         <td colspan="1" rowspan="1">Updated the directory outline (jefft.at.apache.org)</td>
       
-</tr> 
+</tr>
     
-</table> 
+</table>
   
 </div>
 <!--+

Modified: forrest/site/docs_0_80/primer.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/primer.pdf?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
Binary files - no diff available.

Modified: forrest/site/docs_0_80/project-sitemap.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/project-sitemap.html?view=diff&rev=527020&r1=527019&r2=527020
==============================================================================
--- forrest/site/docs_0_80/project-sitemap.html (original)
+++ forrest/site/docs_0_80/project-sitemap.html Mon Apr  9 21:44:00 2007
@@ -337,51 +337,57 @@
 </ul>
 </li>
 </ul>
-</div> 
+</div>
     
 <a name="N1000D"></a><a name="introduction"></a>
 <h2 class="underlined_10">Introduction</h2>
 <div class="section">
-<p>After Forrest 0.6 it is now possible for projects to intercept
-      the core sitemaps, without needing to copy the main sitemaps and keep
-      them synchonised. This will enable hassle-free update to
-      future Forrest versions.</p>
+<p>
+        After Forrest 0.6 it is now possible for projects to intercept the core
+        sitemaps, without needing to copy the main sitemaps and keep them
+        synchonised. This will enable hassle-free update to future Forrest
+        versions.
+      </p>
 <div class="note">
 <div class="label">Note</div>
 <div class="content">
-        We advise you to spend time to understand the Apache Cocoon sitemap.
-        See <a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">Cocoon sitemap</a>
-        and <a href="http://cocoon.apache.org/2.1/userdocs/concepts/">Cocoon concepts</a>
-        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
-         <a href="../docs_0_80/sitemap-ref.html">Sitemap Reference</a> for a tour of the
-        default sitemap.
+        We advise you to spend time to understand the Apache Cocoon sitemap. See
+        <a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">Cocoon sitemap</a> and
+        <a href="http://cocoon.apache.org/2.1/userdocs/concepts/">Cocoon concepts</a> 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 <a href="../docs_0_80/sitemap-ref.html">Sitemap Reference</a>
+        for a tour of the default sitemap.
       </div>
 </div>
 </div>
-
     
 <a name="N10029"></a><a name="how"></a>
 <h2 class="underlined_10">How does it work?</h2>
 <div class="section">
-<p>If a project has a <span class="codefrag">sitemap.xmap</span> file in it's 
-      documentation dir, that gets mounted automatically by Forrest and 
-      becomes part of the processing: it is a preprocessing step, and 
-      is the first one to handle the request. Because of this it can 
-      serve any file directly. If it does not want to 
-      serve a file, it can simply not match the URL and Forrest will take 
-      care of it as usual.</p>
-<p>The cool thing is that if that pipeline serves an xml representation, 
-      Forrest will provide a skinned version of it.</p>
-<p>So if the project sitemap matches test.xml and transforms that to a
-      correctly structured Forrest intermediate "document-v*",
-      then the user will see test.html fully rendered by Forrest.</p>
-<p>Of course, to resolve the directories in your sitemap it is important 
-      to use the 'project:' and 'forrest:' variables to prevent any possible 
-      issue in the future.</p>
+<p>
+        If a project has a <span class="codefrag">sitemap.xmap</span> file in it's documentation
+        dir, that gets mounted automatically by Forrest and becomes part of the
+        processing: it is a preprocessing step, and is the first one to handle
+        the request. Because of this it can serve any file directly. If it does
+        not want to serve a file, it can simply not match the URL and Forrest
+        will take care of it as usual.
+      </p>
+<p>
+        The cool thing is that if that pipeline serves an xml representation,
+        Forrest will provide a skinned version of it.
+      </p>
+<p>
+        So if the project sitemap matches test.xml and transforms that to a
+        correctly structured Forrest intermediate "document-v*", then the user
+        will see test.html fully rendered by Forrest.
+      </p>
+<p>
+        Of course, to resolve the directories in your sitemap it is important to
+        use the 'project:' and 'forrest:' variables to prevent any possible
+        issue in the future.
+      </p>
 </div>
-
     
 <a name="N1003F"></a><a name="examples"></a>
 <h2 class="underlined_10">Example uses of this technique</h2>
@@ -389,10 +395,9 @@
 <a name="N10045"></a><a name="download"></a>
 <h3 class="underlined_5">Adding a new content type</h3>
 <p>
-          See the section "Advanced customizations: sitemap.xmap" in
-          the <a href="../docs_0_80/your-project.html">Using Forrest</a> document
-          and then follow the
-          <a href="../docs_0_80/your-project.html#adding_new_content_type">Example:
+          See the section "Advanced customizations: sitemap.xmap" in the
+          <a href="../docs_0_80/your-project.html">Using Forrest</a> document and then
+          follow the <a href="../docs_0_80/your-project.html#adding_new_content_type">Example:
           Adding a new content type</a>.
         </p>
 </div>



Mime
View raw message