forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r527041 [3/5] - in /forrest/trunk/whiteboard/forrest2: core/ core/src/conf/ core/src/core/xdocs/samples/xslt/ core/src/docs/ core/src/examples/affiliateProductCatalogue/src/ core/src/examples/affiliateProductCatalogue/src/xdocs/ core/src/ex...
Date Tue, 10 Apr 2007 06:05:09 GMT
Modified: forrest/trunk/whiteboard/forrest2/core/src/docs/readme.html
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/docs/readme.html?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/docs/readme.html (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/docs/readme.html Mon Apr  9 23:05:03 2007
@@ -15,102 +15,116 @@
   limitations under the License.
 -->
 <html>
-<head>
-<title>Welcome to Forrest 2</title>
-</head>
-<body>
-<div class="note">
-<p>This document is written as though this is approved as a Forrest
-2 implementation, however, it is important to note that this is only an
-experiment at this time. The Apache Forrest project is using this
-implementation as a discussion tool. This code should therefore be
-considered as PRE-ALPHA and should not be used for anything other than
-experimentation.</p>
-</div>
-
-<h1>Forrest 2.0</h1>
-
-<p>Forrest2 is a complete rewrite of the XML publishing framework
-Apache Forrest.</p>
-
-<p>It draws on the lessons learned during development and use of
-earlier verions of Forrest, but it takes the opportunity to simplify the
-implementation and use wherever possible.</p>
-
-<p>Forrest2 is no longer built upon Apache Cocoon, it is a plain
-Java application.</p>
-
-<p>This may prompt you to ask "does this mean we lose the power of
-the Apache Cocoon framework?" The answer to that question is an emphatic
-no. You see, Apache Cocoon can still be used by Forrest, but you are no
-longer tied to it as was the case with earlier versions.</p>
-
-<p>Breaking away from Cocoon means that embedding Forrest2 in
-another application is much easier. In fact, since the new Forrest can
-be packaged as a Cocoon generator it is, ironically enough, easier to
-use in another Cocoon application than the original Forrest was. At the
-same time it is easier to embed Forrest in any other type of
-application.</p>
-
-<p>The core of Forrest2 is only a few megabytes in size (and can
-doubtless be trimmed even further). This compares very favourably with
-40Mb+ for Cocoon based versions of Forrest.</p>
-
-<p>Furthermore, the removal of Cocoon as the core framework means
-that extending Forrest no longer requires an understanding of Cocoon, in
-fact, Forrest2 can be extended very easily with just about any
-technology (including Cocoon). It is now possible to extend Forrest in
-any way you desire, all you need to do is expose your services via a
-REST style API.</p>
-
-<p>Of course, it's easier to use too...</p>
-
-<h1>Using Forrest 2.0</h1>
-
-<h2>Background Concepts</h2>
-
-<p>Forrest 2.0 builds on the concept of input and output plugins
-that were introduced in Forrest 0.7. An input plugin processes a source
-document and coverts it to an internal format for use within Forrest.
-This internal format is a subset of XHTML2. The internal document is
-further processed by zero or more output plugins which provide further
-processing to create the final output documents, in whatever format is
-required.</p>
-
-<p>Forrest 2.0 also utilises the Locationmap, utilised extensively
-in Forrest 0.8. This is a configuration file that maps request URL's to
-source documents. Thus allowing the client URL space to be completely
-decoupled from the surce URI space.</p>
-
-<h2>Hello World Example</h2>
-
-<div class="note"><p>Code for all examples in this document can be found in the src/examples
-directory of the core distribution.</p></div>
-
-<p>As is traditional we will work from the simplest possible use case and build up the
-complexity as we explore Forrest 2.0 in use. Of course, we will start with the most
-simplistic "Hello World" example we can.</p>
-
-<p>This simple case means we provide a "Hello World" document in a subset of XHTML2,
-i.e. it will already be in a format suitable for use within Forrest. We will
-require an output of this document in XHTML2.</p>
-
-<p>Hmmm... that sounds pretty pointless, what will Forrest actually do in this use 
-case?</p>
-
-<p>This use case will illustrate the decoupling of the client URL space from the
-source URI space. In so doing it will show how to configure a basic instance
-of Forrest 2.0.</p>
-
-<p>So, we want to alow the user to request the document "helloWorld.xhtml2" and recieve
-and XHTML2 document generated from a source document located at
-"src/xdocs/helloWorld.xhtml2".</p>
-
-<h3>Source Document</h3>
-
-<p>There is nothing magical about the source document. It's a simple XHMTL2 document:</p>
-
-<div class="code"><![CDATA[
+  <head>
+    <title>Welcome to Forrest 2</title>
+  </head>
+  <body>
+    <div class="note">
+      <p>
+        This document is written as though this is approved as a Forrest 2
+        implementation, however, it is important to note that this is only an
+        experiment at this time. The Apache Forrest project is using this
+        implementation as a discussion tool. This code should therefore be
+        considered as PRE-ALPHA and should not be used for anything other than
+        experimentation.
+      </p>
+    </div>
+    <h1>Forrest 2.0</h1>
+    <p>
+      Forrest2 is a complete rewrite of the XML publishing framework Apache
+      Forrest.
+    </p>
+    <p>
+      It draws on the lessons learned during development and use of earlier
+      verions of Forrest, but it takes the opportunity to simplify the
+      implementation and use wherever possible.
+    </p>
+    <p>
+      Forrest2 is no longer built upon Apache Cocoon, it is a plain Java
+      application.
+    </p>
+    <p>
+      This may prompt you to ask "does this mean we lose the power of the Apache
+      Cocoon framework?" The answer to that question is an emphatic no. You see,
+      Apache Cocoon can still be used by Forrest, but you are no longer tied to
+      it as was the case with earlier versions.
+    </p>
+    <p>
+      Breaking away from Cocoon means that embedding Forrest2 in another
+      application is much easier. In fact, since the new Forrest can be packaged
+      as a Cocoon generator it is, ironically enough, easier to use in another
+      Cocoon application than the original Forrest was. At the same time it is
+      easier to embed Forrest in any other type of application.
+    </p>
+    <p>
+      The core of Forrest2 is only a few megabytes in size (and can doubtless be
+      trimmed even further). This compares very favourably with 40Mb+ for Cocoon
+      based versions of Forrest.
+    </p>
+    <p>
+      Furthermore, the removal of Cocoon as the core framework means that
+      extending Forrest no longer requires an understanding of Cocoon, in fact,
+      Forrest2 can be extended very easily with just about any technology
+      (including Cocoon). It is now possible to extend Forrest in any way you
+      desire, all you need to do is expose your services via a REST style API.
+    </p>
+    <p>
+      Of course, it's easier to use too...
+    </p>
+    <h1>Using Forrest 2.0</h1>
+    <h2>Background Concepts</h2>
+    <p>
+      Forrest 2.0 builds on the concept of input and output plugins that were
+      introduced in Forrest 0.7. An input plugin processes a source document and
+      coverts it to an internal format for use within Forrest. This internal
+      format is a subset of XHTML2. The internal document is further processed
+      by zero or more output plugins which provide further processing to create
+      the final output documents, in whatever format is required.
+    </p>
+    <p>
+      Forrest 2.0 also utilises the Locationmap, utilised extensively in Forrest
+      0.8. This is a configuration file that maps request URL's to source
+      documents. Thus allowing the client URL space to be completely decoupled
+      from the surce URI space.
+    </p>
+    <h2>Hello World Example</h2>
+    <div class="note">
+      <p>
+        Code for all examples in this document can be found in the src/examples
+        directory of the core distribution.
+      </p>
+    </div>
+    <p>
+      As is traditional we will work from the simplest possible use case and
+      build up the complexity as we explore Forrest 2.0 in use. Of course, we
+      will start with the most simplistic "Hello World" example we can.
+    </p>
+    <p>
+      This simple case means we provide a "Hello World" document in a subset of
+      XHTML2, i.e. it will already be in a format suitable for use within
+      Forrest. We will require an output of this document in XHTML2.
+    </p>
+    <p>
+      Hmmm... that sounds pretty pointless, what will Forrest actually do in
+      this use case?
+    </p>
+    <p>
+      This use case will illustrate the decoupling of the client URL space from
+      the source URI space. In so doing it will show how to configure a basic
+      instance of Forrest 2.0.
+    </p>
+    <p>
+      So, we want to alow the user to request the document "helloWorld.xhtml2"
+      and recieve and XHTML2 document generated from a source document located
+      at "src/xdocs/helloWorld.xhtml2".
+    </p>
+    <h3>Source Document</h3>
+    <p>
+      There is nothing magical about the source document. It's a simple XHMTL2
+      document:
+    </p>
+    <div class="code">
+<![CDATA[
 <?xml-stylesheet type="text/css" 
                  href="http://www.w3.org/MarkUp/style/xhtml2.css"?>
 
@@ -128,164 +142,164 @@
 </body>
 </html>
 ]]>
-</div>
-
-<p>This document is stored in "src/xdocs/helloWorld.xhtml2"</p>
-
-<h3>Locationmap</h3>
-
-<p>The locationmap, in its simplest form, is used to map the
-client URI to the actual location of the source document. In this case
-we need the following locationmap:</p>
-
-<div class="code"><![CDATA[
+    </div>
+    <p>
+      This document is stored in "src/xdocs/helloWorld.xhtml2"
+    </p>
+    <h3>Locationmap</h3>
+    <p>
+      The locationmap, in its simplest form, is used to map the client URI to
+      the actual location of the source document. In this case we need the
+      following locationmap:
+    </p>
+    <div class="code">
+<![CDATA[
 <?xml version="1.0"?>
 <locationmap>
 <location regexp="helloWorld.xhtml2">
 <source href="classpath:/xdocs/helloWorld.xhtml2" />
 </location>
 </locationmap>
-]]></div>
-
-<p>Note the use of the "classpath:" protocol. This means that Forrest will
-search the classpath for the resource. Valid protocols in Forrest core
-are:</p>
-
-<ul>
-  <li>file:</li>
-  <li>http:</li>
-  <li>lasspath:</li>
-</ul>
-
-<p>These protocols can be extended by
-adding additional readers, we'll discuss this later.</p>
-
-<p>The locationmap
-document is stored in "src/locationmap.xml"</p>
-
-<h3>Running Forrest</h3>
-
-<p>There are a number of ways of running Forrest. Perhaps
-the most convenient is the Forrest webapp. This is not a part of core
-though, so we will focus on the command line version for now.</p>
-
-<p>The class
-org.apache.forrest.cli.CLI implements the command line. The simplest way
-of running the command line is with:</p>
-
-<div class="code">
+]]>
+    </div>
+    <p>
+      Note the use of the "classpath:" protocol. This means that Forrest will
+      search the classpath for the resource. Valid protocols in Forrest core
+      are:
+    </p>
+    <ul>
+      <li>file:</li>
+      <li>http:</li>
+      <li>lasspath:</li>
+    </ul>
+    <p>
+      These protocols can be extended by adding additional readers, we'll
+      discuss this later.
+    </p>
+    <p>
+      The locationmap document is stored in "src/locationmap.xml"
+    </p>
+    <h3>Running Forrest</h3>
+    <p>
+      There are a number of ways of running Forrest. Perhaps the most convenient
+      is the Forrest webapp. This is not a part of core though, so we will focus
+      on the command line version for now.
+    </p>
+    <p>
+      The class org.apache.forrest.cli.CLI implements the command line. The
+      simplest way of running the command line is with:
+    </p>
+    <div class="code">
 java -jar forrest.jar org.apache.forrest.cli.CLI [REQUEST_URI]
 </div>
-
-<p>So, in this instance we would
-run the following command from within the src/examples/helloWorld
-directory:</p>
-
-<div class="code">
+    <p>
+      So, in this instance we would run the following command from within the
+      src/examples/helloWorld directory:
+    </p>
+    <div class="code">
 java -jar [FORREST_HOME]/forrest.jar org.apache.forrest.cli.CLI hellowWorld.xhtml2
 </div>
-
-<p>This command dumps
-the results document to System.out, so you will see the source document
-displayed on the screen.</p>
-
-<p>In this example forrest does not do any
-internal processing because we request an XHTML2 document. In the next
-example we'll look at how we can get Forrest to do some output
-processing for us.</p>
-
-<h2>HTML Hello World Example</h2>
-
-<p>In
-this example we will use the same XHTML2 input document, but we want to
-retrieve an HTML version of that document for display in a standard
-browser. To achieve this we will have Forrest process the document using
-an HTML output plugin. This output plugin will convert the XHTML2
-internal document into an HTML document.</p>
-
-<p>Forrest 2.0 core includes an
-output plugin that will convert from the internal XHTML2 format to HTML.
-This is the only output plugin bundled with Forrest2 core. We need to ensure 
-Forrest uses this plugin for this example. To do this
-all we need to do is add a new entry to our locationmap and request the file
-"helloWorld.html" (note the changed extension).</p>
-
-<h3>Locationmap</h3>
-
-<p>Recall that the locationmap maps request URLs to source files. In our
-first example we added a mapping from "helloWorld.xhtml2" to
-"classpath:/xdocs/helloWorld.xhtml2". In this example we will
-be requesting "helloWorld.html", so we need a new mapping. Add the following to
-your locationmap:</p>
-
-<div class="code"><![CDATA[
+    <p>
+      This command dumps the results document to System.out, so you will see the
+      source document displayed on the screen.
+    </p>
+    <p>
+      In this example forrest does not do any internal processing because we
+      request an XHTML2 document. In the next example we'll look at how we can
+      get Forrest to do some output processing for us.
+    </p>
+    <h2>HTML Hello World Example</h2>
+    <p>
+      In this example we will use the same XHTML2 input document, but we want to
+      retrieve an HTML version of that document for display in a standard
+      browser. To achieve this we will have Forrest process the document using
+      an HTML output plugin. This output plugin will convert the XHTML2 internal
+      document into an HTML document.
+    </p>
+    <p>
+      Forrest 2.0 core includes an output plugin that will convert from the
+      internal XHTML2 format to HTML. This is the only output plugin bundled
+      with Forrest2 core. We need to ensure Forrest uses this plugin for this
+      example. To do this all we need to do is add a new entry to our
+      locationmap and request the file "helloWorld.html" (note the changed
+      extension).
+    </p>
+    <h3>Locationmap</h3>
+    <p>
+      Recall that the locationmap maps request URLs to source files. In our
+      first example we added a mapping from "helloWorld.xhtml2" to
+      "classpath:/xdocs/helloWorld.xhtml2". In this example we will be
+      requesting "helloWorld.html", so we need a new mapping. Add the following
+      to your locationmap:
+    </p>
+    <div class="code">
+<![CDATA[
 <location regexp="helloWorld.html">
 <source href="classpath:/xdocs/helloWorld.xhtml2" />
 </location>
-]]></div>
-
-<p>This will work just fine, but we now have two mappings that use the 
-helloWorld.xhtml2 source file. Surely there is a way to express these two 
-matches in a more concise way.</p>
-
-<div class="todo">Explain that we could use regexp="helloWorld.*" for both cases
+]]>
+    </div>
+    <p>
+      This will work just fine, but we now have two mappings that use the
+      helloWorld.xhtml2 source file. Surely there is a way to express these two
+      matches in a more concise way.
+    </p>
+    <div class="todo">Explain that we could use regexp="helloWorld.*" for both cases
 since the source file is the same . The pattern is a regular expression.</div>
-
-<p>That's it, there is no need to tell Forrest that it must process a request for
-helloWorld.html with the HTML output plugin since, by default, the plugin will
-be activated for any request ending in ".html". Since it is a goal of Forrest 
-to remove the need to predefine
-the client URL space you will not be suprised to learn that it is not
-necessary to use an ".html" extension to trigger the html output plugin.
-It is possible to configure the trigger as any part of a request URL,
-for example, we may use something like "/html/helloWorld". Discussion of
-how to configure this is outside the scope of this example.</p>
-
-
-<h2>Embedding Forrest</h2>
-
-<p>The main driver
-behind writing Forrest 2.0 was to make it more embeddable. Earlier
-versions of Forrest were built on top of Cocoon and therefore it
-was difficult and/or computationally expensive to embed forrest in anything that
-was not based on Cocoon. Forrest 2.0 Core provides two main techniques for
-embedding. First, you can use the CLI to pipe results to other
-applications in your command shell. Secondly, Forrest 2.0 exposes a
-simple Java API that allows it to be controlled programatically.</p>
-
-<p>If
-neither of these solutions suits your use case, for example, you are not
-using Java and do not want to rely on shell scripts, then there is a
-separate web application that exposes Forrest via a REST style interface.</p>
-
-<p>Of course, it would be perfectly possible to create other extensions
-that enable Forrest to be embedded in other ways, such via a SOAP
-interface.</p>
-
-<h3>Embedding using the CLI</h3>
-
-<div class="todo">simple example of piping results to another
+    <p>
+      That's it, there is no need to tell Forrest that it must process a request
+      for helloWorld.html with the HTML output plugin since, by default, the
+      plugin will be activated for any request ending in ".html". Since it is a
+      goal of Forrest to remove the need to predefine the client URL space you
+      will not be suprised to learn that it is not necessary to use an ".html"
+      extension to trigger the html output plugin. It is possible to configure
+      the trigger as any part of a request URL, for example, we may use
+      something like "/html/helloWorld". Discussion of how to configure this is
+      outside the scope of this example.
+    </p>
+    <h2>Embedding Forrest</h2>
+    <p>
+      The main driver behind writing Forrest 2.0 was to make it more embeddable.
+      Earlier versions of Forrest were built on top of Cocoon and therefore it
+      was difficult and/or computationally expensive to embed forrest in
+      anything that was not based on Cocoon. Forrest 2.0 Core provides two main
+      techniques for embedding. First, you can use the CLI to pipe results to
+      other applications in your command shell. Secondly, Forrest 2.0 exposes a
+      simple Java API that allows it to be controlled programatically.
+    </p>
+    <p>
+      If neither of these solutions suits your use case, for example, you are
+      not using Java and do not want to rely on shell scripts, then there is a
+      separate web application that exposes Forrest via a REST style interface.
+    </p>
+    <p>
+      Of course, it would be perfectly possible to create other extensions that
+      enable Forrest to be embedded in other ways, such via a SOAP interface.
+    </p>
+    <h3>Embedding using the CLI</h3>
+    <div class="todo">simple example of piping results to another
 shell command Java</div>
-
-<h3>Embedding using the Java API</h3>
-
-<p>All you need to do to embed Forrest using he Java API is
-instantiate an instance of the Forrest Controller class, then you 
-request the document required. For example:</p> 
-
-<div class="code"><pre>
+    <h3>Embedding using the Java API</h3>
+    <p>
+      All you need to do to embed Forrest using he Java API is instantiate an
+      instance of the Forrest Controller class, then you request the document
+      required. For example:
+    </p>
+    <div class="code">
+      <pre>
 Controller controller = new Controller();
 AbstractOutputDocument doc = controller.getOutputDocument(requestURI);
-</pre></div>
-
-<p>That's it! At least it is for most use cases.</p>
-
-<p>As a more complete example lets look at the 
-core of a simple CLI class (with exception handling removed for
-clarity):</p>
-
-<div class="code">
-<pre>
+</pre>
+    </div>
+    <p>
+      That's it! At least it is for most use cases.
+    </p>
+    <p>
+      As a more complete example lets look at the core of a simple CLI class
+      (with exception handling removed for clarity):
+    </p>
+    <div class="code">
+      <pre>
 public static void main(String[] args) { 
   try { 
     URI requestURI = new URI(args[0]);
@@ -296,13 +310,14 @@
   } catch (...) { 
     ... 
   } }
-</pre></div>
-
-<p>As another example, here is the doGet method of a servlet that will route requests to
-Forrest and stream the results back to the requesting client.</p>
-
-<div class="code">
-<pre>
+</pre>
+    </div>
+    <p>
+      As another example, here is the doGet method of a servlet that will route
+      requests to Forrest and stream the results back to the requesting client.
+    </p>
+    <div class="code">
+      <pre>
 	public void doGet(HttpServletRequest request, HttpServletResponse response)
 			throws ServletException, IOException {
 
@@ -326,152 +341,143 @@
 		out.close();
 	}
 </pre>
-</div>
-
-<h2>Running Forrest 2.0 as a Webapp</h2>
-
-<div class="todo">HTML Hello World example run in
-the webapp.</div> 
-
-<h2>Extending Forrest</h2>
-
-<p>There are three key ways to extend Forrest:</p>
-
-<ul>
-  <li>readers - read source documents</li>
-  <li>input plugins - convert source documents to internal documents</li>
-  <li>output plugins - convert internal documents to output documents</li>
-</ul>
-
-<p>To give you an idea of
-what you can do with each of these lets consider a few hypothetical
-examples of each type of extension.</p>
-
-<h3>Readers</h3>
-
-<p>Readers add
-protocols to the locationmap, thus allowing different methods of reading
-source documents. For example, we may build a relational database reader.</p>
-
-<p>This reader reads a document from a
-relational database and provide it in an XML format. It adds a
-locationmap protocol of "db:" and is configured from within the URL, e.g.
-"db:user@dbserver.domain.co.uk/catalogue:product.id=AL292"</p>
-
-<p>The above URL will return an XML representation of the product with ID
-"AL292" from the database "catalogue" on the server at "dbserver.domain.co.uk".
-The database is accessed using the username "user".</p>
-
-<h3>Input Plugins</h3>
-
-<p>Input plugins take some kind of input document and convert
-them to an XHTML2 internal document for further processing. For example 
-we could have an input plugin that converts OpenOffice.org documents
-to Forrest documents.</p>
-
-
-<h3>Output Plugins</h3>
-
-<p>Output Plugins convert an internal document into
-the final output format that is required. For example a PDF Output Plugin
-converts an internal document into a PDF document.</p>
-
-<h2>Configuring Forrest</h2>
-
-<p>Forrest uses the Spring
-framework to manage its configuration. If you need to add one or more
-readers or plugins to Forrest core you need to create a Spring context
-file in your project. This will be stored at 
-"PROJECT_HOME/src/forrestContext.xml".</p>
-
-<h1>Extended Examples</h1>
-
-<p>This set of examples extend the
-reading, input and output capabilites of Forrest to perform more complex
-tasks than are capable with Forrest Core. They therefore demonstrate the use
-of additional readers and plugins.</p>
-
-<h2>HTML From Plain Text Hello World</h2>
-
-<p>This example illustrates the use
-of an input plugin.</p>
-
-<div class="todo">an example showing the creation of an HTML
+    </div>
+    <h2>Running Forrest 2.0 as a Webapp</h2>
+    <div class="todo">HTML Hello World example run in
+the webapp.</div>
+    <h2>Extending Forrest</h2>
+    <p>
+      There are three key ways to extend Forrest:
+    </p>
+    <ul>
+      <li>readers - read source documents</li>
+      <li>input plugins - convert source documents to internal documents</li>
+      <li>output plugins - convert internal documents to output documents</li>
+    </ul>
+    <p>
+      To give you an idea of what you can do with each of these lets consider a
+      few hypothetical examples of each type of extension.
+    </p>
+    <h3>Readers</h3>
+    <p>
+      Readers add protocols to the locationmap, thus allowing different methods
+      of reading source documents. For example, we may build a relational
+      database reader.
+    </p>
+    <p>
+      This reader reads a document from a relational database and provide it in
+      an XML format. It adds a locationmap protocol of "db:" and is configured
+      from within the URL, e.g.
+      "db:user@dbserver.domain.co.uk/catalogue:product.id=AL292"
+    </p>
+    <p>
+      The above URL will return an XML representation of the product with ID
+      "AL292" from the database "catalogue" on the server at
+      "dbserver.domain.co.uk". The database is accessed using the username
+      "user".
+    </p>
+    <h3>Input Plugins</h3>
+    <p>
+      Input plugins take some kind of input document and convert them to an
+      XHTML2 internal document for further processing. For example we could have
+      an input plugin that converts OpenOffice.org documents to Forrest
+      documents.
+    </p>
+    <h3>Output Plugins</h3>
+    <p>
+      Output Plugins convert an internal document into the final output format
+      that is required. For example a PDF Output Plugin converts an internal
+      document into a PDF document.
+    </p>
+    <h2>Configuring Forrest</h2>
+    <p>
+      Forrest uses the Spring framework to manage its configuration. If you need
+      to add one or more readers or plugins to Forrest core you need to create a
+      Spring context file in your project. This will be stored at
+      "PROJECT_HOME/src/forrestContext.xml".
+    </p>
+    <h1>Extended Examples</h1>
+    <p>
+      This set of examples extend the reading, input and output capabilites of
+      Forrest to perform more complex tasks than are capable with Forrest Core.
+      They therefore demonstrate the use of additional readers and plugins.
+    </p>
+    <h2>HTML From Plain Text Hello World</h2>
+    <p>
+      This example illustrates the use of an input plugin.
+    </p>
+    <div class="todo">an example showing the creation of an HTML
 document from a plain text source document.</div>
-
-<h2>PDF From Plain Text Hello World</h2>
-
-<p>This example illustrates the use
-of an output plugin in conjunction with the input plugin from the previous
-example.</p>
-
-<p>an example showing the creation of an PDF
-document from a plain text source document.</p>
-
-<h3>Hello Username</h3>
-
-<p>This example illustates the use of a reader to extract
-information about the execution environment.</p>
-
-<h3>Affiliates Product Catalogue</h3>
-
-<p>In <a href="example/affiliateProductDatabase.html">this example</a>
-we create an input plugin to use
-product feeds from affiliate programs (in this case
-TradeDoubler). This is then coupled with an output plugin
-that presents this data as an HTML page for inclusion in
-a web site or as a PDF document for printing.</p>
-
-<h3>Extended Product Catalogue</h3>
-
-<p class="todo">In this example, we extend the affiliate
-product catalogue example by adding business logic to the
-reader. In the previous version all products in the feed
-appeared in the catalogue. In this new version we are able
-to provide keywords that must be present in the product
-title or description for it to appear in the catalogue.</p>
-
-<p>This example illustrates how an Input plugin can extend
-the functioanlity of an existing plugin.</p>
-
-<h3>ECommerce Application</h3>
-
-<p class="todo">This example illustrates how
-Apache Forrest can be embedded in a Wicket web application (Wicket is 
-a Java web application framework. The Wicket
-application handles all dynamic funtions, such as the management of a
-shopping cart and "clever" Ajax search functionality, whilst Forrest
-handles the generation of semi-static content, such as product
-description pages. It builds on the previous example in which
-Forrest generated content from an Product Catalogue.</p>
-
-<p>Here we are using Wicket to generate many parts of an
-HTML page, such as the navigation. This is because we happen to like
-Wickets approach to the building of web pages from components. However,
-with a little imagination we are sure you can see how to use your
-favourite templating technology to do this. Some suggested alternatives to wicket
-rendering would be:</p>
-
-<ul>
-  <li>jxTemplate</li>
-  <li>Tiles</li>
-  <li>Cocoon</li>
-  <li>Dispatcher</li>
-</ul>
-
-<p>The use of Forrest to generate content
-allows us to leverage the mulitple output plugins provided by Forrest to
-present content in many different formats, such as web page, PDF, voice
-etc.</p>
-
-<h3>Extended Product Catalogue</h3>
-
-<p class="todo">We will now extend the product catalgoue to enable the embedding of
-third party product feeds as well as products from our own database. To
-do this we will retrieve a feed from TradeDoubler.co.uk and embed the
-results in our product catalogue. This example will illustrate the
-aggregation of content from multiple sources, in different source
-formats into a single output document available in multiple formats.</p>
-
-</body>
+    <h2>PDF From Plain Text Hello World</h2>
+    <p>
+      This example illustrates the use of an output plugin in conjunction with
+      the input plugin from the previous example.
+    </p>
+    <p>
+      an example showing the creation of an PDF document from a plain text
+      source document.
+    </p>
+    <h3>Hello Username</h3>
+    <p>
+      This example illustates the use of a reader to extract information about
+      the execution environment.
+    </p>
+    <h3>Affiliates Product Catalogue</h3>
+    <p>
+      In <a href="example/affiliateProductDatabase.html">this example</a> we
+      create an input plugin to use product feeds from affiliate programs (in
+      this case TradeDoubler). This is then coupled with an output plugin that
+      presents this data as an HTML page for inclusion in a web site or as a PDF
+      document for printing.
+    </p>
+    <h3>Extended Product Catalogue</h3>
+    <p class="todo">
+      In this example, we extend the affiliate product catalogue example by
+      adding business logic to the reader. In the previous version all products
+      in the feed appeared in the catalogue. In this new version we are able to
+      provide keywords that must be present in the product title or description
+      for it to appear in the catalogue.
+    </p>
+    <p>
+      This example illustrates how an Input plugin can extend the functioanlity
+      of an existing plugin.
+    </p>
+    <h3>ECommerce Application</h3>
+    <p class="todo">
+      This example illustrates how Apache Forrest can be embedded in a Wicket
+      web application (Wicket is a Java web application framework. The Wicket
+      application handles all dynamic funtions, such as the management of a
+      shopping cart and "clever" Ajax search functionality, whilst Forrest
+      handles the generation of semi-static content, such as product description
+      pages. It builds on the previous example in which Forrest generated
+      content from an Product Catalogue.
+    </p>
+    <p>
+      Here we are using Wicket to generate many parts of an HTML page, such as
+      the navigation. This is because we happen to like Wickets approach to the
+      building of web pages from components. However, with a little imagination
+      we are sure you can see how to use your favourite templating technology to
+      do this. Some suggested alternatives to wicket rendering would be:
+    </p>
+    <ul>
+      <li>jxTemplate</li>
+      <li>Tiles</li>
+      <li>Cocoon</li>
+      <li>Dispatcher</li>
+    </ul>
+    <p>
+      The use of Forrest to generate content allows us to leverage the mulitple
+      output plugins provided by Forrest to present content in many different
+      formats, such as web page, PDF, voice etc.
+    </p>
+    <h3>Extended Product Catalogue</h3>
+    <p class="todo">
+      We will now extend the product catalgoue to enable the embedding of third
+      party product feeds as well as products from our own database. To do this
+      we will retrieve a feed from TradeDoubler.co.uk and embed the results in
+      our product catalogue. This example will illustrate the aggregation of
+      content from multiple sources, in different source formats into a single
+      output document available in multiple formats.
+    </p>
+  </body>
 </html>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/forrestContext.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/forrestContext.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/forrestContext.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/forrestContext.xml Mon Apr  9 23:05:03 2007
@@ -16,39 +16,31 @@
   limitations under the License.
 -->
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
-
 <beans>
-
-	<!-- ============================================= -->
-	<!--                 Readers					   -->
-	<!-- ============================================= -->
-
-	<bean id="file" class="org.apache.forrest.core.reader.FileReader"></bean>
-	<bean id="tradeDoubler"
+<!-- ============================================= -->
+<!--                 Readers					   -->
+<!-- ============================================= -->
+  <bean id="file" class="org.apache.forrest.core.reader.FileReader"></bean>
+  <bean id="tradeDoubler"
 		class="org.apache.forrest.core.reader.ChainedReader">
-		<property name="docType" 
+    <property name="docType" 
 		          value="org.apache.forrest.example.affiliateProductCatalogue.TradeDoublerProductFeed"/>
-    </bean>
-	
-	<!-- ============================================= -->
-	<!--               Input Plugins                   -->
-	<!-- ============================================= -->
-
-	<bean id="org.apache.forrest.example.affiliateProductCatalogue.TradeDoublerProductFeed"
+  </bean>
+<!-- ============================================= -->
+<!--               Input Plugins                   -->
+<!-- ============================================= -->
+  <bean id="org.apache.forrest.example.affiliateProductCatalogue.TradeDoublerProductFeed"
 		class="org.apache.forrest.core.plugin.XSLTInputPlugin">
-		<property name="xsltURL"
+    <property name="xsltURL"
 			value="/src/xslt/tradeDoublerFeed-to-internal.xsl" />
-	</bean>
-
-	<!-- ============================================= -->
-	<!--               Output Plugins                  -->
-	<!-- ============================================= -->
-
-	<bean id="htmlOutputPlugin"
+  </bean>
+<!-- ============================================= -->
+<!--               Output Plugins                  -->
+<!-- ============================================= -->
+  <bean id="htmlOutputPlugin"
 		class="org.apache.forrest.core.plugin.XSLTOutputPlugin">
-		<property name="pattern" value=".*(html|htm)" />
-		<property name="xsltPath"
+    <property name="pattern" value=".*(html|htm)" />
+    <property name="xsltPath"
 			value="/xdocs/samples/xslt/internal-to-html.xsl" />
-	</bean>
-
+  </bean>
 </beans>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/locationmap.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/locationmap.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/locationmap.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/locationmap.xml Mon Apr  9 23:05:03 2007
@@ -19,4 +19,4 @@
   <location regexp="tradeDoubler.*">
     <source href="tradeDoubler:classpath:/xdocs/exampleFeed.xml"/>
   </location>
-</locationmap>
\ No newline at end of file
+</locationmap>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xdocs/exampleFeed.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xdocs/exampleFeed.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xdocs/exampleFeed.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xdocs/exampleFeed.xml Mon Apr  9 23:05:03 2007
@@ -16,259 +16,302 @@
   limitations under the License.
 -->
 <products>
-    <product>
-        <TDProductId>32350009</TDProductId>
-        <name>Seven London Sterling Silver Cross and Chain</name>
-        <description>"Trendy, stylish and great quality, the fashion-conscious man in your life will love this sterling silver cross pendant and chain from Seven London"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230221377.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350009)</productUrl>
-        <price>45.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350011</TDProductId>
-        <name>Sterling Silver Heart Keyring</name>
-        <description>The key to your heart? This hallmarked sterling silver heart keyring makes an intimate gift. </description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230225943.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350011)</productUrl>
-        <price>25.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350013</TDProductId>
-        <name>"Heart Ring Holder, by Waterford Crystal"</name>
-        <description>Heart ring holder made of full lead crystal. Hand crafted in Ireland by Waterford Crystal. </description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230148641.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350013)</productUrl>
-        <price>22.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350015</TDProductId>
-        <name>"Philosophy Falling In Love Fragrance, 59.2ml"</name>
-        <description>"A sexy, sensual fragrance described by Philosophy as 'a creative blend of sweet, delectable vanilla"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230213127.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350015)</productUrl>
-        <price>32.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350017</TDProductId>
-        <name>"Michael Kors ""For Men"" Gift Set"</name>
-        <description>"""Michael Kors For Men"" is a sophisticated fragrance with notes of patchouli, suede, smoke and spices"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230220651.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350017)</productUrl>
-        <price>40.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350019</TDProductId>
-        <name>"Chocolates By Post, 320g"</name>
-        <description>Here’s a package they’ll definitely look forward to receiving in the post</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230221984.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350019)</productUrl>
-        <price>13.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350021</TDProductId>
-        <name>"Balmain Stripe Tie and Handkerchief Set, Aqua"</name>
-        <description>He'll look perfectly co-ordinated with this silk tie and handkerchief from Balmain</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230220187.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350021)</productUrl>
-        <price>25.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350023</TDProductId>
-        <name>"Radley Dog in Pocket Mini Shoulder Bag, Berry"</name>
-        <description>Soft leather shoulder bag from Radley with a main zipped fastening</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230220003.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350023)</productUrl>
-        <price>55.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350025</TDProductId>
-        <name>"Pashmina Shawl, Baby Pink"</name>
-        <description>"Beautifully soft, full size Pashmina with classic plain weave and fringe."</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230162999.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350025)</productUrl>
-        <price>75.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350027</TDProductId>
-        <name>Hudson Champagne Cocktail Set</name>
-        <description>"Live the high life with this handmade stainless steel and glass cocktail shaker, 2 handmade champagne glasses and 2 glass coasters"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230221019.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350027)</productUrl>
-        <price>15.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350029</TDProductId>
-        <name>Brut Champagne and Rosé</name>
-        <description>200ml bottles of Nicolas Feuillaté brut champagne and sparkling rosé. Each comes in a plastic box</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230221709.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350029)</productUrl>
-        <price>16.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350031</TDProductId>
-        <name>Brut Champagne and Chocolates</name>
-        <description>"A delectable duo of Belgian chocolates and a full bottle of champagne, made exclusively for John Lewis"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230220651.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350031)</productUrl>
-        <price>30.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350033</TDProductId>
-        <name>Rose &amp; Lily Super Bouquet</name>
-        <description>"The same beautiful mix as our standard bouquet, but with 33% more blooms for just 5 extra"</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230220427.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350033)</productUrl>
-        <price>40.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350035</TDProductId>
-        <name>Heaven Scent Arrangement</name>
-        <description>We've updated this hugely popular arrangement that we first introduced last spring</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230229130.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350035)</productUrl>
-        <price>35.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
-    <product>
-        <TDProductId>32350037</TDProductId>
-        <name>Sweet Unique Bouquet</name>
-        <description>A great value bouquet in bold colours</description>
-        <imageUrl>http://www.johnlewis.com/jl_assets/product/230229120.jpg</imageUrl>
-        <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350037)</productUrl>
-        <price>25.0</price>
-        <currency>GBP</currency>
-        <TDCategories>
-            <TDCategory>
-                <id>1480</id>
-                <name>Valentines</name>
-                <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
-            </TDCategory>
-        </TDCategories>
-        <fields/>
-    </product>
+  <product>
+    <TDProductId>32350009</TDProductId>
+    <name>Seven London Sterling Silver Cross and Chain</name>
+    <description>
+      "Trendy, stylish and great quality, the fashion-conscious man in your life
+      will love this sterling silver cross pendant and chain from Seven London"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230221377.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350009)</productUrl>
+    <price>45.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350011</TDProductId>
+    <name>Sterling Silver Heart Keyring</name>
+    <description>
+      The key to your heart? This hallmarked sterling silver heart keyring makes
+      an intimate gift.
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230225943.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350011)</productUrl>
+    <price>25.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350013</TDProductId>
+    <name>"Heart Ring Holder, by Waterford Crystal"</name>
+    <description>
+      Heart ring holder made of full lead crystal. Hand crafted in Ireland by
+      Waterford Crystal.
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230148641.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350013)</productUrl>
+    <price>22.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350015</TDProductId>
+    <name>"Philosophy Falling In Love Fragrance, 59.2ml"</name>
+    <description>
+      "A sexy, sensual fragrance described by Philosophy as 'a creative blend of
+      sweet, delectable vanilla"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230213127.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350015)</productUrl>
+    <price>32.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350017</TDProductId>
+    <name>"Michael Kors ""For Men"" Gift Set"</name>
+    <description>
+      """Michael Kors For Men"" is a sophisticated fragrance with notes of
+      patchouli, suede, smoke and spices"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230220651.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350017)</productUrl>
+    <price>40.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350019</TDProductId>
+    <name>"Chocolates By Post, 320g"</name>
+    <description>
+      Here’s a package they’ll definitely look forward to
+      receiving in the post
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230221984.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350019)</productUrl>
+    <price>13.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350021</TDProductId>
+    <name>"Balmain Stripe Tie and Handkerchief Set, Aqua"</name>
+    <description>
+      He'll look perfectly co-ordinated with this silk tie and handkerchief from
+      Balmain
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230220187.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350021)</productUrl>
+    <price>25.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350023</TDProductId>
+    <name>"Radley Dog in Pocket Mini Shoulder Bag, Berry"</name>
+    <description>
+      Soft leather shoulder bag from Radley with a main zipped fastening
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230220003.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350023)</productUrl>
+    <price>55.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350025</TDProductId>
+    <name>"Pashmina Shawl, Baby Pink"</name>
+    <description>
+      "Beautifully soft, full size Pashmina with classic plain weave and
+      fringe."
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230162999.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350025)</productUrl>
+    <price>75.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350027</TDProductId>
+    <name>Hudson Champagne Cocktail Set</name>
+    <description>
+      "Live the high life with this handmade stainless steel and glass cocktail
+      shaker, 2 handmade champagne glasses and 2 glass coasters"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230221019.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350027)</productUrl>
+    <price>15.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350029</TDProductId>
+    <name>Brut Champagne and Rosé</name>
+    <description>
+      200ml bottles of Nicolas Feuillaté brut champagne and sparkling
+      rosé. Each comes in a plastic box
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230221709.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350029)</productUrl>
+    <price>16.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350031</TDProductId>
+    <name>Brut Champagne and Chocolates</name>
+    <description>
+      "A delectable duo of Belgian chocolates and a full bottle of champagne,
+      made exclusively for John Lewis"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230220651.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350031)</productUrl>
+    <price>30.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350033</TDProductId>
+    <name>Rose &amp; Lily Super Bouquet</name>
+    <description>
+      "The same beautiful mix as our standard bouquet, but with 33% more blooms
+      for just 5 extra"
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230220427.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350033)</productUrl>
+    <price>40.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350035</TDProductId>
+    <name>Heaven Scent Arrangement</name>
+    <description>
+      We've updated this hugely popular arrangement that we first introduced
+      last spring
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230229130.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350035)</productUrl>
+    <price>35.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
+  <product>
+    <TDProductId>32350037</TDProductId>
+    <name>Sweet Unique Bouquet</name>
+    <description>
+      A great value bouquet in bold colours
+    </description>
+    <imageUrl>http://www.johnlewis.com/jl_assets/product/230229120.jpg</imageUrl>
+    <productUrl>http://pdt.tradedoubler.com/click?a(1290335)p(1231)prod(32350037)</productUrl>
+    <price>25.0</price>
+    <currency>GBP</currency>
+    <TDCategories>
+      <TDCategory>
+        <id>1480</id>
+        <name>Valentines</name>
+        <merchantName>PRODUCTS_WITHOUT_CATEGORIES</merchantName>
+      </TDCategory>
+    </TDCategories>
+    <fields/>
+  </product>
 </products>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xslt/tradeDoublerFeed-to-internal.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xslt/tradeDoublerFeed-to-internal.xsl?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xslt/tradeDoublerFeed-to-internal.xsl (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/affiliateProductCatalogue/src/xslt/tradeDoublerFeed-to-internal.xsl Mon Apr  9 23:05:03 2007
@@ -18,34 +18,41 @@
 <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/2002/06/xhtml2"
 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 	xmlns:html="http://www.w3.org/2002/06/xhtml2">
-
-	<xsl:template match="products">
-		<html xmlns=" http://www.w3.org/2002/06/xhtml2" 
+  <xsl:template match="products">
+    <html xmlns=" http://www.w3.org/2002/06/xhtml2" 
 		      xml:lang="en" 
 		      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 		      xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/ http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd">
-			<head>
-				<title>Trade Doubler Product Feed</title>
-			</head>
-			<body>
-				<xsl:apply-templates select="product"/>
-			</body>
-		</html>
-	</xsl:template>
-	
-	<xsl:template match="product">
-	  <h><xsl:value-of select="name"/></h>
-	  <p><xsl:value-of select="description"/></p>
-	  <img>
-	    <xsl:attribute name="src">
-	      <xsl:value-of select="imageUrl"/>
-	    </xsl:attribute>
-	  </img>
-	  <p>Price: <xsl:value-of select="price"/></p>
-	  <p><a>
-	    <xsl:attribute name="href"><xsl:value-of select="productUrl"/></xsl:attribute>
-		Buy Now
-	  </a></p>
-	</xsl:template>
-
+      <head>
+        <title>Trade Doubler Product Feed</title>
+      </head>
+      <body>
+        <xsl:apply-templates select="product"/>
+      </body>
+    </html>
+  </xsl:template>
+  <xsl:template match="product">
+    <h>
+      <xsl:value-of select="name"/>
+    </h>
+    <p>
+      <xsl:value-of select="description"/>
+    </p>
+    <img>
+      <xsl:attribute name="src">
+        <xsl:value-of select="imageUrl"/>
+      </xsl:attribute>
+    </img>
+    <p>
+      Price:
+      <xsl:value-of select="price"/>
+    </p>
+    <p>
+      <a>
+      <xsl:attribute name="href">
+        <xsl:value-of select="productUrl"/>
+      </xsl:attribute>
+      Buy Now </a>
+    </p>
+  </xsl:template>
 </xsl:stylesheet>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/forrestContext.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/forrestContext.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/forrestContext.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/forrestContext.xml Mon Apr  9 23:05:03 2007
@@ -16,40 +16,31 @@
   limitations under the License.
 -->
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
-
 <beans>
-
-	<!-- ============================================= -->
-	<!--                 Readers					   -->
-	<!-- ============================================= -->
-
-	<bean id="file" class="org.apache.forrest.core.reader.FileReader"></bean>
-	<bean id="http" class="org.apache.forrest.core.reader.HTTPReader"></bean>
-	<bean id="site" class="org.apache.forrest.reader.Forrest1SiteElementReader"></bean>
-		
-	<!-- ============================================= -->
-	<!--               Input Plugins                   -->
-	<!-- ============================================= -->
-
-	<bean id="org.apache.forrest.xdoc2"
+<!-- ============================================= -->
+<!--                 Readers					   -->
+<!-- ============================================= -->
+  <bean id="file" class="org.apache.forrest.core.reader.FileReader"></bean>
+  <bean id="http" class="org.apache.forrest.core.reader.HTTPReader"></bean>
+  <bean id="site" class="org.apache.forrest.reader.Forrest1SiteElementReader"></bean>
+<!-- ============================================= -->
+<!--               Input Plugins                   -->
+<!-- ============================================= -->
+  <bean id="org.apache.forrest.xdoc2"
       class="org.apache.forrest.core.plugin.XSLTInputPlugin">
-      <property name="xsltURL" value="src/resources/xslt/xdoc2-to-internal.xsl"/>
-    </bean>
-    
-	<bean id="org.apache.forrest.site"
+    <property name="xsltURL" value="src/resources/xslt/xdoc2-to-internal.xsl"/>
+  </bean>
+  <bean id="org.apache.forrest.site"
       class="org.apache.forrest.core.plugin.XSLTInputPlugin">
-      <property name="xsltURL" value="src/resources/xslt/site-to-internal.xsl"/>
-    </bean>
-
-	<!-- ============================================= -->
-	<!--               Output Plugins                  -->
-	<!-- ============================================= -->
-
-	<bean id="htmlOutputPlugin"
+    <property name="xsltURL" value="src/resources/xslt/site-to-internal.xsl"/>
+  </bean>
+<!-- ============================================= -->
+<!--               Output Plugins                  -->
+<!-- ============================================= -->
+  <bean id="htmlOutputPlugin"
 		class="org.apache.forrest.core.plugin.XSLTOutputPlugin">
-		<property name="pattern" value=".*(html|htm)" />
-		<property name="xsltPath"
+    <property name="pattern" value=".*(html|htm)" />
+    <property name="xsltPath"
 			value="/xdocs/samples/xslt/internal-to-html.xsl" />
-	</bean>
-
+  </bean>
 </beans>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/locationmap.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/locationmap.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/locationmap.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/locationmap.xml Mon Apr  9 23:05:03 2007
@@ -22,4 +22,4 @@
       <source href="classpath:/xdocs/$(1).xml"/>
     </aggregate>
   </location>
-</locationmap>
\ No newline at end of file
+</locationmap>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/site-to-internal.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/site-to-internal.xsl?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/site-to-internal.xsl (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/site-to-internal.xsl Mon Apr  9 23:05:03 2007
@@ -15,20 +15,16 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:i18n="http://apache.org/cocoon/i18n/2.1" exclude-result-prefixes="i18n">
-
 <!--+
   |Overall site template
   +-->
   <xsl:template match="/">
     <html>
-        <head>
-            <title>
-                <xsl:value-of select="div[@id='content']/h1"/>
-            </title>
-        </head>
+      <head>
+        <title><xsl:value-of select="div[@id='content']/h1"/></title>
+      </head>
       <body>
         <ul>
           <xsl:apply-templates/>
@@ -36,7 +32,6 @@
       </body>
     </html>
   </xsl:template>
-  
   <xsl:template match="*">
     <someElement/>
   </xsl:template>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/xdoc2-to-internal.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/xdoc2-to-internal.xsl?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/xdoc2-to-internal.xsl (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/resources/xslt/xdoc2-to-internal.xsl Mon Apr  9 23:05:03 2007
@@ -18,26 +18,24 @@
 <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/2002/06/xhtml2"
 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 	xmlns:html="http://www.w3.org/2002/06/xhtml2">
-
-	<xsl:template match="document">
-		<html xmlns="http://www.w3.org/2002/06/xhtml2" 
+  <xsl:template match="document">
+    <html xmlns="http://www.w3.org/2002/06/xhtml2" 
 		      xml:lang="en" 
 		      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 		      xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/ http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd">
-			<xsl:apply-templates/>
-		</html>
-	</xsl:template>
-	
-	<xsl:template match="header">
-	  <head>
-	    <xsl:apply-templates/>
-	  </head>
-	</xsl:template>
-	
-	<xsl:template match="title">
-	  <h><xsl:apply-templates/></h>
-	</xsl:template>
-	
+      <xsl:apply-templates/>
+    </html>
+  </xsl:template>
+  <xsl:template match="header">
+    <head>
+      <xsl:apply-templates/>
+    </head>
+  </xsl:template>
+  <xsl:template match="title">
+    <h>
+      <xsl:apply-templates/>
+    </h>
+  </xsl:template>
   <xsl:template match="@*|*|text()|processing-instruction()|comment()">
     <xsl:copy>
       <xsl:apply-templates select="@*|*|text()|processing-instruction()|comment()"/>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/index.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/index.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/index.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/index.xml Mon Apr  9 23:05:03 2007
@@ -16,34 +16,38 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Welcome to MyProj</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Welcome to MyProj</title>
+  </header>
+  <body>
     <section id="overview">
       <title>Congratulations</title>
-      <p>You have successfully generated and rendered an <a
-          href="ext:forrest">Apache Forrest</a> site.
-        This page is from the site template. It is found in
-        <code>src/documentation/content/xdocs/index.xml</code>
-        Please edit it and replace this text with content of your own.</p>
+      <p>
+        You have successfully generated and rendered an
+        <a
+          href="ext:forrest">Apache Forrest</a> site. This page is
+        from the site template. It is found in
+        <code>src/documentation/content/xdocs/index.xml</code> Please edit it
+        and replace this text with content of your own.
+      </p>
     </section>
-
     <section id="examples">
       <title>Using examples as templates</title>
       <p>
-        This demo site has many examples. See the menu at the left.
-        The sources for these examples are in the directory
+        This demo site has many examples. See the menu at the left. The sources
+        for these examples are in the directory
         <code>src/documentation/content/xdocs/</code>
       </p>
       <p>
-        The sources for the Apache Forrest website are also included
-        in your distribution at <code>$FORREST_HOME/site-author/</code>
+        The sources for the Apache Forrest website are also included in your
+        distribution at <code>$FORREST_HOME/site-author/</code>
+      </p>
+      <p>
+        You can also extend the functionality of Forrest via
+        <a href="site:plugins">plugins</a>, these will often come with more
+        samples for you to out.
       </p>
-      <p>You can also extend the functionality of Forrest via 
-      <a href="site:plugins">plugins</a>,
-      these will often come with more samples for you to out.</p>
     </section>
   </body>
 </document>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/ascii-art.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/ascii-art.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/ascii-art.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/ascii-art.xml Mon Apr  9 23:05:03 2007
@@ -16,18 +16,25 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Ascii Art sample</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Ascii Art sample</title>
+  </header>
+  <body>
     <section>
       <title>Sample Ascii Art</title>
-      <p>To create a <code>.png</code> image like the one below with ASCII art, just save 
-         the text file with the <code>.aart</code> extension and then link from any page
-         as an image (<code>&lt;image src="asci-art-file.png"/&gt;</code>).</p> 
-      <p><img src="cocoon-pyramid.png" alt="cocoon pyramid of management-(logic-content-style)"/></p> 
-      <p>Here is the source file that has created the above image.</p>         
+      <p>
+        To create a <code>.png</code> image like the one below with ASCII art,
+        just save the text file with the <code>.aart</code> extension and then
+        link from any page as an image (<code>&lt;image
+        src="asci-art-file.png"/&gt;</code>).
+      </p>
+      <p>
+        <img src="cocoon-pyramid.png" alt="cocoon pyramid of management-(logic-content-style)"/>
+      </p>
+      <p>
+        Here is the source file that has created the above image.
+      </p>
       <source>
  
          +-------------------+
@@ -39,18 +46,20 @@
    | logic +--+ content +--+ style |  
    +-------+  +---------+  +-------+  
  
-      </source>  
-      <p>An ascii art pad recognized following ascii characters:</p>  
-        <ul>
-          <li> '-' horizontal SVG line</li>
-          <li>'|' vertical SVG line</li>
-          <li> '+' corner</li>
-          <li> \ oblique line</li>
-          <li> String starting with letter, digit, or '_' is converted to a SVG text.</li>
-        </ul>
+      </source>
+      <p>
+        An ascii art pad recognized following ascii characters:
+      </p>
+      <ul>
+        <li> '-' horizontal SVG line</li>
+        <li>'|' vertical SVG line</li>
+        <li> '+' corner</li>
+        <li> \ oblique line</li>
+        <li> String starting with letter, digit, or '_' is converted to a SVG text.</li>
+      </ul>
     </section>
-  </body> 
-  <footer> 
+  </body>
+  <footer>
     <legal>Copyright 2002-2005 The Apache Software Foundation or its licensors, as applicable.</legal>
   </footer>
 </document>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/customSchema.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/customSchema.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/customSchema.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/customSchema.xml Mon Apr  9 23:05:03 2007
@@ -16,39 +16,42 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Custom Schema</title> 
-  </header> 
-  <body> 
-    <p>Forrest comes with a set of schemas for common documents, however, if you have existing documents
-    that use a different schema you will want to tell Forrest how to work with them. The best way of doing
-    this is to <a href="ext:forrest/buildPlugin">build a plugin</a>
-    so that you can easily reuse the functionality on different projects. Plugins also allow you to share
-    this new functionality with other users, and to benefit from their contributions to your work.</p>
-    
-    <p>If you don't want to build a plugin you can make Forrest process them within your project sitemap 
-    (but this won't really save you any work since the process is almost the same). This sample site has
-    a demonstration of using a custom DTD. If you request <a href="site:custom-example">&lt;a href="custom.html"&gt;</a>
-    you can see the results.
-      </p>
-      <p>
-        Look at the project <code>sitemap.xmap</code> to see how it is done.
-        View the xml source at
-        "src/documentation/content/samples/custom.xml" and
-        refer to the DTD and its configuration at
-        "src/documentation/resources/schema/".
-        See the project sitemap at "src/documentation/sitemap.xmap" for how
-        the custom doctype is processed and the stylesheet is applied.
-      </p>
-      <p>
-        See the
-        <a href="ext:forrest/new_content_type">full story</a>
-        about handling custom document types.
-      </p>
-
-    <note>Adding custom schemas with a plugin has the added benefit of being able to add the schema
-    definition to the catalog file rather than having to reference it directly from within the XML
-    document.</note>
+<document>
+  <header>
+    <title>Custom Schema</title>
+  </header>
+  <body>
+    <p>
+      Forrest comes with a set of schemas for common documents, however, if you
+      have existing documents that use a different schema you will want to tell
+      Forrest how to work with them. The best way of doing this is to
+      <a href="ext:forrest/buildPlugin">build a plugin</a> so that you can
+      easily reuse the functionality on different projects. Plugins also allow
+      you to share this new functionality with other users, and to benefit from
+      their contributions to your work.
+    </p>
+    <p>
+      If you don't want to build a plugin you can make Forrest process them
+      within your project sitemap (but this won't really save you any work since
+      the process is almost the same). This sample site has a demonstration of
+      using a custom DTD. If you request <a href="site:custom-example">&lt;a
+      href="custom.html"&gt;</a> you can see the results.
+    </p>
+    <p>
+      Look at the project <code>sitemap.xmap</code> to see how it is done. View
+      the xml source at "src/documentation/content/samples/custom.xml" and refer
+      to the DTD and its configuration at "src/documentation/resources/schema/".
+      See the project sitemap at "src/documentation/sitemap.xmap" for how the
+      custom doctype is processed and the stylesheet is applied.
+    </p>
+    <p>
+      See the <a href="ext:forrest/new_content_type">full story</a> about
+      handling custom document types.
+    </p>
+    <note>
+      Adding custom schemas with a plugin has the added benefit of being able to
+      add the schema definition to the catalog file rather than having to
+      reference it directly from within the XML document.
+    </note>
   </body>
 </document>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.de.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.de.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.de.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.de.xml Mon Apr  9 23:05:03 2007
@@ -16,30 +16,29 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Wilkommen zu "MyProj"</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Wilkommen zu "MyProj"</title>
+  </header>
+  <body>
     <section id="overview">
       <title>Bravo!</title>
-      <p>Sie haben ein <a href="ext:forrest">Apache Forrest</a> basiertes 
-        Projekt generiert. Diese Seite wird von einer xdocs konformen Datei 
+      <p>
+        Sie haben ein <a href="ext:forrest">Apache Forrest</a> basiertes Projekt
+        generiert. Diese Seite wird von einer xdocs konformen Datei
         <code>src/documentation/content/xdocs/samples/demo-i18n.de.xml</code>
       </p>
     </section>
-    
     <section id="see-english">
       <title>Übersetzungen</title>
       <p>
-        Im Site-Skeleton ist nur diese Seite übersetzt, um die i18n-Features
-        zu testen.
+        Im Site-Skeleton ist nur diese Seite übersetzt, um die i18n-Features zu
+        testen.
       </p>
       <p>
         Für mehr Informationen, konsultieren Sie bitte die
         <a href="site:i18n">i18n</a>.
       </p>
     </section>
-
   </body>
 </document>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.fr.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.fr.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.fr.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.fr.xml Mon Apr  9 23:05:03 2007
@@ -16,26 +16,27 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Bienvenue sur "MyProj"</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Bienvenue sur "MyProj"</title>
+  </header>
+  <body>
     <section id="overview">
       <title>Félicitations</title>
-      <p>Vous avez généré un site basé sur <a
-          href="ext:forrest">Apache Forrest</a>.
-        Cette page provient du squelette de site fourni avec Forrest,
-        son contenu se trouve dans le fichier 
+      <p>
+        Vous avez généré un site basé sur
+        <a
+          href="ext:forrest">Apache Forrest</a>. Cette page provient
+        du squelette de site fourni avec Forrest, son contenu se trouve dans le
+        fichier
         <code>src/documentation/content/xdocs/samples/demo-i18n.fr.xml</code>
       </p>
     </section>
-
     <section id="see-english">
       <title>Traductions</title>
       <p>
-        Ce squelette de site n'est pas traduit, seule cette page est fournie
-        en français pour tester le mécanisme i18n.
+        Ce squelette de site n'est pas traduit, seule cette page est fournie en
+        français pour tester le mécanisme i18n.
       </p>
       <p>
         Pour plus d'infos, voir la <a href="site:i18n">i18n</a>.

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.nl.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.nl.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.nl.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.nl.xml Mon Apr  9 23:05:03 2007
@@ -16,16 +16,18 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Welkom bij MijnProject</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Welkom bij MijnProject</title>
+  </header>
+  <body>
     <section id="overview">
       <title>Gefeliciteerd!</title>
-      <p>U hebt succesvol een <a
-          href="ext:forrest">Apache Forrest</a> site aangemaakt.
-        Deze pagina komt uit een site template. Dit template vind u in 
+      <p>
+        U hebt succesvol een <a
+          href="ext:forrest">Apache Forrest</a>
+        site aangemaakt. Deze pagina komt uit een site template. Dit template
+        vind u in
         <code>src/documentation/content/xdocs/samples/demo-i18n.nl.xml</code>
       </p>
     </section>

Modified: forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.xml?view=diff&rev=527041&r1=527040&r2=527041
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.xml (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/examples/forrest1SeedSite/src/xdocs/samples/demo-i18n.xml Mon Apr  9 23:05:03 2007
@@ -16,20 +16,21 @@
   limitations under the License.
 -->
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document> 
-  <header> 
-    <title>Welcome to MyProj</title> 
-  </header> 
-  <body> 
+<document>
+  <header>
+    <title>Welcome to MyProj</title>
+  </header>
+  <body>
     <section id="overview">
       <title>Congratulations</title>
-      <p>You have successfully generated and rendered an <a
-          href="ext:forrest">Apache Forrest</a> site.
-        This page is from the site template. It is found in
+      <p>
+        You have successfully generated and rendered an
+        <a
+          href="ext:forrest">Apache Forrest</a> site. This page is
+        from the site template. It is found in
         <code>src/documentation/content/xdocs/samples/demo-i18n.xml</code>
       </p>
     </section>
-
     <section id="see-english">
       <title>Translations</title>
       <p>



Mime
View raw message