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 [16/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_...

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/searching.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/searching.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/searching.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/searching.xml Mon Apr  9 20:48:52 2007
@@ -21,106 +21,129 @@
     <title>Searching Forrest-built documentation</title>
   </header>
   <body>
-    <p>Forrest provides you with two distinct options for making your
-      documentation available through full-text search:</p>
+    <p>
+      Forrest provides you with two distinct options for making your
+      documentation available through full-text search:
+    </p>
     <ul>
       <li>Google SiteSearch,</li>
       <li>Built-in search using Apache Lucene.</li>
     </ul>
-    <p>Both options have their advantages and disadvantages. The
-      purpose of this document is to outline them, and to help you
-      make a choice. This document also tells you how to disable
-      full-text search completely, if you so choose.</p>
+    <p>
+      Both options have their advantages and disadvantages. The purpose of this
+      document is to outline them, and to help you make a choice. This document
+      also tells you how to disable full-text search completely, if you so
+      choose.
+    </p>
     <section>
       <title>Google SiteSearch</title>
-      <p>Forrest provides a simple interface to the Google search
-	engine. It invokes Google Advanced Search and limits the search
-	scope to the domain of your choice. Since the actual search
-	functionality is implemented on Google's end, you do not need
-	any additional capability on your Forrest server (which may
-	well be a simple static web server serving content generated
-	with <code>forrest site</code>).</p>
-      <p>To use Google SiteSearch in your Forrest application, open
-	your <code>skinconf.xml</code> file. By default this file is
-	in the <code>src/documentation</code> subdirectory of your
-	Forrest repository root. Find the <code>&lt;search&gt;</code>
-	element; it should be near the top of the file. If the element
-	does not exist, create it below the
-	<code>&lt;skinconfig&gt;</code> opening tag. If there is any
-	attribute named <code>provider</code>, remove it. The element
-	should look similar to this:</p>
-      <source><![CDATA[<search name="MyProject"
-	domain="myproject.com"/>]]></source>
-      <p>Then, build your Forrest documentation and open it using your
-	favorite web browser. You are now invited to peruse the search
-	box (most skins render this in the top-right corner). Google's
-	search results will be displayed in a new browser window.</p>
-      <p>Needless to say, for this to work your content must be
-	accessible to Google's indexing robot. It can't be stored on a
-	server which is only locally accessible, or which requires
-	authentication. In addition, the content index is created and
-	updated at a time of Google's choosing. However, the search is fast
-	and search precision is usually excellent. So if your
-	Forrest content is placed on a busy, popular public web
-	server, Google search is probably the best choice.</p>
+      <p>
+        Forrest provides a simple interface to the Google search engine. It
+        invokes Google Advanced Search and limits the search scope to the domain
+        of your choice. Since the actual search functionality is implemented on
+        Google's end, you do not need any additional capability on your Forrest
+        server (which may well be a simple static web server serving content
+        generated with <code>forrest site</code>).
+      </p>
+      <p>
+        To use Google SiteSearch in your Forrest application, open your
+        <code>skinconf.xml</code> file. By default this file is in the
+        <code>src/documentation</code> subdirectory of your Forrest repository
+        root. Find the <code>&lt;search&gt;</code> element; it should be near
+        the top of the file. If the element does not exist, create it below the
+        <code>&lt;skinconfig&gt;</code> opening tag. If there is any attribute
+        named <code>provider</code>, remove it. The element should look similar
+        to this:
+      </p>
+      <source>
+<![CDATA[<search name="MyProject"
+	domain="myproject.com"/>]]>
+      </source>
+      <p>
+        Then, build your Forrest documentation and open it using your favorite
+        web browser. You are now invited to peruse the search box (most skins
+        render this in the top-right corner). Google's search results will be
+        displayed in a new browser window.
+      </p>
+      <p>
+        Needless to say, for this to work your content must be accessible to
+        Google's indexing robot. It can't be stored on a server which is only
+        locally accessible, or which requires authentication. In addition, the
+        content index is created and updated at a time of Google's choosing.
+        However, the search is fast and search precision is usually excellent.
+        So if your Forrest content is placed on a busy, popular public web
+        server, Google search is probably the best choice.
+      </p>
     </section>
     <section>
       <title>Lucene search</title>
-      <p>Lucene is a high-performance, full-text search engine built
-	entirely in Java. To use Lucene-based search with your Forrest
-	documentation, you will need to run Forrest in a Java servlet
-	environment (such as Tomcat or Jetty). Lucene-based searching
-	will not work in a static site generated with the '<code>forrest
-	  site</code>' command.</p>
-      <p>In order to enable Lucene-based full-text search in your
-	Forrest application, you must first edit your
-	<code>skinconf.xml</code> file. Locate the
-	<code>&lt;search&gt;</code> element. If the element does not
-	exist, insert it right underneath the
-	<code>&lt;skinconfig&gt;</code> opening tag. Add an attribute
-	named <code>provider</code> with a value of
-	<code>lucene</code>, so that the element looks similar to
-	this:</p>
-      <source><![CDATA[<search name="MyProject" domain="myproject.com"
-	provider="lucene"/>]]></source>
-      <p>Next, create and run your Forrest webapp. This may mean
-	simply invoking <code>forrest run</code>, or building and
-	bundling a servlet webapp (with <code>forrest webapp</code>),
-	and then deploying it to your servlet container.</p>
-      <p>You can now build a Lucene search index by pointing your web
-	browser at
-	<code>http://localhost:8888/lucene-update.html</code>. This
-	generates the search index and provides some information about
-	the index generation process.</p>
-      <note>You may have to substitute a different hostname, port, or
-	path, depending on your configuration. The path mentioned here
-	reflects Forrest's default settings when invoked as
-	<code>forrest run</code>.</note>
-      <p>Now you can utilize the full-text search box, located in the
-	top-right corner of the rendered Forrest pages. Search results
-	will be displayed in the same browser window and will look
-	remarkably similar to the rest of your Forrest documents.</p>
-      <p>Unlike with Google SiteSearch, the indexing information
-	retrieved by Lucene is stored on your own server, access to
-	which you may limit to users in your own organization.
-	Likewise, you may update or recreate the Lucene index at any
-	time and at your own discretion. So if you aren't making your
-	Forrest-built documentation publicly available, and you're
-	able to run Forrest on a Java-enabled web server, Lucene
-	search is probably right for you.</p>
+      <p>
+        Lucene is a high-performance, full-text search engine built entirely in
+        Java. To use Lucene-based search with your Forrest documentation, you
+        will need to run Forrest in a Java servlet environment (such as Tomcat
+        or Jetty). Lucene-based searching will not work in a static site
+        generated with the '<code>forrest site</code>' command.
+      </p>
+      <p>
+        In order to enable Lucene-based full-text search in your Forrest
+        application, you must first edit your <code>skinconf.xml</code> file.
+        Locate the <code>&lt;search&gt;</code> element. If the element does not
+        exist, insert it right underneath the <code>&lt;skinconfig&gt;</code>
+        opening tag. Add an attribute named <code>provider</code> with a value
+        of <code>lucene</code>, so that the element looks similar to this:
+      </p>
+      <source>
+<![CDATA[<search name="MyProject" domain="myproject.com"
+	provider="lucene"/>]]>
+      </source>
+      <p>
+        Next, create and run your Forrest webapp. This may mean simply invoking
+        <code>forrest run</code>, or building and bundling a servlet webapp
+        (with <code>forrest webapp</code>), and then deploying it to your
+        servlet container.
+      </p>
+      <p>
+        You can now build a Lucene search index by pointing your web browser at
+        <code>http://localhost:8888/lucene-update.html</code>. This generates
+        the search index and provides some information about the index
+        generation process.
+      </p>
+      <note>
+        You may have to substitute a different hostname, port, or path,
+        depending on your configuration. The path mentioned here reflects
+        Forrest's default settings when invoked as <code>forrest run</code>.
+      </note>
+      <p>
+        Now you can utilize the full-text search box, located in the top-right
+        corner of the rendered Forrest pages. Search results will be displayed
+        in the same browser window and will look remarkably similar to the rest
+        of your Forrest documents.
+      </p>
+      <p>
+        Unlike with Google SiteSearch, the indexing information retrieved by
+        Lucene is stored on your own server, access to which you may limit to
+        users in your own organization. Likewise, you may update or recreate the
+        Lucene index at any time and at your own discretion. So if you aren't
+        making your Forrest-built documentation publicly available, and you're
+        able to run Forrest on a Java-enabled web server, Lucene search is
+        probably right for you.
+      </p>
     </section>
     <section>
       <title>Disabling full-text search</title>
-      <p>If you are convinced your users don't need any full-text
-	search capability whatsoever, you may disallow displaying the
-	search box entirely. You may also wish to do so if you're
-	keeping Forrest-built content on a restricted server (meaning
-	you can't use Google), while at the same time not having any
-	usable servlet-capable web server at your disposal (meaning
-	you can't use Lucene, either).</p>
-      <p>To disable full-text search completely, open the
-	<code>skinconf.xml</code> file and remove (or comment out) the
-	entire <code>&lt;search&gt;</code> element.</p>
+      <p>
+        If you are convinced your users don't need any full-text search
+        capability whatsoever, you may disallow displaying the search box
+        entirely. You may also wish to do so if you're keeping Forrest-built
+        content on a restricted server (meaning you can't use Google), while at
+        the same time not having any usable servlet-capable web server at your
+        disposal (meaning you can't use Lucene, either).
+      </p>
+      <p>
+        To disable full-text search completely, open the
+        <code>skinconf.xml</code> file and remove (or comment out) the entire
+        <code>&lt;search&gt;</code> element.
+      </p>
     </section>
   </body>
 </document>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/sitemap-ref.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/sitemap-ref.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/sitemap-ref.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/sitemap-ref.xml Mon Apr  9 20:48:52 2007
@@ -19,81 +19,77 @@
 <!ENTITY s '<code>site.xml</code>'>
 <!ENTITY linkrewriter '<link href="#linkrewriting_impl">linkrewriter</link>'>
 ]>
-
 <document>
   <header>
     <title>Forrest Sitemap Reference</title>
   </header>
   <body>
     <p>
-      Technically, Forrest can be thought of as a 
-      <link href="ext:cocoon">Cocoon</link> distribution that has been stripped down
-      and optimized for people with simple site publishing needs.  Central to
-      Cocoon, and hence Forrest, is the <strong>sitemap</strong>.  The sitemap
+      Technically, Forrest can be thought of as a
+      <link href="ext:cocoon">Cocoon</link> distribution that has been stripped
+      down and optimized for people with simple site publishing needs. Central
+      to Cocoon, and hence Forrest, is the <strong>sitemap</strong>. The sitemap
       defines the site's URI space (what pages are available), and how each page
-      is constructed.  Understanding the sitemap is the key to understanding
+      is constructed. Understanding the sitemap is the key to understanding
       Forrest.
     </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. It is also necessary to understand
-      the "**" and "*" pattern matching and replacements. See the email thread:
-      "Re: explain sitemap matches and pass parameters to transformers"
+      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. It is also necessary to understand the "**" and
+      "*" pattern matching and replacements. See the email thread: "Re: explain
+      sitemap matches and pass parameters to transformers"
       <link href="http://issues.apache.org/jira/browse/FOR-874">FOR-874</link>.
     </note>
     <p>
-      This document provides an overview of the special sitemap which
-      is used at the core of Apache Forrest.
+      This document provides an overview of the special sitemap which is used at
+      the core of Apache Forrest.
     </p>
-
     <warning>
       The example sitemap fragments might be out-of-date because since this
       document was written, the core sitemaps in main/webapp/ have changed and
-      some of the specialised processing has moved to plugins.
-      View your source sitemaps when reading this document.
-      (See <link href="https://issues.apache.org/jira/browse/FOR-922">FOR-922</link>.)
+      some of the specialised processing has moved to plugins. View your source
+      sitemaps when reading this document. (See
+      <link href="https://issues.apache.org/jira/browse/FOR-922">FOR-922</link>.)
     </warning>
-
     <section id="getting_started">
       <title>Getting started</title>
       <p>
-        Forrest's sitemap comprises the multiple $FORREST_HOME/main/webapp/*.xmap files.
-        The main one is <strong>sitemap.xmap</strong> which delegates to others,
-        including to sitemaps in the various <link href="site:plugins/infrastructure">plugins</link>.
+        Forrest's sitemap comprises the multiple
+        $FORREST_HOME/main/webapp/*.xmap files. The main one is
+        <strong>sitemap.xmap</strong> which delegates to others, including to
+        sitemaps in the various
+        <link href="site:plugins/infrastructure">plugins</link>.
       </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). Any match that
-        is not handled, passes through to be handled by the default Forrest
-        sitemaps - obviously extremely powerful. The capability is described
-        in 
+        <code>${project.sitemap-dir}</code> points to). 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:project-sitemap">Using project sitemaps</link>".
       </p>
-
       <p>
         Another way to experiment with the sitemap is to do '<code>forrest
         run</code>' on a Forrest-using site. Making changes to the core
-        <code>*.xmap</code> files will now be immediately effective
-        at <code>http://localhost:8888/</code>
+        <code>*.xmap</code> files will now be immediately effective at
+        <code>http://localhost:8888/</code>
       </p>
     </section>
-
     <section id="overview">
       <title>Sitemap Overview</title>
       <p>
-        Forrest's sitemap is divided both physically and logically.  The most
-        obvious is the physical separation.  There are a number of separate
-        *.xmap files, each defining pipelines for a functional area.  Each *.xmap
-        file has its purpose documented in comments at the top.  Here is a brief
+        Forrest's sitemap is divided both physically and logically. The most
+        obvious is the physical separation. There are a number of separate
+        *.xmap files, each defining pipelines for a functional area. Each *.xmap
+        file has its purpose documented in comments at the top. Here is a brief
         overview of the files, in order of importance.
       </p>
       <table>
         <tr>
-          <th><strong>sitemap.xmap</strong></th>
+          <th><strong>sitemap.xmap</strong>
+          </th>
           <td>Primary sitemap file, which delegates responsibility for serving
             certain URIs to the others (technically called sub-sitemaps).  More
             about the structure of this file later.</td>
@@ -171,8 +167,7 @@
         </tr>
       </table>
     </section>
-
-    <!--
+<!--
     <section>
       <title>Logical structure</title>
       <p>There are a few major groups of sitemap pipelines</p>
@@ -183,33 +178,31 @@
       </dl>
     </section>
     -->
-
     <section id="source_pipelines">
       <title>Source pipelines (**.xml)</title>
       <p>
         Most *.xmap files (forrest, aggregate, faq, status, issues, revisions,
-        dtd) define Source pipelines.  Source pipelines define the content
-        (body) XML for site pages.  The input XML format can be any format
+        dtd) define Source pipelines. Source pipelines define the content (body)
+        XML for site pages. The input XML format can be any format
         (document-v13, Docbook, RSS, FAQ, Howto) and from any source (local or
-        remote).  The output format is always Forrest's intermediate "document-v13"
-        format.
+        remote). The output format is always Forrest's intermediate
+        "document-v13" format.
       </p>
       <p>
-        Source pipelines always have a "<code>.xml</code>" extension.
-        Thus, 
+        Source pipelines always have a "<code>.xml</code>" extension. Thus,
         <link href="index.xml">index.xml</link> gives you the XML source for the
-        index page.  Likewise, <link href="faq.xml">faq.xml</link> gives you XML
-        for the FAQ (transformed from FAQ syntax), and 
-        <link href="changes.xml">changes.xml</link> returns XML from the status.xml file.
-        Take any page, and replace its extension (<code>.html</code> or
-        <code>.pdf</code>) with <code>.xml</code> and you'll have the Source
-        XML.
+        index page. Likewise, <link href="faq.xml">faq.xml</link> gives you XML
+        for the FAQ (transformed from FAQ syntax), and
+        <link href="changes.xml">changes.xml</link> returns XML from the
+        status.xml file. Take any page, and replace its extension
+        (<code>.html</code> or <code>.pdf</code>) with <code>.xml</code> and
+        you'll have the Source XML.
       </p>
       <p>
         This is quite powerful, because we now have an abstraction layer, or
         "virtual filesystem", on which the rest of Forrest's sitemap can build.
         Subsequent layers don't need to care whether the XML was obtained
-        locally or remotely, or from what format.  Wikis, RSS, FAQs and Docbook
+        locally or remotely, or from what format. Wikis, RSS, FAQs and Docbook
         files are all processed identically from here on.
       </p>
       <source>
@@ -228,24 +221,30 @@
         <p>
           Most of the usual Source pipelines are defined in
           <code>forrest.xmap</code> which is the default (fallback) handler for
-          <code>**.xml</code> pages. The forrest.xmap uses the 
-          <link href="site:cap">SourceTypeAction</link> to determine the type of XML
-          it is processing, and converts it to document-v13 if necessary.
-        </p>
-        <p>For instance, say we are rendering <link href="site:write-howto">a
-            Howto document</link> called "howto-howto.xml".  It contains this DOCTYPE
-          declaration:</p>
+          <code>**.xml</code> pages. The forrest.xmap uses the
+          <link href="site:cap">SourceTypeAction</link> to determine the type of
+          XML it is processing, and converts it to document-v13 if necessary.
+        </p>
+        <p>
+          For instance, say we are rendering <link href="site:write-howto">a
+          Howto document</link> called "howto-howto.xml". It contains this
+          DOCTYPE declaration:
+        </p>
         <source>
 &lt;!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V1.3//EN"
   "http://forrest.apache.org/dtd/howto-v13.dtd"></source>
-        <p>The SourceTypeAction sees this, and applies this transform to get it
-          to document-v13:</p>
-        <source><![CDATA[
+        <p>
+          The SourceTypeAction sees this, and applies this transform to get it
+          to document-v13:
+        </p>
+        <source>
+<![CDATA[
           <map:when test="howto-v13">
             <map:transform src="{forrest:forrest.stylesheets}/howto-to-document.xsl" />
           </map:when>
-          ]]></source>
-          <!--
+          ]]>
+        </source>
+<!--
     if we link to an intermediate .xml file, the CLI crawler tries
     to fetch the @hrefs from it but they still have site: in them 
     which causes it to break
@@ -258,11 +257,14 @@
       </section>
       <section id="other_source">
         <title>Other source pipelines</title>
-        <p>As mentioned above, all non-core Source pipelines are distributed in
-          independent <code>*.xmap</code> files.  There is a block of
+        <p>
+          As mentioned above, all non-core Source pipelines are distributed in
+          independent <code>*.xmap</code> files. There is a block of
           <code>sitemap.xmap</code> which simply delegates certain requests to
-          these subsitemaps:</p>
-        <source><![CDATA[
+          these subsitemaps:
+        </p>
+        <source>
+<![CDATA[
       <!-- Body content -->
       <map:match pattern="**.xml">
         <map:match pattern="changes.xml">
@@ -289,36 +291,43 @@
           <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
         </map:match>
         ....
-        ....]]></source>
+        ....]]>
+        </source>
         <section id="late_binding_pipelines">
           <title>Late-binding pipelines</title>
           <p>
             One point of interest here is that the sub-sitemap is often not
             specific about which URLs it handles, and relies on the caller (the
-            section listed above) to only pass relevant requests to it.  We term
-            this "binding a URL" to a pipeline.</p>
-          <p>For instance, the main pipeline in <code>faq.xmap</code> matches
+            section listed above) to only pass relevant requests to it. We term
+            this "binding a URL" to a pipeline.
+          </p>
+          <p>
+            For instance, the main pipeline in <code>faq.xmap</code> matches
             <code>**.xml</code>, but only <code>**faq.xml</code> requests are
-            sent to it.</p>
-          <p>This "late binding" is useful, because the whole URL space is
+            sent to it.
+          </p>
+          <p>
+            This "late binding" is useful, because the whole URL space is
             managed in <code>sitemap.xmap</code> and not spread over lots of
-            *.xmap files.  For instance, say you wish all <code>*.xml</code>
-            inside a "<code>faq/</code>" directory to be processed as FAQs.  Just
+            *.xmap files. For instance, say you wish all <code>*.xml</code>
+            inside a "<code>faq/</code>" directory to be processed as FAQs. Just
             override <code>sitemap.xmap</code> and redefine the relevant source
-            matcher:</p>
-          <source><![CDATA[
+            matcher:
+          </p>
+          <source>
+<![CDATA[
         <map:match pattern="**faq.xml">
           <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
-        </map:match>]]></source>
+        </map:match>]]>
+          </source>
         </section>
       </section>
     </section>
-
     <section id="output_pipelines">
       <title>Output pipelines</title>
       <p>
         To recap, we now have a <code>*.xml</code> pipeline defined for each
-        page in the site, emitting standardized XML.  These pipeline definitions
+        page in the site, emitting standardized XML. These pipeline definitions
         are located in various *.xmap files, notably forrest.xmap
       </p>
       <p>
@@ -328,15 +337,17 @@
       <section id="pdf">
         <title>PDF output</title>
         <note>
-          PDF is now generated via the org.apache.forrest.plugin.output.pdf plugin.
+          PDF is now generated via the org.apache.forrest.plugin.output.pdf
+          plugin.
         </note>
         <p>
           Easiest case first; PDFs don't require menus or headers, so we can
           simply transform our intermediate format into XSL:FO, and from there
-          to PDF.  This is done by the following matcher in
+          to PDF. This is done by the following matcher in
           <code>output.xmap</code> from the pdf plugin ...
         </p>
-        <source><![CDATA[
+        <source>
+<![CDATA[
 1   <map:match type="regexp" pattern="^(.*?)([^/]*).pdf$">
 2     <map:generate src="cocoon:/{1}{2}.xml"/>
 3     <map:transform type="xinclude"/>
@@ -347,7 +358,8 @@
 8     </map:transform>
 9     <map:serialize type="fo2pdf"/>
 10  </map:match>
-        ]]></source>
+        ]]>
+        </source>
         <ol>
           <li>The first line uses a matching regexp to break the URL into
             directory <code>(.*?)</code> and filename
@@ -359,14 +371,18 @@
           <li>and finally apply the document-to-fo.xsl stylesheet, to generate
             XSL:FO XML.</li>
         </ol>
-        <p>Lastly, we generate a PDF using the fo2pdf serializer.</p>
+        <p>
+          Lastly, we generate a PDF using the fo2pdf serializer.
+        </p>
       </section>
       <section id="html">
         <title>HTML output</title>
-        <p>Generating HTML pages is more complicated, because we have to merge
+        <p>
+          Generating HTML pages is more complicated, because we have to merge
           the page body with a menu and tabs, and then add a header and footer.
-          Here is the <code>*.html</code> matcher in
-          <code>sitemap.xmap</code> ...</p>
+          Here is the <code>*.html</code> matcher in <code>sitemap.xmap</code>
+          ...
+        </p>
         <source>
           &lt;map:match pattern="*.html"&gt;
             &lt;map:aggregate element="site"&gt;
@@ -383,9 +399,9 @@
         <p>
           So <link href="index.html">index.html</link> is formed from
           aggregating <link href="body-index.html">body-index.html</link> and
-          <link href="menu-index.html">menu-index.html</link> and 
-          <link href="tab-index.html">tab-index.html</link> and then applying the
-          <code>site-to-xhtml.xsl</code> stylesheet to the result.
+          <link href="menu-index.html">menu-index.html</link> and
+          <link href="tab-index.html">tab-index.html</link> and then applying
+          the <code>site-to-xhtml.xsl</code> stylesheet to the result.
         </p>
         <p>
           There is a nearly identical matcher for HTML files in subdirectories:
@@ -414,8 +430,11 @@
       <title>Intermediate pipelines</title>
       <section id="body_pipeline">
         <title>Page body</title>
-        <p>Here is the matcher which generates the page body:</p>
-        <source><![CDATA[
+        <p>
+          Here is the matcher which generates the page body:
+        </p>
+        <source>
+<![CDATA[
 1   <map:match pattern="**body-*.html">
 2     <map:generate src="cocoon:/{1}{2}.xml"/>
 3     <map:transform type="idgen"/>
@@ -427,32 +446,38 @@
 9       <map:parameter name="notoc" value="false"/>
 10    </map:call>
 11  </map:match>
-          ]]></source>
+          ]]>
+        </source>
         <ol>
           <li>In our matcher pattern, {1} will be the directory (if any) and {2}
             will be the filename.</li>
           <li>First, we obtain XML content from a source pipeline</li>
-          <li>
-            <p>We then apply a custom-written
+          <li><p>
+              We then apply a custom-written
               <code>IdGeneratorTransformer</code>, which ensures that every
-              &lt;section> has an "id" attribute if one is not supplied, by generating one from the
-              &lt;title> if necessary.  For example, &lt;idgen> will
-              transform:</p>
+              &lt;section> has an "id" attribute if one is not supplied, by
+              generating one from the &lt;title> if necessary. For example,
+              &lt;idgen> will transform:
+            </p>
             <source>
               &lt;section&gt;
               &lt;title&gt;How to boil eggs&lt;/title&gt;
               ...
             </source>
-            <p>into:</p>
+            <p>
+              into:
+            </p>
             <source>
               &lt;section id="How+to+boil+eggs"&gt;
               &lt;title&gt;How to boil eggs&lt;/title&gt;
               ...
             </source>
-            <p>Later, the <code>document-to-html.xsl</code> stylesheet will create
-              an &lt;a name> element for every section, allowing this section to
-              be referred to as <code>index.html#How+to+boil+eggs</code>.</p>
-          </li>
+            <p>
+              Later, the <code>document-to-html.xsl</code> stylesheet will
+              create an &lt;a name> element for every section, allowing this
+              section to be referred to as
+              <code>index.html#How+to+boil+eggs</code>.
+            </p></li>
           <li>We then expand XInclude elements.</li>
           <li>and <link href="#linkrewriting_impl">rewrite links</link>..</li>
           <li>and then finally apply the stylesheet that generates a fragment of
@@ -462,8 +487,12 @@
       </section>
       <section id="menu_pipeline">
         <title>Page menu</title>
-        <p>In the <code>sitemap.xmap</code> file, the matcher generating HTML for the menu is:</p>
-        <source><![CDATA[
+        <p>
+          In the <code>sitemap.xmap</code> file, the matcher generating HTML for
+          the menu is:
+        </p>
+        <source>
+<![CDATA[
       <map:match pattern="**menu-*.html">
         <map:generate src="cocoon:/{1}book-{2}.html"/>
         <map:transform type="]]>&linkrewriter;<![CDATA[" src="cocoon:/{1}linkmap-{2}.html"/>
@@ -472,19 +501,26 @@
           <map:parameter name="path" value="{1}{2}.html"/>
         </map:call>
       </map:match>
-      ]]></source>
-        <p>We get XML from a "book" pipeline, 
-        <link href="#linkrewriting_impl">rewrite links</link>, and apply the
-          <code>book-to-menu.xsl</code> stylesheet to generate HTML.</p>
-        <p>How the menu XML is actually generated (the *book-*.html pipeline) is
-          sufficiently complex to require a 
-          <link href="#menu_generation_impl">section of its own</link>.</p>
+      ]]>
+        </source>
+        <p>
+          We get XML from a "book" pipeline,
+          <link href="#linkrewriting_impl">rewrite links</link>, and apply the
+          <code>book-to-menu.xsl</code> stylesheet to generate HTML.
+        </p>
+        <p>
+          How the menu XML is actually generated (the *book-*.html pipeline) is
+          sufficiently complex to require a
+          <link href="#menu_generation_impl">section of its own</link>.
+        </p>
       </section>
-
       <section id="tab_pipeline">
         <title>Page tabs</title>
-        <p>Tab generation is quite tame compared to menus:</p>
-        <source><![CDATA[
+        <p>
+          Tab generation is quite tame compared to menus:
+        </p>
+        <source>
+<![CDATA[
      <map:match pattern="**tab-*.html">
        <map:generate src="content/xdocs/tabs.xml" />
        <map:transform type="]]>&linkrewriter;<![CDATA[" src="cocoon:/{1}linkmap-{2}.html"/>
@@ -493,48 +529,57 @@
          <map:parameter name="path" value="{1}{2}.html"/>
        </map:call>
      </map:match>
-           ]]></source>
-        <p>All the smarts are in the <code>tab-to-menu.xsl</code> stylesheet, which
-          needs to choose the correct tab based on the current path.  Currently,
-          a "longest matching path" algorithm is implemented.  See the
-          <code>tab-to-menu.xsl</code> stylesheet for details.</p>
+           ]]>
+        </source>
+        <p>
+          All the smarts are in the <code>tab-to-menu.xsl</code> stylesheet,
+          which needs to choose the correct tab based on the current path.
+          Currently, a "longest matching path" algorithm is implemented. See the
+          <code>tab-to-menu.xsl</code> stylesheet for details.
+        </p>
       </section>
     </section>
-    
     <section id="resolvingResources">
       <title>Resolving Resources</title>
-      
-      <p>Many resources are resolved by the locationmap. This allow us to provide
-      many alternative locations for a file without cluttering up the
-      sitemap with multiple processing paths. We use a strict naming convention
-      to help make the sitemaps more readable. This is described in the
-      <link href="site:locationmap/namingConvention">Locationmap</link>
-      documentation.</p>
+      <p>
+        Many resources are resolved by the locationmap. This allow us to provide
+        many alternative locations for a file without cluttering up the sitemap
+        with multiple processing paths. We use a strict naming convention to
+        help make the sitemaps more readable. This is described in the
+        <link href="site:locationmap/namingConvention">Locationmap</link>
+        documentation.
+      </p>
     </section>
-
     <section id="menu_generation_impl">
       <title>Menu XML generation</title>
-      <p>The "book" pipeline is defined in <code>sitemap.xmap</code>as:</p>
-      <source><![CDATA[
+      <p>
+        The "book" pipeline is defined in <code>sitemap.xmap</code>as:
+      </p>
+      <source>
+<![CDATA[
         <map:match pattern="**book-*.html">
           <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
         </map:match>
-        ]]></source>
-      <p>Meaning that it is defined in the <code>menu.xmap</code> file.  In there we find
-        the real definition, which is quite complicated, because there are three
-        supported menu systems (see <link href="site:linking">menus and
-          linking</link>).  We will not go through the sitemap itself
-        (menu.xmap), but will instead describe the logical steps involved:</p>
+        ]]>
+      </source>
+      <p>
+        Meaning that it is defined in the <code>menu.xmap</code> file. In there
+        we find the real definition, which is quite complicated, because there
+        are three supported menu systems (see <link href="site:linking">menus
+        and linking</link>). We will not go through the sitemap itself
+        (menu.xmap), but will instead describe the logical steps involved:
+      </p>
       <ol>
         <li>Take site.xml and expand hrefs so that they are all
           root-relative.</li>
-        <li><p>Depending on the <code>forrest.menu-scheme</code> property, we
-            now apply one of the two algorithms for choosing a set of menu links
+        <li><p>
+            Depending on the <code>forrest.menu-scheme</code> property, we now
+            apply one of the two algorithms for choosing a set of menu links
             (described in <link href="site:menu_generation">menu
-              generation</link>):</p>
+            generation</link>):
+          </p>
           <ul>
-            <li>
-              <p>
+            <li><p>
                 For "@tab" menu generation, we first ensure each site.xml node
                 has a tab attribute (inherited from a parent if necessary), and
                 then pass through nodes whose tab attribute matches that of the
@@ -542,10 +587,10 @@
               </p>
               <p>
                 For example, say our current page's path is
-                <code>community/howto/index.html</code>.  In
+                <code>community/howto/index.html</code>. In
                 <code>site.xml</code> we look for the node with this
-                "<code>href</code>" and discover its "<code>tab</code>" attribute
-                value is "<code>howtos</code>".  We then prune the
+                "<code>href</code>" and discover its "<code>tab</code>"
+                attribute value is "<code>howtos</code>". We then prune the
                 <code>site.xml</code>-derived content to contain only nodes with
                 <code>tab="howtos"</code>.
               </p>
@@ -553,34 +598,38 @@
                 All this is done with XSLT, so the sitemap snippet does not
                 reveal this complexity:
               </p>
-              <source><![CDATA[
+              <source>
+<![CDATA[
 <map:transform src="resources/stylesheets/site-to-site-normalizetabs.xsl" />
 <map:transform src="resources/stylesheets/site-to-site-selectnode.xsl">
   <map:parameter name="path" value="{1}{2}"/>
 </map:transform>
-                ]]></source>
-            </li>
-            <li>
-              <p>For "directory" menu generation, we simply use an
+                ]]>
+              </source></li>
+            <li><p>
+                For "directory" menu generation, we simply use an
                 <code>XPathTransformer</code> to include only pages in the
-                current page's directory, or below:</p>
-              <source><![CDATA[
+                current page's directory, or below:
+              </p>
+              <source>
+<![CDATA[
 <map:transform type="xpath">
   <map:parameter name="include" value="//*[@href='{1}']" />
 </map:transform>
-                ]]></source>
+                ]]>
+              </source>
               <p>
-                Here, the "<code>{1}</code>" is the directory part of the current
-                page.  So if our current page is
-                <code>community/howto/index.html</code> then "<code>{1}</code>" will
-                be <code>community/howto/</code> and the transformer will
+                Here, the "<code>{1}</code>" is the directory part of the
+                current page. So if our current page is
+                <code>community/howto/index.html</code> then "<code>{1}</code>"
+                will be <code>community/howto/</code> and the transformer will
                 include all nodes in that directory.
-              </p>
-            </li>
+              </p></li>
           </ul>
-          <p>We now have a <code>site.xml</code> subset relevant to our current
-            page.</p>
-        </li>
+          <p>
+            We now have a <code>site.xml</code> subset relevant to our current
+            page.
+          </p></li>
         <li>The "<code>href</code>" nodes in this are then made relative to the
           current page.</li>
         <li>The XML is then transformed into a legacy "<code>book.xml</code>"
@@ -589,48 +638,51 @@
           <code>**book-*.html</code>).</li>
       </ol>
     </section>
-
     <section id="linkrewriting_impl">
       <title>Link rewriting</title>
-      <p>In numerous places in <code>sitemap.xmap</code> you will see the
-        "linkrewriter" transformer in action.  For example:</p>
-      <source><![CDATA[<map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>]]></source>
-      <p>This statement is Cocoon's linking system in action.  A full
-        description is provided in <link href="site:linking">Menus and
-          Linking</link>.  Here we describe the implementation of linking.</p>
+      <p>
+        In numerous places in <code>sitemap.xmap</code> you will see the
+        "linkrewriter" transformer in action. For example:
+      </p>
+      <source>
+<![CDATA[<map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>]]>
+      </source>
+      <p>
+        This statement is Cocoon's linking system in action. A full description
+        is provided in <link href="site:linking">Menus and Linking</link>. Here
+        we describe the implementation of linking.
+      </p>
       <section id="input_modules">
         <title>Cocoon foundations: Input Modules</title>
         <p>
           The implementation of <code>site:</code> linking is heavily based on
           Cocoon <link href="ext:cocoon/input-modules">Input Modules</link>, a
-          little-known but quite powerful aspect of Cocoon.  Input Modules are
+          little-known but quite powerful aspect of Cocoon. Input Modules are
           generic Components which simply allow you to look up a value with a
-          key.  The value is generally dynamically generated, or obtained by
+          key. The value is generally dynamically generated, or obtained by
           querying an underlying data source.
         </p>
         <p>
           In particular, Cocoon contains an <code>XMLFileModule</code>, which
           lets one look up the value of an XML node, by interpreting the key as
-          an XPath expression.  Cocoon also has a
+          an XPath expression. Cocoon also has a
           <code>SimpleMappingMetaModule</code>, which allows the key to be
           rewritten before it is used to look up a value.
         </p>
         <p>
           The idea for putting these together to rewrite "<code>site:</code>"
           links was described in <link href="ext:inputmoduletransformer">this
-            thread</link>. The idea is to write a Cocoon Transformer that
-          triggers on encountering &lt;link
-          href="<code>scheme:address</code>"&gt;, and interprets the
-          <code>scheme:address</code> internal URI as
-          <code>inputmodule:key</code>.  The transformer then uses the named
+          thread</link>. The idea is to write a Cocoon Transformer that triggers
+          on encountering &lt;link href="<code>scheme:address</code>"&gt;, and
+          interprets the <code>scheme:address</code> internal URI as
+          <code>inputmodule:key</code>. The transformer then uses the named
           InputModule to look up the key value. The <code>scheme:address</code>
-          URI is then rewritten with the found value.  This transformer was
-          implemented as 
+          URI is then rewritten with the found value. This transformer was
+          implemented as
           <link href="ext:linkrewritertransformer">LinkRewriterTransformer</link>,
           currently distributed as a "block" in Cocoon 2.1
         </p>
       </section>
-
       <section id="implement_rewriting">
         <title>Implementing "<code>site:</code>" rewriting</title>
         <p>
@@ -639,8 +691,11 @@
         </p>
         <section id="cocoon_xconf">
           <title>cocoon.xconf</title>
-          <p>First, we declare all the input modules we will be needing:</p>
-          <source><![CDATA[
+          <p>
+            First, we declare all the input modules we will be needing:
+          </p>
+          <source>
+<![CDATA[
 <!-- For the site: scheme -->
 <component-instance
   class="org.apache.cocoon.components.modules.input.XMLFileModule"
@@ -655,25 +710,25 @@
 <component-instance
   class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
   logger="core.modules.mapper" name="ext"/>
-]]></source>
+]]>
+          </source>
           <ul>
             <li><strong>linkmap</strong> will provide access to the contents of
               &s;; for example, <code>linkmap:/site/about/index/@href</code>
               would return the value "index.html".</li>
             <li><strong>site</strong> provides a "mask" over
               <strong>linkmap</strong> such that <code>site:index</code> expands
-              to <code>linkmap:/site//index/@href</code>
-            </li>
+              to <code>linkmap:/site//index/@href</code></li>
             <li><strong>ext</strong> provides another "mask" over
               <strong>linkmap</strong>, such that <code>ext:ant</code> would
-              expand to <code>linkmap:/site/external-refs//ant/@href</code>
-            </li>
+              expand to <code>linkmap:/site/external-refs//ant/@href</code></li>
           </ul>
-          <p>However at the moment, we have only declared the input modules.
-            They will be configured in <code>sitemap.xmap</code> as described in
-            the next section.</p>
+          <p>
+            However at the moment, we have only declared the input modules. They
+            will be configured in <code>sitemap.xmap</code> as described in the
+            next section.
+          </p>
         </section>
-
         <section id="sitemap">
           <title>sitemap.xmap</title>
           <p>
@@ -681,7 +736,8 @@
             insert it into any pipelines which deal with user-editable XML
             content:
           </p>
-          <source><![CDATA[
+          <source>
+<![CDATA[
 ....
 <!-- Rewrites links, e.g. transforming
      href="site:index" to href="../index.html"
@@ -715,44 +771,56 @@
   <map:transform type="xinclude"/>
   <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
   ...
-</map:match>]]></source>
-          <p>As you can see, our three input modules are configured as part of
-            the LinkRewriterTransformer's configuration.</p>
+</map:match>]]>
+          </source>
+          <p>
+            As you can see, our three input modules are configured as part of
+            the LinkRewriterTransformer's configuration.
+          </p>
           <ul>
-            <li>
-              <p>Most deeply nested, we have:</p>
-              <source><![CDATA[
+            <li><p>
+                Most deeply nested, we have:
+              </p>
+              <source>
+<![CDATA[
                 <input-module name="linkmap">
                   <file src="{src}" reloadable="false" />
-              </input-module>]]></source>
-              <p>The "<code>{src}</code>" text is expanded to the value of the
+              </input-module>]]>
+              </source>
+              <p>
+                The "<code>{src}</code>" text is expanded to the value of the
                 "<code>src</code>" attribute in the "<code>linkrewriter</code>"
-                instance, namely "<code>cocoon:/{1}linkmap-{2}.html</code>"
-                Thus the <code>linkmap</code> module reads dynamically
-                generated XML specific to the current request.</p>
-            </li>
-            <li>
-              <p>One level out, we configure the "<code>site</code>" and
+                instance, namely "<code>cocoon:/{1}linkmap-{2}.html</code>" Thus
+                the <code>linkmap</code> module reads dynamically generated XML
+                specific to the current request.
+              </p></li>
+            <li><p>
+                One level out, we configure the "<code>site</code>" and
                 "<code>ext</code>" input modules, to map onto our dynamically
-                configured "<code>linkmap</code>" module.</p>
-            </li>
-            <li>
-              <p>Then at the outermost level, we configure the
-                "<code>linkrewriter</code>" transformer.  First we tell it which
-                attributes to consider rewriting:</p>
-              <source><![CDATA[
+                configured "<code>linkmap</code>" module.
+              </p></li>
+            <li><p>
+                Then at the outermost level, we configure the
+                "<code>linkrewriter</code>" transformer. First we tell it which
+                attributes to consider rewriting:
+              </p>
+              <source>
+<![CDATA[
                 <link-attrs>href src</link-attrs>
-                <schemes>site ext</schemes>]]></source>
-              <p>So, "<code>href</code>" and "<code>src</code>" attributes starting
-                with "<code>site:</code>" or "<code>ext:</code>" are rewritten.</p>
-
-              <p>By nesting the "<code>site</code>" and "<code>ext</code>" input
-                modules in the "<code>linkrewriter</code>" configuration, we tell
-                "<code>linkrewriter</code>" to use these two input modules when
-                rewriting links.</p>
-            </li>
+                <schemes>site ext</schemes>]]>
+              </source>
+              <p>
+                So, "<code>href</code>" and "<code>src</code>" attributes
+                starting with "<code>site:</code>" or "<code>ext:</code>" are
+                rewritten.
+              </p>
+              <p>
+                By nesting the "<code>site</code>" and "<code>ext</code>" input
+                modules in the "<code>linkrewriter</code>" configuration, we
+                tell "<code>linkrewriter</code>" to use these two input modules
+                when rewriting links.
+              </p></li>
           </ul>
-
           <p>
             The end result is that, for example, the source XML for the
             <code>community/body-index.html</code> page has its links rewritten
@@ -764,13 +832,14 @@
           <title>Dynamically generating a linkmap</title>
           <p>
             Why do we need this "linkmap" pipeline generating dynamic XML from
-            &s;, instead of just using &s; directly?  The reasons are described
+            &s;, instead of just using &s; directly? The reasons are described
             in <link href="ext:linkmaps">the linkmap RT</link>: we need to
             concatenate @hrefs and add dot-dots to the paths, depending on which
-            directory the linkee is in.  This is done with the following
+            directory the linkee is in. This is done with the following
             pipelines in <code>linkmap.xmap</code> ...
           </p>
-          <source><![CDATA[
+          <source>
+<![CDATA[
 <!-- site.xml with @href's appended to be context-relative. -->
 <map:match pattern="abs-linkmap">
   <map:generate src="content/xdocs/site.xml" />
@@ -787,9 +856,11 @@
   </map:transform>
   <map:serialize type="xml" />
 </map:match>
-            ]]></source>
-          <p>You can try these URIs out directly on a live Forrest to see what
-            is going on (for example, Forrest's own 
+            ]]>
+          </source>
+          <p>
+            You can try these URIs out directly on a live Forrest to see what is
+            going on (for example, Forrest's own
             <link href="../abs-linkmap">abs-linkmap</link>).
           </p>
         </section>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/skin-package.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/skin-package.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/skin-package.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/skin-package.xml Mon Apr  9 20:48:52 2007
@@ -18,61 +18,50 @@
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd" [
 
 ]>
-
 <document>
   <header>
     <title>Skin packaging, provision, and use</title>
     <subtitle>Automated distributed skin packages</subtitle>
   </header>
-
   <body>
     <section id="overview">
       <title>Overview</title>
       <p>
-Skins are standard zip archives with a *.zip extension.
-This enables them to be unpacked and installed automatically.
+        Skins are standard zip archives with a *.zip extension. This enables
+        them to be unpacked and installed automatically.
       </p>
-
       <p>
-To publish a skin:
+        To publish a skin:
       </p>
-
-<source>
+      <source>
 1 - forrest package-skin
 The skin package will be made in the skin dir, next to the custom skin.
 2 - place the file in a directory on a web server
 3 - ask forrest-dev to add the url and the skin name to the list of skins
 </source>
-
-
       <p>
-To use a custom skin with automatic download:
+        To use a custom skin with automatic download:
       </p>
-
-<source>
+      <source>
 1 - set the skin property in forrest.properties to the name of the skin
 2 - forrest install-skin
 3 - forrest
 </source>
-
       <p>
-Currently there are two test skins: "testskin" and "testskin2"
+        Currently there are two test skins: "testskin" and "testskin2"
       </p>
-
       <p>
-To see the names of the remote skins:
+        To see the names of the remote skins:
       </p>
-
-<source>forrest available-skins</source>
+      <source>forrest available-skins</source>
     </section>
-
     <section id="notes">
       <title>Notes</title>
       <p>
-The skin will get blown away by the next 'build clean' in forrest.
-But that is okay because it is so quick to go get another copy. Also it
-may be preferable to get a fresh copy. If the user wanted to keep
-the skin and perhaps enhance it, then they can copy it to their project.
+        The skin will get blown away by the next 'build clean' in forrest. But
+        that is okay because it is so quick to go get another copy. Also it may
+        be preferable to get a fresh copy. If the user wanted to keep the skin
+        and perhaps enhance it, then they can copy it to their project.
       </p>
     </section>
   </body>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/skins.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/skins.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/skins.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/skins.xml Mon Apr  9 20:48:52 2007
@@ -29,91 +29,82 @@
         many capabilities so that extra skins are not needed.
       </p>
       <p>
-        Note that the new Dispatcher capability will be a better solution.
-        See <a href="site:status-themes">Status of Themes: Skins and Dispatcher</a>.
+        Note that the new Dispatcher capability will be a better solution. See
+        <a href="site:status-themes">Status of Themes: Skins and Dispatcher</a>.
       </p>
     </section>
-
     <section id="names">
       <title>Convention for choosing skin names</title>
       <p>
         The skin names are based on playing with the word "skin". See our
         technique for
-        <a href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/new-skin-names.txt">choosing skin names</a>.
-        A name with "-dev" extension signifies that it is under development.
-        There is no concept of versions of default skins.
-        New skins have new names.
+        <a href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/new-skin-names.txt">choosing
+        skin names</a>. A name with "-dev" extension signifies that it is under
+        development. There is no concept of versions of default skins. New skins
+        have new names.
       </p>
     </section>
-
     <section id="skins">
       <title>Skin descriptions and examples</title>
-
       <section id="pelt">
         <title>pelt</title>
         <p>
           Uses CSS "div" and no HTML tables.
         </p>
-        <p>Examples:
-          <a href="site:forrest">Apache Forrest</a> |
+        <p>
+          Examples: <a href="site:forrest">Apache Forrest</a> |
           <a href="ext:lenya">Apache Lenya</a>
         </p>
       </section>
-  
       <section id="tigris">
         <title>tigris</title>
         <p>
-          This skin is based on version 1.1 of the 
-          <a href="http://style.tigris.org/">style.tigris.org</a> project.
-          (It deliberately contravenes our skin naming convention.)
+          This skin is based on version 1.1 of the
+          <a href="http://style.tigris.org/">style.tigris.org</a> project. (It
+          deliberately contravenes our skin naming convention.)
         </p>
-        <p>Examples:
-          <a href="http://www.core.gen.tr/">Core Computer Security Group</a>
+        <p>
+          Examples: <a href="http://www.core.gen.tr/">Core Computer Security
+          Group</a>
         </p>
       </section>
-
       <section id="plain-dev">
         <title>plain-dev</title>
         <p>
-          This is a very minimal skin to produce plain HTML documents.
-          Such capability might be useful to generate a collection of
-          documents for some off-line product's user help system.
-        </p>
-
-        <p>Examples:
-          <a href="images/snapshot-plain-dev.png">snapshot</a>
+          This is a very minimal skin to produce plain HTML documents. Such
+          capability might be useful to generate a collection of documents for
+          some off-line product's user help system.
+        </p>
+        <p>
+          Examples: <a href="images/snapshot-plain-dev.png">snapshot</a>
         </p>
       </section>
     </section>
-
     <section id="old">
       <title>Old and deprecated skins</title>
       <p>
         The following skins are retained for a little while longer, but are
         deprecated, so please move to one of the other skins.
       </p>
-
       <section id="forrest-site">
         <title>forrest-site</title>
         <p>
           This is the old skin that we have been dragging around since early
           days. Uses HTML tables.
         </p>
-        <p>Examples:
-          <a href="ext:xml.apache.org">Apache XML</a>
+        <p>
+          Examples: <a href="ext:xml.apache.org">Apache XML</a>
         </p>
       </section>
-
       <section id="krysalis-site">
         <title>krysalis-site</title>
         <p>
           Uses HTML tables.
         </p>
-
-        <p>Examples:
+        <p>
+          Examples:
         </p>
       </section>
-
     </section>
   </body>
 </document>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/status-themes.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/status-themes.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/status-themes.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/status-themes.xml Mon Apr  9 20:48:52 2007
@@ -24,39 +24,50 @@
   <body>
     <section id="skins">
       <title>Skins</title>
-      <p>"Skins" is the term used to describe the current method for adding 
-        navigation and menu information to the content of a page and applying a 
-        consistent theme for layout, colours, etc. The <a 
-        href="site:skins">"pelt" skin</a> is the only one that the Forrest 
-        project is maintaining. It is configurable enough to meet many 
-        purposes. The main configuration file for skins is the skinconf.xml 
-        file. There is 
-        an ability for users to create their own skins, although we have not 
-        encouraged that.</p>
-      <p>For the Forrest-0.8 release, skins are still available and are still the main mechanism.
-      No effort has been made to enhance skins.</p>
+      <p>
+        "Skins" is the term used to describe the current method for adding
+        navigation and menu information to the content of a page and applying a
+        consistent theme for layout, colours, etc. The
+        <a 
+        href="site:skins">"pelt" skin</a> is the only one that the
+        Forrest project is maintaining. It is configurable enough to meet many
+        purposes. The main configuration file for skins is the skinconf.xml
+        file. There is an ability for users to create their own skins, although
+        we have not encouraged that.
+      </p>
+      <p>
+        For the Forrest-0.8 release, skins are still available and are still the
+        main mechanism. No effort has been made to enhance skins.
+      </p>
     </section>
     <section id="dispatcher">
       <title>Dispatcher</title>
-      <p>"Dispatcher" is the term used to describe a new method which aims to 
-        be a more flexible and complete solution to build a reliable common 
-        structure for documents, incorporate other content, and provide hooks 
-        for applying themes. Themes get configured by structurer definitions 
-        (a wee bit like the skinconf.xml). Although strong progress has been 
-        made, it is still under development. We encourage developers to use 
-        Dispatcher and contribute to its development. See the <a 
+      <p>
+        "Dispatcher" is the term used to describe a new method which aims to be
+        a more flexible and complete solution to build a reliable common
+        structure for documents, incorporate other content, and provide hooks
+        for applying themes. Themes get configured by structurer definitions (a
+        wee bit like the skinconf.xml). Although strong progress has been made,
+        it is still under development. We encourage developers to use Dispatcher
+        and contribute to its development. See the
+        <a 
         href="http://forrest.apache.org/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.html">
-        plugin documentation</a> for more information.</p>
+        plugin documentation</a> for more information.
+      </p>
     </section>
     <section id="framework">
       <title>Plan for future framework</title>
-      <p>The desired direction is to use xhtml2 as the internal format, move the current "skins"
-        into a plugin, and develop input plugins for xdoc and html sources. This would enable
-        any theme engine to be used, whether that be Skins or Dispatcher or some other.
+      <p>
+        The desired direction is to use xhtml2 as the internal format, move the
+        current "skins" into a plugin, and develop input plugins for xdoc and
+        html sources. This would enable any theme engine to be used, whether
+        that be Skins or Dispatcher or some other.
       </p>
-      <p>See the development discussion:
-        <a href="http://thread.gmane.org/gmane.text.xml.forrest.devel/20573">Re: status of skins and dispatcher</a>.
-        This is planned for immediately following the 0.8 release. New developers please help.
+      <p>
+        See the development discussion:
+        <a href="http://thread.gmane.org/gmane.text.xml.forrest.devel/20573">Re:
+        status of skins and dispatcher</a>. This is planned for immediately
+        following the 0.8 release. New developers please help.
       </p>
     </section>
   </body>

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/tab-index.fv
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/tab-index.fv?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/tab-index.fv (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/tab-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/upgrading_08.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/site-author/content/xdocs/docs_0_80/upgrading_08.xml?view=diff&rev=527010&r1=527009&r2=527010
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/upgrading_08.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/upgrading_08.xml Mon Apr  9 20:48:52 2007
@@ -16,78 +16,85 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Upgrading to Apache Forrest 0.8-dev</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Upgrading to Apache Forrest 0.8-dev</title>
+  </header>
+  <body>
     <section id="introduction">
       <title>Introduction</title>
-<note>
-This is the <strong>development</strong> version of Apache Forrest which can
-be obtained from the Subversion repository or from a code snapshot.
-See the notes for obtaining and <a href="site:build">Building Forrest</a>.
-</note>
-      <p>
-      This page describes some changes to Apache Forrest that affect people who are
-      upgrading to the 0.8 version.
-      If you have other issues, then please discuss on either the
-      <a href="site:mail-lists/forrest-dev">dev</a> or
-      <a href="site:mail-lists/forrest-user">user</a>
-      mailing lists.
-      As more experience is gained, this document will be updated.  
+      <note>
+        This is the <strong>development</strong> version of Apache Forrest which
+        can be obtained from the Subversion repository or from a code snapshot.
+        See the notes for obtaining and <a href="site:build">Building
+        Forrest</a>.
+      </note>
+      <p>
+        This page describes some changes to Apache Forrest that affect people
+        who are upgrading to the 0.8 version. If you have other issues, then
+        please discuss on either the
+        <a href="site:mail-lists/forrest-dev">dev</a> or
+        <a href="site:mail-lists/forrest-user">user</a> mailing lists. As more
+        experience is gained, this document will be updated.
       </p>
       <p>
-      (If you are upgrading from a version prior to 0.7 then you will need
-      to see the notes for the previous upgrade.)
+        (If you are upgrading from a version prior to 0.7 then you will need to
+        see the notes for the previous upgrade.)
       </p>
     </section>
-
     <section id="new">
       <title>New Features</title>
       <p>
-        The following list shows some of the key new features.
-        For the full list of changes, see the main
-        <a href="site:changes">change log</a> and also for each plugin.
+        The following list shows some of the key new features. For the full list
+        of changes, see the main <a href="site:changes">change log</a> and also
+        for each plugin.
       </p>
       <ul>
         <li><a href="site:locationmap">Locationmaps</a>.</li>
       </ul>
-      <p>Many new initial plugins are in the "whiteboard". See the entries in the
-        <a href="site:changes">change log</a> and see each plugin's documentation and changes log.
-        This includes the new Dispatcher.
-        See <a href="site:status-themes">Status of Themes: Skins and Dispatcher</a>.
+      <p>
+        Many new initial plugins are in the "whiteboard". See the entries in the
+        <a href="site:changes">change log</a> and see each plugin's
+        documentation and changes log. This includes the new Dispatcher. See
+        <a href="site:status-themes">Status of Themes: Skins and Dispatcher</a>.
       </p>
     </section>
-
     <section id="locationmaps">
       <title>Locationmaps</title>
-      <p>The <a href="site:locationmap">Locationmaps</a> define the mapping from requests to locations
-        which enables content and resources to be located at various different sources.
-      </p>
-      <p>Adding a default locationmap to your project is not required, but is advisable.
-       Sooner or later you will use it. Having a default one also reduces the verbosity
-       of the log files. Copy one from a fresh 'forrest seed' to
-       <code>PROJECT_HOME/src/documentation/content/locationmap.xml</code>
-      </p>
-      <warning>If you do use locationmaps and an entry for a specific request is 
-      missing Forrest generates a confusing error message. Please ask on our
-      mailing lists for help in debugging your problem (hint, turn on locationmap
-      debugging in [FORREST_HOME]/main/webapp/WEB-INF/logkit.xconf, restart Forrest,
-      request the broken pages and visit [SITE_HOM]/build/webapp/logs/locationmap.xml).
-      This issue will be fixed in the next version of Forrest.</warning>
+      <p>
+        The <a href="site:locationmap">Locationmaps</a> define the mapping from
+        requests to locations which enables content and resources to be located
+        at various different sources.
+      </p>
+      <p>
+        Adding a default locationmap to your project is not required, but is
+        advisable. Sooner or later you will use it. Having a default one also
+        reduces the verbosity of the log files. Copy one from a fresh 'forrest
+        seed' to
+        <code>PROJECT_HOME/src/documentation/content/locationmap.xml</code>
+      </p>
+      <warning>
+        If you do use locationmaps and an entry for a specific request is
+        missing Forrest generates a confusing error message. Please ask on our
+        mailing lists for help in debugging your problem (hint, turn on
+        locationmap debugging in
+        [FORREST_HOME]/main/webapp/WEB-INF/logkit.xconf, restart Forrest,
+        request the broken pages and visit
+        [SITE_HOM]/build/webapp/logs/locationmap.xml). This issue will be fixed
+        in the next version of Forrest.
+      </warning>
     </section>
-
     <section id="modules">
       <title>Forrest configuration simplification</title>
       <p>
-        <strong>FOR-920</strong> Merging the
-        <code>defaults</code> and
-        <code>project</code> modules to the new
-        <code>properties</code> module. You can use it like {properties:forrest.home}
-        </p>
-      <p> In all custom code (e.g. project sitemaps or plugins) you need to do the following: </p>
-      
+        <strong>FOR-920</strong> Merging the <code>defaults</code> and
+        <code>project</code> modules to the new <code>properties</code> module.
+        You can use it like {properties:forrest.home}
+      </p>
+      <p>
+        In all custom code (e.g. project sitemaps or plugins) you need to do the
+        following:
+      </p>
       <ul>
         <li>find:
           <code>{defaults:</code> and replace with
@@ -102,92 +109,89 @@
           <code>{properties:</code></li>
       </ul>
     </section>
-
     <section id="clean">
       <title>Run a clean target after upgrade</title>
       <p>
-        Do 'forrest clean-work' in each of your projects. This also removes
-        the old Cocoon disk cache.
+        Do 'forrest clean-work' in each of your projects. This also removes the
+        old Cocoon disk cache.
       </p>
     </section>
-
     <section id="to2to">
       <title>New filename convention for stylesheets</title>
       <p>
-        There is now a filenaming convention for stylesheets (e.g. document-to-html.xsl).
-        This assists with automating the location of such resources.
-        See <a href="site:locationmap">Locationmap</a>.
-      </p>
-      <p>For the default use of Forrest, this makes no difference. However, if
-        you have developed your own skin then you will need to do some filename changes, e.g.
-        <code>'cd skins/my-skin/xslt/html; mv tab2menu.xsl tab-to-menu.xsl'</code> (do each of book2menu.xsl document2html.xsl site2xhtml.xsl tab2menu.xsl).
-        It is advisable to follow this naming convention for your other resources,
-        which will mean that you can utilise the locationmap.
+        There is now a filenaming convention for stylesheets (e.g.
+        document-to-html.xsl). This assists with automating the location of such
+        resources. See <a href="site:locationmap">Locationmap</a>.
+      </p>
+      <p>
+        For the default use of Forrest, this makes no difference. However, if
+        you have developed your own skin then you will need to do some filename
+        changes, e.g. <code>'cd skins/my-skin/xslt/html; mv tab2menu.xsl
+        tab-to-menu.xsl'</code> (do each of book2menu.xsl document2html.xsl
+        site2xhtml.xsl tab2menu.xsl). It is advisable to follow this naming
+        convention for your other resources, which will mean that you can
+        utilise the locationmap.
       </p>
     </section>
-
     <section id="docs">
       <title>Notes about documentation</title>
-      <p>After each release, the "Versioned Docs" are copied to form the new "dev" set.
-        Ideally the docs are then upgraded in readiness for the new release.
-        This has not been completed for the 0.8 release. In particular there are
-        example snippets of sitemaps which have not yet been upgraded to reflect the changes to the sitemaps and the separation of some core stuff into plugins.
-        See issues
-        <a href="http://issues.apache.org/jira/browse/FOR-546">FOR-546</a>
-        and 
-        <a href="http://issues.apache.org/jira/browse/FOR-922">FOR-922</a>
-        and others.
+      <p>
+        After each release, the "Versioned Docs" are copied to form the new
+        "dev" set. Ideally the docs are then upgraded in readiness for the new
+        release. This has not been completed for the 0.8 release. In particular
+        there are example snippets of sitemaps which have not yet been upgraded
+        to reflect the changes to the sitemaps and the separation of some core
+        stuff into plugins. See issues
+        <a href="http://issues.apache.org/jira/browse/FOR-546">FOR-546</a> and
+        <a href="http://issues.apache.org/jira/browse/FOR-922">FOR-922</a> and
+        others.
       </p>
     </section>
-
     <section id="cocoon">
       <title>Notes about Cocoon version</title>
       <p>
-        The last time that we upgraded our packaged version of Cocoon trunk
-        was using their SVN r351990 on 2005-12-08. Since then a number of things
+        The last time that we upgraded our packaged version of Cocoon trunk was
+        using their SVN r351990 on 2005-12-08. Since then a number of things
         have happened to cause us to fall out of synchronisation with Cocoon.
-        There is various discussion about this in the Forrest and Cocoon dev mail archives.
+        There is various discussion about this in the Forrest and Cocoon dev
+        mail archives.
       </p>
       <p>
         If you use your own version of Cocoon, then you will know about the
-        upgrade notes in the $FORREST_HOME/etc/cocoon_upgrade directory.
-        You might be able to advance a bit beyond the SVN revision, but not much.
+        upgrade notes in the $FORREST_HOME/etc/cocoon_upgrade directory. You
+        might be able to advance a bit beyond the SVN revision, but not much.
         Please help to rectify this situation.
       </p>
     </section>
-
     <section id="xmlformat">
       <title>Whitespace and indenting of xml files with xmlformat</title>
       <p>
         All xml type files have been formatted using xmlformat. You can apply
-        this to your own work if necessary by using the same configuration
-        as the Forrest project.
-        See notes at <a href="http://issues.apache.org/jira/browse/FOR-644">FOR-644</a>.
+        this to your own work if necessary by using the same configuration as
+        the Forrest project. See notes at
+        <a href="http://issues.apache.org/jira/browse/FOR-644">FOR-644</a>.
       </p>
     </section>
-
     <section id="tips">
       <title>General upgrade tips</title>
       <p>
-      Synchronise your project's skinconf.xml and forrest.properties files.
+        Synchronise your project's skinconf.xml and forrest.properties files.
       </p>
       <p>
-      Take advantage of the separation of concerns. In a new workspace,
-      create a fresh
-      '<code>forrest seed</code>' site, then tweak its forrest.properties
-      and skinconf.xml until it reflects your old site.
-      When it is ready, replace your project's skinconf.xml and
-      forrest.properties files.
-      Any remaining issues would concern other aspects of your configuration,
-      such as site.xml and your actual content.
+        Take advantage of the separation of concerns. In a new workspace, create
+        a fresh '<code>forrest seed</code>' site, then tweak its
+        forrest.properties and skinconf.xml until it reflects your old site.
+        When it is ready, replace your project's skinconf.xml and
+        forrest.properties files. Any remaining issues would concern other
+        aspects of your configuration, such as site.xml and your actual content.
       </p>
     </section>
-
     <section>
       <title>To be continued...</title>
-      <p>...as more issues are discovered/remembered :)  Please send feedback
-      to the
-      <a href="site:mail-lists/forrest-dev">mailing list</a>.</p>
+      <p>
+        ...as more issues are discovered/remembered :) Please send feedback to
+        the <a href="site:mail-lists/forrest-dev">mailing list</a>.
+      </p>
     </section>
   </body>
 </document>