forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r160895 [18/28] - in forrest/site/0.7: ./ docs/ docs/howto/ docs/images/ docs/plugins/
Date Mon, 11 Apr 2005 14:59:15 GMT
Propchange: forrest/site/0.7/docs/howto-v20.dtdx.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/0.7/docs/howto-v20.dtdx.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto-v20.dtdx.pdf?view=auto&rev=160895
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/0.7/docs/howto-v20.dtdx.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/0.7/docs/howto/forrest.xmap.html
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/forrest.xmap.html?view=auto&rev=160895
==============================================================================
--- forrest/site/0.7/docs/howto/forrest.xmap.html (added)
+++ forrest/site/0.7/docs/howto/forrest.xmap.html Mon Apr 11 07:58:59 2005
@@ -0,0 +1,747 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<meta-data>
+<meta content="HTML Tidy, see www.w3.org" name="generator">
+</meta-data>
+<title>Annotated forrest.xmap (v0.7)</title>
+<link type="text/css" href="../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../skin/profile.css" rel="stylesheet">
+<script src="../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../../images/apache-forrest.png" title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google:');" value="Search the site with google:" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Welcome</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../contrib.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../docs/index.html">0.7 Docs</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../docs/howto/index.html">0.7 How-To</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../../skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../index.html">Index</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../license.html">License</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://forrest.apache.org/mirrors.cgi">Download</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../who.html">Who we are</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../flyer.html">Flyer</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../live-sites.html">Example sites</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../../skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/faq.html">FAQs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/changes.html">Changes</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/todo.html">Todo</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/your-project.html">Using Forrest</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/validation.html">XML Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/linking.html">Menus and Linking</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/searching.html">Searching</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/skins.html">Default Skins</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/skin-package.html">Skin Packages</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/plugins/usingPlugins.html">Plugins</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/views.html">Views-dev</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/forrest-contract.html">Our Contract</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/compliance.html">Standards Compliance</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.15', '../../skin/')" id="menu_1.2.15Title" class="menutitle">Advanced Topics</div>
+<div id="menu_1.2.15" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/build.html">Building Forrest</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/catalog.html">Using DTD Catalogs</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/sitemap-ref.html">Sitemap Reference</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/project-sitemap.html">Project sitemap</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/plugins/pluginInfrastructure.html">Plugin Infrastructure</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/cap.html">Sourcetype Action</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.16', '../../skin/')" id="menu_1.2.16Title" class="menutitle">Other versions</div>
+<div id="menu_1.2.16" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://forrest.apache.org/docs/../0.8/">0.8-dev</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/index.html">0.7 (current)</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://forrest.apache.org/docs/../0.6/">0.6</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.17', '../../skin/')" id="menu_1.2.17Title" class="menutitle">Upgrading</div>
+<div id="menu_1.2.17" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/upgrading_07.html">Upgrading to 0.7</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/upgrading_06.html">Upgrading to 0.6</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.18', '../../skin/')" id="menu_1.2.18Title" class="menutitle">SubProjects</div>
+<div id="menu_1.2.18" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/forrestbar.html">ForrestBar</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/forrestbot.html">Forrestbot</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/forrestbot-web-interface.html">Forrestbot Webapp</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.19', '../../skin/')" id="menu_1.2.19Title" class="menutitle">Reference docs</div>
+<div id="menu_1.2.19" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.2.19.1', '../../skin/')" id="menu_1.2.19.1Title" class="menutitle">DTD documentation</div>
+<div id="menu_1.2.19.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/dtd-docs.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/document-v20.dtdx.html">document-v20</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto-v20.dtdx.html">howto-v20</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/faq-v20.dtdx.html">faq-v20</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/document-v13.dtdx.html">document-v13</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto-v13.dtdx.html">howto-v13</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/faq-v13.dtdx.html">faq-v13</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.19.2', '../../skin/')" id="menu_1.2.19.2Title" class="menutitle">Doc samples</div>
+<div id="menu_1.2.19.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/document-v13.html">document-v13</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/document-v20.html">document-v20</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.20', '../../skin/')" id="menu_1.2.20Title" class="menutitle">Older Docs</div>
+<div id="menu_1.2.20" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/primer.html">Forrest Primer</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/libre-intro.html">Libre</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/dreams.html">Dream list</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.21', '../../skin/')" id="menu_1.2.21Title" class="menutitle">How-To</div>
+<div id="menu_1.2.21" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../docs/howto/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-howto.html">Write a How-to</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-asf-mirror.html">Download mirror</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-pdf-tab.html">Create tab PDF</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-corner-images.html">CSS corner SVG</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-forrest-from-maven.html">Maven Integration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-buildPlugin.html">Build a Plugin</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-custom-html-source.html">Custom html source</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', '../../skin/')" id="menu_1.3Title" class="menutitle">Getting Involved</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../contrib.html">Contributing</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://svn.apache.org/viewcvs.cgi/forrest/trunk/">Browse SVN</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../mail-lists.html">Mail lists</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://issues.cocoondev.org/secure/BrowseProject.jspa?id=10000">Bugs and Issues</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../forrest-issues.html">Open Issues</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://brutus.apache.org/gump/public/forrest/">Gump Integration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../guidelines.html">Project guidelines</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4', '../../skin/')" id="menu_1.4Title" class="menutitle">Proposals</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../proposal-asf-publish.html">ASF Publishing</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../proposal-asf-forrestbot.html">ASF Forrestbot</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.5', '../../skin/')" id="menu_1.5Title" class="menutitle">Related projects</div>
+<div id="menu_1.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="http://gump.apache.org/">Apache Gump</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://cocoon.apache.org/">Apache Cocoon</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://lenya.apache.org/">Apache Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://xml.apache.org/">Apache XML</a>
+</div>
+<div class="menuitem">
+<a title="" href="http://www.apache.org/~vgritsenko/stats/">Statistics</a>
+</div>
+</div>
+<div id="credit">
+<hr>
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="forrest.xmap.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<div class="trail">
+	        Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Annotated forrest.xmap</h1>
+<div id="motd-area">
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#sitemap.xmap">sitemap.xmap</a>
+<ul class="minitoc">
+<li>
+<a href="#Definition+of+File-Resolver-Resource">Definition of File-Resolver-Resource</a>
+</li>
+<li>
+<a href="#Second+Match+for+%27**.xml%27">Second Match for '**.xml'</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<a name="N10010"></a><a name="sitemap.xmap"></a>
+<h2 class="underlined_10">sitemap.xmap</h2>
+<div class="section">
+<pre>
+&lt;?xml version="1.0"?&gt;
+&lt;!-- ===============================================
+Pipelines defining all Source XML types Forrest can handle.
+Converts from arbitrary formats to standard Forrest doc-v12 XML.
+
+First, determines if a simple format file exists.
+Candidates are: .html .ihtml .txt .sxw .jspwiki 
+
+Otherwise, the default *.xml handling is used.  The XML's DTD type is
+discovered using the SourceTypeAction, and an appropriate transformation
+applied.  Thus to add new XML types, just define a new &lt;sourcetype&gt;
+and an appropriate &lt;map:when&gt; handler.
+
+Generates  :  Source XML, Body HTML for *.ehtml
+Example URL:  http://localhost:8888/index.xml
+Used by    :  *.html and *.pdf pipelines in sitemap.xmap
+Uses       :  content/xdocs/**.xml
+
+$Revision: 1.8 $
+==================================================== --&gt;
+
+&lt;map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+  &lt;map:components&gt;
+    &lt;map:generators default="file"&gt;
+      &lt;map:generator name="html"      src="org.apache.cocoon.generation.HTMLGenerator"&gt;
+        &lt;jtidy-config&gt;WEB-INF/jtidy.properties&lt;/jtidy-config&gt;
+      &lt;/map:generator&gt;
+      &lt;map:generator name="text2xml" logger="sitemap.generator.textgenerator"
+                     src="org.apache.cocoon.generation.TextGenerator"&gt;
+       &lt;parameter name="localizable" value="true"/&gt;
+      &lt;/map:generator&gt;
+      &lt;map:generator name="exception"
+                  src="org.apache.cocoon.generation.ParseExceptionGenerator"/&gt;
+                  
+    &lt;/map:generators&gt;
+    &lt;map:serializers default="html"/&gt;
+    &lt;map:matchers default="wildcard"/&gt;
+
+    &lt;map:transformers default="xslt"&gt;
+     &lt;map:transformer name="pattern"
+                      src="org.apache.cocoon.transformation.PatternTransformer" 
+                      logger="sitemap.transformer.pattern"&gt;
+      &lt;parameter name="groups" value="true"/&gt;
+     &lt;/map:transformer&gt;
+     &lt;map:transformer name="lexer"
+                      src="org.apache.cocoon.transformation.LexicalTransformer" 
+                      logger="sitemap.transformer.lexer"&gt;
+      &lt;parameter name="localizable" value="true"/&gt;
+     &lt;/map:transformer&gt;
+     &lt;map:transformer name="parser"
+                      src="org.apache.cocoon.transformation.ParserTransformer" 
+                      logger="sitemap.transformer.parser"&gt;
+      &lt;parameter name="flatten" value="true"/&gt;
+      &lt;parameter name="recovery" value="true"/&gt;
+      &lt;parameter name="localizable" value="true"/&gt;
+     &lt;/map:transformer&gt;
+  
+     &lt;map:transformer name="extparser"
+                      src="org.apache.cocoon.transformation.ExtendedParserTransformer"
+                      logger="sitemap.transformer.extendedparser"&gt;
+     &lt;/map:transformer&gt;
+    &lt;/map:transformers&gt;
+
+    &lt;map:actions&gt;
+      &lt;map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.sourcetype.SourceTypeAction"&gt;
+        &lt;sourcetype name="document-v10"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Documentation V1.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="howto-v10"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="todo-v10"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Todo V1.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="changes-v10"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Changes V1.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="document-v11"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="howto-v11"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD How-to V1.1//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="todo-v11"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Todo V1.1//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="changes-v11"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Changes V1.1//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="todo-v12"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Todo V1.2//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="changes-v12"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Changes V1.2//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="howto-v12"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD How-to V1.2//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="todo-v13"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Todo V1.3//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="changes-v13"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Changes V1.3//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="howto-v13"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD How-to V1.3//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="document-v20a"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="document-v20"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Documentation V2.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="todo-v20"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Todo V2.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="changes-v20"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD Changes V2.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+        &lt;sourcetype name="howto-v20"&gt;
+          &lt;document-declaration public-id="-//APACHE//DTD How-to V2.0//EN" /&gt;
+        &lt;/sourcetype&gt;
+      &lt;/map:action&gt;
+      &lt;map:action logger="sitemap.action.locale" name="locale" src="org.apache.cocoon.acting.LocaleAction"&gt;
+      &lt;/map:action&gt;
+    &lt;/map:actions&gt;
+    &lt;map:selectors default="parameter"&gt;
+    &lt;map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" /&gt;
+   &lt;map:selector logger="sitemap.selector.exception" name="exception"
+                 src="org.apache.cocoon.selection.ExceptionSelector"&gt;
+     &lt;exception name="syntax" class="net.sourceforge.chaperon.process.ParseException"/&gt;
+     &lt;exception class="java.lang.Throwable" unroll="true"/&gt;
+   &lt;/map:selector&gt;
+      &lt;map:selector logger="sitemap.selector.config" name="config" src="org.apache.cocoon.selection.SimpleSelector" /&gt;
+    &lt;/map:selectors&gt;
+  &lt;/map:components&gt;
+
+  &lt;map:resources&gt;
+    &lt;map:resource name="transform-to-document"&gt;
+      &lt;map:act type="sourcetype" src="{src}"&gt;
+        &lt;map:select type="parameter"&gt;
+          &lt;map:parameter name="parameter-selector-test" value="{sourcetype}" /&gt;
+
+          &lt;map:when test="document-v10"&gt;
+          &lt;!-- FIXME (JJP):  This should use the v12 now--&gt;
+            &lt;map:transform src="{forrest:stylesheets}/docv10todocv11.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="document-v20a"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/docv20todocv12.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="document-v20"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/docv20todocv13.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="howto-v10"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/howto2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="howto-v11"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/howto2document.xsl" /&gt;
+          &lt;/map:when&gt;
+          &lt;map:when test="howto-v12"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/howto2document.xsl" /&gt;
+          &lt;/map:when&gt;
+          &lt;map:when test="howto-v13"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/howto2document.xsl" /&gt;
+          &lt;/map:when&gt;
+          &lt;map:when test="howto-v20"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/howto2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="todo-v10"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/todo2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="todo-v11"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/todo2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="todo-v12"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/todo2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="todo-v13"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/todo2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="todo-v20"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/todo2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="changes-v10"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changesv10tochangesv11.xsl" /&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changes2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="changes-v11"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changes2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="changes-v12"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changes2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="changes-v13"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changes2document.xsl" /&gt;
+          &lt;/map:when&gt;
+
+          &lt;map:when test="changes-v20"&gt;
+            &lt;map:transform src="{forrest:stylesheets}/changes2document.xsl" /&gt;
+          &lt;/map:when&gt;
+          &lt;map:otherwise /&gt;
+        &lt;/map:select&gt;
+      &lt;/map:act&gt;
+    &lt;/map:resource&gt;
+</pre>
+<a name="N10016"></a><a name="Definition+of+File-Resolver-Resource"></a>
+<h3 class="underlined_5">Definition of File-Resolver-Resource</h3>
+<pre>
+    &lt;map:resource name="file-resolver"&gt;
+      &lt;map:select type="exists"&gt;
+        &lt;map:when test="{project:content.xdocs}{uri}.ihtml"&gt;
+          &lt;map:generate src="{project:content.xdocs}{uri}.ihtml" type="html" /&gt;
+          &lt;map:transform src="{forrest:stylesheets}/html2document.xsl" /&gt;
+          &lt;map:transform type="idgen" /&gt;
+          &lt;map:serialize type="xml-document"/&gt;
+        &lt;/map:when&gt;
+        &lt;map:when test="{project:content.xdocs}{uri}.html"&gt;
+          &lt;map:generate src="{project:content.xdocs}{uri}.html" type="html" /&gt;
+          &lt;map:transform src="{forrest:stylesheets}/html2document.xsl" /&gt;
+          &lt;map:transform type="idgen" /&gt;
+          &lt;map:serialize type="xml-document"/&gt;
+        &lt;/map:when&gt;
+        &lt;map:when test="{project:content.xdocs}{uri}.txt"&gt;
+          &lt;map:match type="regexp" pattern="^(.*?)([^/]*).xml$"&gt;
+            &lt;map:generate type="text2xml" src="{project:content.xdocs}{1}{2}.txt" /&gt;
+            &lt;map:transform src="{forrest:stylesheets}/text2document.xsl"&gt;
+              &lt;map:parameter name="filename" value="{2}" /&gt;
+            &lt;/map:transform&gt;
+            &lt;map:serialize type="xml-document"/&gt;
+          &lt;/map:match&gt;
+        &lt;/map:when&gt;
+        &lt;map:otherwise&gt;
+        
+          &lt;map:select type="exists"&gt;
+             &lt;map:when test="{project:temp-dir}/input.xmap"&gt;
+               &lt;map:mount uri-prefix=""
+                          src="{project:temp-dir}/input.xmap" 
+                          check-reload="yes" 
+                          pass-through="true"/&gt;
+            &lt;/map:when&gt;
+          &lt;/map:select&gt;
+        
+          &lt;map:generate src="{project:content.xdocs}{uri}.xml" /&gt;
+          &lt;map:call resource="transform-to-document"&gt;
+            &lt;map:parameter name="src" value="{project:content.xdocs}{uri}.xml" /&gt;
+          &lt;/map:call&gt;
+          &lt;map:serialize type="xml-document"/&gt;
+        &lt;/map:otherwise&gt;
+      &lt;/map:select&gt;
+    &lt;/map:resource&gt;
+  &lt;/map:resources&gt;
+
+  &lt;map:pipelines&gt;
+    &lt;map:pipeline&gt;
+
+      &lt;!-- ============================================================ --&gt;
+      &lt;!-- INTERMEDIATE FORMATS                                         --&gt;
+      &lt;!-- ============================================================ --&gt;
+
+      &lt;map:match pattern="**body-*.html"&gt;
+        &lt;map:select type="exists"&gt;
+          &lt;map:when test="{project:content.xdocs}{1}{2}.ehtml"&gt;
+            &lt;map:generate src="{project:content.xdocs}{1}{2}.ehtml" /&gt;
+            &lt;map:transform src="{forrest:stylesheets}/html2htmlbody.xsl" /&gt;
+            &lt;map:serialize type="xml" /&gt;
+          &lt;/map:when&gt;
+        &lt;/map:select&gt;
+      &lt;/map:match&gt;
+
+      &lt;!-- ============================================================ --&gt;
+      &lt;!-- SOURCE FORMATS                                               --&gt;
+      &lt;!-- ============================================================ --&gt;
+</pre>
+<a name="N1001C"></a><a name="Second+Match+for+%27**.xml%27"></a>
+<h3 class="underlined_5">Second Match for '**.xml'</h3>
+<pre>
+      &lt;map:match pattern="**.xml"&gt;
+        &lt;map:select type="config"&gt;
+          &lt;map:parameter name="value" value="{defaults:i18n}"/&gt;
+          &lt;map:when test="true"&gt;
+          &lt;map:act type="locale"&gt;
+            &lt;map:call resource="file-resolver"&gt;
+              &lt;map:parameter name="uri" value="{../1}_{language}"/&gt;
+            &lt;/map:call&gt;
+          &lt;/map:act&gt;
+          &lt;/map:when&gt;
+          &lt;map:otherwise&gt;
+            &lt;map:call resource="file-resolver"&gt;
+              &lt;map:parameter name="uri" value="{1}"/&gt;
+            &lt;/map:call&gt;
+          &lt;/map:otherwise&gt;
+        &lt;/map:select&gt;
+      &lt;/map:match&gt;
+      
+    &lt;/map:pipeline&gt;
+  &lt;/map:pipelines&gt;
+&lt;/map:sitemap&gt;
+</pre>
+</div>
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2005 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/0.7/docs/howto/forrest.xmap.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/0.7/docs/howto/forrest.xmap.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/forrest.xmap.pdf?view=auto&rev=160895
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/0.7/docs/howto/forrest.xmap.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/0.7/docs/howto/howto-asf-mirror.html
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-asf-mirror.html?view=auto&rev=160895
==============================================================================
--- forrest/site/0.7/docs/howto/howto-asf-mirror.html (added)
+++ forrest/site/0.7/docs/howto/howto-asf-mirror.html Mon Apr 11 07:58:59 2005
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<meta-data></meta-data>
+<title>Generate an ASF mirrors page using interactive web form (v0.7)</title>
+<link type="text/css" href="../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../skin/profile.css" rel="stylesheet">
+<script src="../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../../images/apache-forrest.png" title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google:');" value="Search the site with google:" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Welcome</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../contrib.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../docs/index.html">0.7 Docs</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../docs/howto/index.html">0.7 How-To</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../skin/images/chapter_open.gif');">How-To</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../docs/howto/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-howto.html">Write a How-to</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Download mirror</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-pdf-tab.html">Create tab PDF</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-corner-images.html">CSS corner SVG</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-forrest-from-maven.html">Maven Integration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-buildPlugin.html">Build a Plugin</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-custom-html-source.html">Custom html source</a>
+</div>
+</div>
+<div id="credit">
+<hr>
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="howto-asf-mirror.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<div class="trail">
+	        Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Generate an ASF mirrors page using interactive web form</h1>
+<div class="abstract">Use ihtml (interpreted html) to include html form elements
+    into a forrest-generated html page. For example, this enables building
+    automated download mirror pages for ASF project websites.
+    </div>
+<div id="motd-area">
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#cgi">Add the mirrors.cgi as a raw file</a>
+</li>
+<li>
+<a href="#ihtml">Add the mirrors.ihtml to xdocs directory</a>
+</li>
+<li>
+<a href="#menu">Add a menu entry for Download</a>
+</li>
+<li>
+<a href="#link">Cause the mirrors.ithml to be processed as an extra file</a>
+</li>
+<li>
+<a href="#forrest">Run 'forrest' to build your site</a>
+</li>
+<li>
+<a href="#explain">Explanation of the process</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+  
+<header>
+    
+<title>Generate an ASF mirrors page using interactive web form</title>
+
+    
+<a name="N10016"></a><a name="Overview"></a>
+<h2 class="underlined_10">Overview</h2>
+<div class="section">
+<p>Use ihtml (interpreted html) to include html form elements
+    into a forrest-generated html page. For example, this enables building
+    automated download mirror pages for ASF project websites.
+    </p>
+</div>
+
+    
+<last-modified-content-date date="2004-07-19"></last-modified-content-date>
+  
+</header>
+
+  
+<a name="N10021"></a><a name="Intended Audience"></a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<ul>
+      
+<li>Any Apache project that uses Forrest to generate their website
+        will need to have a mirrors page.</li>
+      
+<li>Also anyone interested in the use of ihtml to embed html form
+        elements into a generated Forrest page.</li>
+    
+</ul>
+</div>
+
+  
+<a name="N10030"></a><a name="Purpose"></a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<p>All Apache projects use dynamically generated download pages
+    which determine the closest mirror and provide an interactive list of
+    the current alternative mirrors.
+    This HowTo describes the procedure to generate the template page
+    that is utilised by the mirrors.cgi script. The processed page
+    includes html "form" elements that are not included in the xdocs DTDs.
+    </p>
+<p>This process has many exciting applications, beyond the scope of
+     this document.
+    </p>
+</div>
+
+  
+<a name="N1003C"></a><a name="Prerequisites"></a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<ul>
+      
+<li>Followed the documentation about
+      <a href="http://www.apache.org/~bodewig/mirror.html">Making your
+      downloads mirrorable</a> and
+      <a href="http://www.apache.org/dev/mirrors.html">Apache Mirroring Information</a>
+      .
+      </li>
+      
+<li>Established your ASF distribution space as described.</li>
+      
+<li>Already building your project website with Forrest.</li>
+    
+</ul>
+</div>
+
+  
+<a name="N10056"></a><a name="Steps"></a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<a name="N1005B"></a><a name="cgi"></a>
+<h3 class="underlined_5">Add the mirrors.cgi as a raw file</h3>
+<p>As explained in the mirrors document, there will be a two-line CGI
+      wrapper script at the top-level of your website called
+      <span class="codefrag">mirrors.cgi</span>
+</p>
+<p>Utilising the Forrest concept of raw un-processed content,
+       add the file as <span class="codefrag">src/documentation/mirrors.cgi</span>
+       (copy the Forrest project's
+        <a href="http://svn.apache.org/repos/asf/forrest/trunk/src/documentation/content/mirrors.cgi">mirrors.cgi</a>)
+      </p>
+<a name="N10071"></a><a name="ihtml"></a>
+<h3 class="underlined_5">Add the mirrors.ihtml to xdocs directory</h3>
+<p>This file contains the html content of your mirror page, including
+        the html form elements which drive the mirror selection. It also
+        contains the specific tokens that are interpreted by the mirrors.cgi
+        script to add the list of mirrors and select the closest.
+      </p>
+<p>
+        Add the file as <span class="codefrag">src/documentation/xdocs/mirrors.html</span>
+        (Use the Forrest project's
+        <a href="http://svn.apache.org/repos/asf/forrest/trunk/src/documentation/content/xdocs/mirrors.ihtml">mirrors.html</a>
+        as a template and edit it to suit.)
+      </p>
+<a name="N10085"></a><a name="menu"></a>
+<h3 class="underlined_5">Add a menu entry for Download</h3>
+<p>Add an entry to your site.xml navigation. For example ...
+      </p>
+<pre class="code">
+ &lt;about label="About"&gt;
+  &lt;index label="Index" href="index.html"/&gt;
+  &lt;license label="License" href="license.html"/&gt;
+  &lt;download label="Download" href="http://forrest.apache.org/mirrors.cgi"/&gt;
+  &lt;download_html href="mirrors.html"/&gt;&lt;!-- so the page is part of a tab --&gt;
+  ...</pre>
+<a name="N10093"></a><a name="link"></a>
+<h3 class="underlined_5">Cause the mirrors.ithml to be processed as an extra file</h3>
+<p>Forrest gathers the links that are to be crawled, by reading site.xml
+        and by finding any other internal links in the actual documents.
+        There is no link to mirrors.html because it is an extra file that needs
+        to be generated and skinned, but not linked in any way.
+      </p>
+<p>The Cocoon command-line interface
+        (<a href="http://cocoon.apache.org/2.1/userdocs/offline/">CLI</a>)
+        to the rescue. Add an entry to your project's cli.xconf by copying the
+        default one from
+        <span class="codefrag">$FORREST_HOME/context/WEB-INF/cli.xconf</span> to your
+        <span class="codefrag">src/documentation/conf/</span> directory (or wherever
+        ${forrest.conf-dir} points). Add the following entry ...
+      </p>
+<pre class="code">
+&lt;uris name="mirrors" follow-links="false"&gt;
+  &lt;uri type="append" src="mirrors.html"/&gt;
+&lt;/uris&gt;</pre>
+<a name="N100AE"></a><a name="forrest"></a>
+<h3 class="underlined_5">Run 'forrest' to build your site</h3>
+<p>
+        That is all that you need to do, Forrest will take care of it from
+        there. Run the '<span class="codefrag">forrest</span>' command. The mirrors.html page
+        will be generated with the skin applied.
+      </p>
+<a name="N100BB"></a><a name="explain"></a>
+<h3 class="underlined_5">Explanation of the process</h3>
+<p>Forrest automatically reads ihtml files and transforms the html source
+      to the forrest xdocs intermediate format. It mainly detects heading
+      elements (h1, h2, etc.) and converts them to "sections". The remainder
+      of the html elements are copied over as-is. With this technique the
+      html form elements are copied over to the output.
+      </p>
+</div>
+
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2005 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/0.7/docs/howto/howto-asf-mirror.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/0.7/docs/howto/howto-asf-mirror.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-asf-mirror.pdf?view=auto&rev=160895
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/0.7/docs/howto/howto-asf-mirror.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/0.7/docs/howto/howto-buildPlugin.html
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-buildPlugin.html?view=auto&rev=160895
==============================================================================
--- forrest/site/0.7/docs/howto/howto-buildPlugin.html (added)
+++ forrest/site/0.7/docs/howto/howto-buildPlugin.html Mon Apr 11 07:58:59 2005
@@ -0,0 +1,596 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<meta-data></meta-data>
+<title>How to Build a Plugin (v0.7)</title>
+<link type="text/css" href="../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../skin/profile.css" rel="stylesheet">
+<script src="../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../../images/apache-forrest.png" title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google:');" value="Search the site with google:" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Welcome</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../contrib.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../docs/index.html">0.7 Docs</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../docs/howto/index.html">0.7 How-To</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../skin/images/chapter_open.gif');">How-To</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../docs/howto/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-howto.html">Write a How-to</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-asf-mirror.html">Download mirror</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-pdf-tab.html">Create tab PDF</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-corner-images.html">CSS corner SVG</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-forrest-from-maven.html">Maven Integration</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Build a Plugin</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-custom-html-source.html">Custom html source</a>
+</div>
+</div>
+<div id="credit">
+<hr>
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="howto-buildPlugin.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<div class="trail">
+	        Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>How to Build a Plugin</h1>
+<div class="abstract">This How-To describes the steps necessary to build a plugin for 
+    Forrest. Forrest uses plugins to add new input formats, output formats
+    and to change its default behaviour. Since plugins are downloaded when
+    needed and can be hosted at any location, plugin code can be developed 
+    independently of Apache Forrest. This how-to describes each of the major
+    steps in creating a plugin and then works through some examples of 
+    plugin creation in order to illustrate the materials.</div>
+<div id="motd-area">
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#typeOfPlugin">Type of Plugin</a>
+</li>
+<li>
+<a href="#ant">Make ant Available on the Command Line</a>
+</li>
+<li>
+<a href="#seed">Seed a New Plugin</a>
+<ul class="minitoc">
+<li>
+<a href="#edit-template">Edit the Plugin Template</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#edit-sitemap">Edit the Plugin sitemap file(s)</a>
+<ul class="minitoc">
+<li>
+<a href="#components">Components, Actions and Resources</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#resources">Create the Necessary Resource Files</a>
+</li>
+<li>
+<a href="#samples">Create Samples in the Documentation</a>
+</li>
+<li>
+<a href="#test">Testing a Plugin</a>
+</li>
+<li>
+<a href="#release">Releasing a Plugin</a>
+<ul class="minitoc">
+<li>
+<a href="#register">Register the Plugin with Apache Forrest</a>
+</li>
+<li>
+<a href="#deploy">Deploying the Plugin</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#examples">Examples</a>
+<ul class="minitoc">
+<li>
+<a href="#input">Input Plugin</a>
+</li>
+<li>
+<a href="#output">Output Plugin</a>
+</li>
+<li>
+<a href="#internal">Internal Plugin</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#extension">Further Reading</a>
+</li>
+<li>
+<a href="#summarise">Summarise the Entire Process</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+  
+<header>
+    
+<title>How to Build a Plugin</title>
+
+    
+<span class="version">0.1</span>
+
+    <a name="N1001C"></a><a name="Overview"></a>
+<h2 class="underlined_10">Overview</h2>
+<div class="section">
+<p>This How-To describes the steps necessary to build a plugin for 
+    Forrest. Forrest uses plugins to add new input formats, output formats
+    and to change its default behaviour. Since plugins are downloaded when
+    needed and can be hosted at any location, plugin code can be developed 
+    independently of Apache Forrest. This how-to describes each of the major
+    steps in creating a plugin and then works through some examples of 
+    plugin creation in order to illustrate the materials.</p>
+</div>
+
+    
+<last-modified-content-date date="2005-03-03"></last-modified-content-date>
+  
+</header>
+
+  
+<a name="N10027"></a><a name="Intended Audience"></a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<p>Users needing to add additional input formats or output formats or
+    to change the operation of the Forrest internals.</p>
+<div class="frame warning">
+<div class="label">Warning</div>
+<div class="content">The Plugin Infrastructure is still at an early stage of design 
+    and implementation, consequently this How-To <em>may</em> be out of date
+    and/or incomplete. If you are having problems with any of the steps 
+    described, please ask for help on the developers mailing list (and then
+    provide patches for this document).</div>
+</div>
+<div class="frame warning">
+<div class="label">Warning</div>
+<div class="content">Please make sure that you are using forrest 0.7-dev if you want use 
+    plugins. Forrest 0.6 will not work!!!</div>
+</div>
+</div>
+
+  
+<a name="N10039"></a><a name="Purpose"></a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<p>This How-To will illustrate how to build a plugin, publish a plugin
+    and configure a Forrest project to use their plugin.</p>
+</div>
+
+  
+<a name="N10042"></a><a name="Prerequisites"></a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<p>Plugin developers should have:</p>
+<ul>
+      
+<li>a basic knowledge of XML, XSLT and Cocoon pipelines</li>
+      
+<li>a clear use-case for extending Forrest</li>
+      
+<li>verified with the Apache Forrest developer community that the
+      requried functionality does not already exist</li>
+    
+</ul>
+</div>
+
+  
+<a name="N10057"></a><a name="Steps"></a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<p>Here is how to proceed.</p>
+<a name="N1005F"></a><a name="typeOfPlugin"></a>
+<h3 class="underlined_5">Type of Plugin</h3>
+<p>There are three types of plugin, each with a clear purpose, you
+      must first decide which 
+      <a href="../../docs/plugins/pluginInfrastructure.html">type of plugin</a>
+      you need to build.</p>
+<a name="N1006D"></a><a name="ant"></a>
+<h3 class="underlined_5">Make ant Available on the Command Line</h3>
+<p>
+    		The following instructions rely heavily on
+    		<a href="http://ant.apache.org/">ant</a>
+    		to automate some steps in the process. Since ant
+    		is distributed as part of Forrest, all you need to do
+    		is add the ant executable directory to your system path. The
+    		name of this directory is <span class="codefrag">tools\ant\bin</span>
+    		in your Forrest program directory.
+    	</p>
+<p>
+    		Alternatively you can prefix all calls to ant in
+    		the following instructions with the full path of the ant binary directory.
+    	</p>
+<a name="N10081"></a><a name="seed"></a>
+<h3 class="underlined_5">Seed a New Plugin</h3>
+<p>Regardless of the type of plugin you are building, the directory
+      structure is almost identical, as are most of the requried
+      configuration files. In this How-To we will assume that you are creating a 
+      plugin in the Forrest source tree. All plugins are developed in the
+      <span class="codefrag">forrest/plugins</span> directory.</p>
+<p class="instruction">Run the following set of commands:</p>
+<pre class="code">
+      cd [path_to_forrest]/plugins
+      ant seedPlugin
+      </pre>
+<p>The above ant target will ask you the name of the plugin and will
+      build a minimal plugin directory structure and configuration. You will 
+      need to customise these files to build your plugin.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">Although you can name your project anything you like we do have 
+      some <a href="../../docs/plugins/pluginInfrastructure.html">naming 
+      coventions</a> that we recommend you follow.</div>
+</div>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">If you plan on building your plugin elsewhere you can copy the
+      <span class="codefrag">build.xml</span> build file to your own plugin work directory and 
+      use it there.</div>
+</div>
+<p>See 
+      <a href="../../docs/plugins/pluginInfrastructure.html">Plugin
+      Infrastructure</a> for more information about the plugin
+      directory structure and configuration files.</p>
+<a name="N100AC"></a><a name="edit-template"></a>
+<h4>Edit the Plugin Template</h4>
+<p>You now have a skeleton plugin project. However, it doesn't do 
+        anything useful yet. Now is a good time to edit some of the files
+        provided. For example:</p>
+<a name="N100B5"></a><a name="status"></a>
+<h5>status.xml</h5>
+<p>This file is used to track changes to the plugin
+          project and to manage lists of things that still need to be done.
+          At this stage you should correct the <span class="codefrag">person</span> entry
+          near the top of the file. It is also a good idea to add a few key
+          milestones in the task list towards the bottom of the file.</p>
+<p>As you work on the plugin you should record all major changes in
+          this file so that it can then be used as a changelog for your
+          plugin.</p>
+<a name="N100C5"></a><a name="forrest-properties"></a>
+<h5>forrest.properties</h5>
+<p>This file defines many configuration parameters for Forrest. It
+          does not need to be customised in most cases. However, see
+          for more details.</p>
+<a name="N100CF"></a><a name="skinconf"></a>
+<h5>src/documentation/skinconf.xml</h5>
+<p>This configures the skin for your plugins documentation. There
+          are some items that need to be configured in here, for example, the
+          copyright information. The file is heavily commented so probably
+          best to read through it, changing what you need to.</p>
+<a name="N100D9"></a><a name="doc"></a>
+<h5>Documentation</h5>
+<p>It is also a good idea to start writing the documentation at this
+          stage. The above process created a very simple plugin documentation
+          site for you. All you have to do is add the content.</p>
+<a name="N100E5"></a><a name="edit-sitemap"></a>
+<h3 class="underlined_5">Edit the Plugin sitemap file(s)</h3>
+<p>The plugin <span class="codefrag">xmap</span> file is a Cocoon sitemap that is mounted
+      at a strategic place in the Forrest pipeline. It is in this file
+      that you will instruct Forrest how to operate. An input plugin
+      must provide a <span class="codefrag">input.xmap</span> file, an output plugin
+      must provide a <span class="codefrag">output.xmap</span> file, whilst an internal
+      plugin provides a <span class="codefrag">internal.xmap</span> file. In addition, an
+      input plugin may provide a <span class="codefrag">resources.xmap</span> file to
+      allow the plugin to handle items such as JavaScript files.</p>
+<p>It is beyond the scope of this How-To to give details about how to 
+      build your plugins XMap. See the 
+      <a href="../../docs/sitemap-ref.html">Sitemap Reference</a> for general
+      information. See also 
+      <a href="../../docs/plugins/pluginInfrastructure.html">Plugin Infrastructure</a>
+      for some hints and tips on creating plugin sitemaps. In addition, as with
+      all development work on Forrest, you will find
+      the <a href="http://forrest.apache.org/mail-lists.html#forrest-dev">developer mailing list</a>
+      a very good resource (check the archives before posting, please).</p>
+<a name="N1010C"></a><a name="components"></a>
+<h4>Components, Actions and Resources</h4>
+<p>If your plugin uses any components (i.e. generators, transformers or
+        serializers), actions or resources they must
+        be defined in either the xmap for this plugin or one of its parents. The parents
+        of an <span class="codefrag">input.xmap</span> are <span class="codefrag">sitemap.xmap</span> and
+        <span class="codefrag">forrest.xmap</span>, whilst the parent of both 
+        <span class="codefrag">output.xmap</span> and <span class="codefrag">internal.xmap</span> are 
+        <span class="codefrag">sitemap.xmap</span>
+</p>
+<p>If you want to use the realpath where the sitemap.xmap of your plugin 
+        resides then you need to use 
+        <span class="codefrag">{forrest:plugins}/PLUGIN_NAME</span> instead of <span class="codefrag">{realpath:/}</span>.
+        </p>
+<p>See the examples below for more details.</p>
+<a name="N10134"></a><a name="resources"></a>
+<h3 class="underlined_5">Create the Necessary Resource Files</h3>
+<div class="frame fixme">
+<div class="label">Fixme (rdg)</div>
+<div class="content">Discuss the XSL files and other such resources</div>
+</div>
+<a name="N1013F"></a><a name="samples"></a>
+<h3 class="underlined_5">Create Samples in the Documentation</h3>
+<p>Plugin documentation should provide (as a minimum) an
+      index page that provides an overview and a set of samples that demonstrate
+      the functionality of the plugin. Typically these samples will be
+      provided in a <span class="codefrag">samples</span> subdirectory in the plugin 
+      documentation and will be referenced from both <span class="codefrag">site.xml</span>
+      and <span class="codefrag">tabs.xml</span> configuration files.</p>
+<p>Try to provide a sample for all the major functions of your plugin
+      and document any configuration that is available.</p>
+<a name="N10155"></a><a name="test"></a>
+<h3 class="underlined_5">Testing a Plugin</h3>
+<p>Since your documentation for the plugin illustrates all of its 
+      functionality, you can use that site for testing the plugin. However, you
+      must first deploy in your local install of Forrest. Each plugin contains
+      a buildfile that includes a <span class="codefrag">test</span> target. This target, by
+      default, builds the documtantion for your plugin.</p>
+<p class="instruction">Run the command <span class="codefrag">ant test</span> in
+      the plugins directory.</p>
+<p>Of course, the build should complete without errors.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">You can also use <span class="codefrag">forrest run</span> to interactively examine
+      your documentation (point your prowser at 
+      <a href="http://localhost:8888">http://localhost:8888</a>).</div>
+</div>
+<p>It is also a really good idea to build proper tests for your 
+      plugins using a suitable testing framework, for example, 
+      <a href="http://webtest.canoo.com/">WebTest</a>. We recommend that you
+      extend the <span class="codefrag">test</span> target in your plugins build file because
+      this target is also used when performing integration tests on Forrest.
+      In addition, we recommend that you use the samples in your documentation 
+      for your tests, this way you are documenting your plugin at the same time 
+      as writing your tests.</p>
+<a name="N10180"></a><a name="release"></a>
+<h3 class="underlined_5">Releasing a Plugin</h3>
+<a name="N10186"></a><a name="register"></a>
+<h4>Register the Plugin with Apache Forrest</h4>
+<div class="frame fixme">
+<div class="label">Fixme (rdg)</div>
+<div class="content">Describe the plugins.xml file</div>
+</div>
+<div class="frame fixme">
+<div class="label">Fixme (rdg)</div>
+<div class="content">Describe making a request of Forrest devs for 
+        inclusion</div>
+</div>
+<a name="N10195"></a><a name="deploy"></a>
+<h4>Deploying the Plugin</h4>
+<p>To deploy the plugin so that others can use it, it must be made 
+        available as a zip from the URL indicated in the 
+        <span class="codefrag">plugins.xml</span> file. The plugins build file provides targets 
+        to assist with this task.</p>
+<p class="instruction">To deploy a plugin simply run the command
+        <span class="codefrag">ant deploy</span> from within the plugin directory.</p>
+<p>This command will, by default, deploy to the Apache Forrest web site.
+        In order to do this you need commit access to Forrest. If you want to
+        deploy your plugin to a different location you 
+        can build the zip of your plugin with <span class="codefrag">ant dist</span>
+        and then copy the zip file from <span class="codefrag">build/dist</span> to wherever
+        you intend to host the plugin.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">Running this command on any plugin will also deploy any
+        changes to the <span class="codefrag">plugins.xml</span> file. If you are deploying to
+        your own website you will have to request changes to the 
+        <span class="codefrag">plugins.xml</span> and ask the Forrest committers to publish the new
+        document.</div>
+</div>
+<div class="frame warning">
+<div class="label">Warning</div>
+<div class="content">Running the <span class="codefrag">deploy</span> or <span class="codefrag">dist</span> targets
+        will always run the <span class="codefrag">test</span> target first. This is to ensure
+        that your only deploy working plugins. This adds a little time to
+        the deploy cycle, but we feel the peace of mind is worth it.</div>
+</div>
+<a name="N101C8"></a><a name="examples"></a>
+<h3 class="underlined_5">Examples</h3>
+<p>This section will provide some example plugins to help illustrate the
+      steps discussed above.</p>
+<a name="N101D1"></a><a name="input"></a>
+<h4>Input Plugin</h4>
+<div class="frame fixme">
+<div class="label">Fixme (RDG)</div>
+<div class="content">Discuss OpenOffice.org plugin here</div>
+</div>
+<a name="N101DC"></a><a name="output"></a>
+<h4>Output Plugin</h4>
+<div class="frame fixme">
+<div class="label">Fixme (RDG)</div>
+<div class="content">Discuss s5 plugin here</div>
+</div>
+<a name="N101E7"></a><a name="internal"></a>
+<h4>Internal Plugin</h4>
+<div class="frame fixme">
+<div class="label">Fixme (RDG)</div>
+<div class="content">Discuss IMSManifest plugin here</div>
+</div>
+<a name="N101F3"></a><a name="extension"></a>
+<h3 class="underlined_5">Further Reading</h3>
+<ul>
+        
+<li>
+<a href="../../docs/plugins/pluginInfrastructure.html">Plugin Infrastrucuture Documentation</a> for Developers</li>
+        
+<li>
+<a href="../../docs/plugins/usingPlugins.html">Plugins Documentation</a> for users</li>
+      
+</ul>
+<a name="N10209"></a><a name="summarise"></a>
+<h3 class="underlined_5">Summarise the Entire Process</h3>
+<div class="frame fixme">
+<div class="label">Fixme (rdg)</div>
+<div class="content">In a few sentences, remind the reader what they have just learned.
+      This helps to reinforce the main points of your How-To.</div>
+</div>
+</div>
+
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2005 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/0.7/docs/howto/howto-buildPlugin.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/0.7/docs/howto/howto-buildPlugin.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-buildPlugin.pdf?view=auto&rev=160895
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/0.7/docs/howto/howto-buildPlugin.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/0.7/docs/howto/howto-corner-images.html
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-corner-images.html?view=auto&rev=160895
==============================================================================
--- forrest/site/0.7/docs/howto/howto-corner-images.html (added)
+++ forrest/site/0.7/docs/howto/howto-corner-images.html Mon Apr 11 07:58:59 2005
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<meta-data></meta-data>
+<title>How to modify the color of generated corner images (v0.7)</title>
+<link type="text/css" href="../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../skin/profile.css" rel="stylesheet">
+<script src="../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../../images/apache-forrest.png" title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google:');" value="Search the site with google:" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Welcome</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../contrib.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../docs/index.html">0.7 Docs</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../docs/howto/index.html">0.7 How-To</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../skin/images/chapter_open.gif');">How-To</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../docs/howto/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-howto.html">Write a How-to</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-asf-mirror.html">Download mirror</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-pdf-tab.html">Create tab PDF</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">CSS corner SVG</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-forrest-from-maven.html">Maven Integration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-buildPlugin.html">Build a Plugin</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../docs/howto/howto-custom-html-source.html">Custom html source</a>
+</div>
+</div>
+<div id="credit">
+<hr>
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="howto-corner-images.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<div class="trail">
+	        Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>How to modify the color of generated corner images</h1>
+<div class="abstract">
+    This How-To describes how to modify the corner images that appear in
+    the menu and tabs of the skins.
+  </div>
+<div id="motd-area">
+    This is documentation for current release v0.7
+   (<a href="http://forrest.apache.org/docs.html">More</a> ...)</div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#css-files">Understand how corner images are named (the contract)</a>
+</li>
+<li>
+<a href="#skinconfig">Modifying the skinconf.xml of your project</a>
+</li>
+<li>
+<a href="#css_modify">Modifying .css files</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Feedback">Feedback</a>
+</li>
+</ul>
+</div>
+ 
+<header>
+  
+<title>How to modify the color of generated corner images</title>
+  
+<a name="N10016"></a><a name="Overview"></a>
+<h2 class="underlined_10">Overview</h2>
+<div class="section">
+<p>
+    This How-To describes how to modify the corner images that appear in
+    the menu and tabs of the skins.
+  </p>
+</div>
+  
+<last-modified-content-date date="2004-11-05"></last-modified-content-date>
+ 
+</header>
+
+  
+<a name="N10021"></a><a name="Intended Audience"></a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<p>
+      Users who want to change the colors of the corner images in the
+      output html documents.
+    </p>
+<p>
+      This explanation is also useful for skin developers to understand
+      the corner image generation process.
+    </p>
+</div>
+  
+  
+<a name="N1002D"></a><a name="Purpose"></a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<p>
+      Forrest renders the corner images through
+      <a href="http://www.w3.org/TR/SVG/">Scalable Vector Graphics (SVG)</a>.
+      It may be necessary to change the color of
+      the corner images to be suitable for your own skin colors.
+    </p>
+</div>
+
+  
+<a name="N1003A"></a><a name="Prerequisites"></a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<ul>
+      
+<li>Understand how to use the skinconf.xml file to change the appearance
+      of the output documents.</li>
+      
+<li>Understand how to create or modify skins by following the
+      <a href="../../docs/your-project.html">Using Forrest</a> document
+       (topic "<a href="../../docs/your-project.html#skins">Forrest skins</a>").</li>
+    
+</ul>
+</div>
+
+  
+<a name="N10051"></a><a name="Steps"></a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<p>
+      The procedure outlined below provides an understanding of how corner
+      images are named (the contract) and then shows how to define new
+      colors for these images by modifying the
+      <span class="codefrag">src/documentation/skinconf.xml</span> of a project.
+    </p>
+<a name="N1005C"></a><a name="css-files"></a>
+<h3 class="underlined_5">Understand how corner images are named (the contract)</h3>
+<p>
+        The corner images are referenced in some .css files of the
+        above-named skins; for example, in screen.css of the pelt skin:
+      </p>
+<pre class="code">
+/*Example from screen.css of pelt*/
+...
+/**
+* Round corner
+*/
+#roundtop {
+    background-image: url(images/rc-t-r-15-1body-2menu-3menu.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+...
+      </pre>
+<p>
+        The naming follows a contract which is described below. In general,
+        the naming looks like:
+      </p>
+<pre class="code">
+images/{$name}-{$v-orientation}-{$h-orientation}-{$size}-1{$backgroundColor}-2{$strokeColor}-3{$foregroundColor}
+      </pre>
+<p>
+        The first part
+        (<span class="codefrag">images/{$name}-{$v-orientation}-{$h-orientation}-{$size}</span>)
+        identifies which images is used and how big (width x height) it should
+        be. The second part\
+        (<span class="codefrag">-1{$backgroundColor}-2{$strokeColor}-3{$foregroundColor}</span>)
+        identifies the coloring of each portion of the image. The input
+        parameter for the second part comes from the color profile of
+        <span class="codefrag">src/documentation/skinconf.xml</span>. The second part is
+        easily identifiable through the numbering 1-2-3.
+      </p>
+<p>
+        Let us get into details:
+      </p>
+<dl>
+        
+<dt>
+<span class="codefrag">images</span>
+</dt>
+        
+<dd>
+          Path to the xslt that creates the corner.
+          <br>
+          
+<span class="codefrag">images/ = {$FORREST_HOME}/main/webapp/skins/common/images/</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$name}</span>
+</dt>
+        
+<dd>
+          In the common skin there are two XSLT files ready for use:
+          <ul>
+            
+<li>
+              
+<span class="codefrag">rc.svg.xslt</span>: handles rounded corners
+            </li>
+            
+<li>
+              
+<span class="codefrag">dc.svg.xslt</span>: handles diagonal 45-degree corners
+            </li>
+          
+</ul>
+          
+<span class="codefrag">name = [rc|dc]</span>
+          
+<br>
+          
+<em>e.g.</em> <span class="codefrag">rc</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$v-orientation}</span>
+</dt>
+        
+<dd>
+          Vertical orientation of the corner images (top or bottom).
+          <br>
+          
+<span class="codefrag">v-orientation = [t|b]</span>
+          
+<br>
+          
+<em>e.g.</em> <span class="codefrag">t</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$h-orientation}</span>
+</dt>
+        
+<dd>
+          Horizontal orientation of the corner images (left or right).
+          <br>
+          
+<span class="codefrag">h-orientation = [l|r]</span>
+          
+<br>
+          
+<em>e.g.</em> <span class="codefrag">r</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$size}</span>
+</dt>
+        
+<dd>
+          Pixels size of the width <strong>and</strong> height of the corner image.
+          <br>
+          
+<span class="codefrag">size=x</span>
+          
+<br>
+          
+<em>e.g.</em> <span class="codefrag">5</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$backgroundColor}</span>
+</dt>
+        
+<dd>
+          Any <span class="codefrag">&lt;color name=""/&gt;</span> element in the <span class="codefrag">skinconf.xml</span> (the <span class="codefrag">value="{$color}"</span>
+          attribute will be applied).
+          <br>
+          
+<em>e.g.</em> <span class="codefrag">header</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$strokeColor}</span>
+</dt>
+        
+<dd>
+          Any <span class="codefrag">&lt;color name=""/&gt;</span> element in the <span class="codefrag">skinconf.xml</span> (the <span class="codefrag">value="{$color}"</span>
+          attribute will be applied).
+          <br>
+          
+<em>e.g.</em> <span class="codefrag">searchbox</span>
+        
+</dd>
+        
+<dt>
+<span class="codefrag">{$foregroundColor}</span>
+</dt>
+        
+<dd>
+          Any <span class="codefrag">&lt;color name=""/&gt;</span> element in the <span class="codefrag">skinconf.xml</span> (the <span class="codefrag">value="{$color}"</span>
+          attribute will be applied).
+          <br>
+          
+<em>e.g.</em> <span class="codefrag">searchbox</span>
+        
+</dd>
+      
+</dl>
+<a name="N10137"></a><a name="skinconfig"></a>
+<h3 class="underlined_5">Modifying the skinconf.xml of your project</h3>
+<p>
+        modifying the <span class="codefrag">skinconf.xml</span> of your project (by
+        default you find it at <span class="codefrag">[project-dir]/src/documentation/</span>).
+      </p>
+<p>
+        Starting about line 155 you find a <span class="codefrag">&lt;colors&gt;</span>
+        ... <span class="codefrag">&lt;/colors&gt;</span> element with content commented-out:
+      </p>
+<pre class="code">
+&lt;colors&gt;
+&lt;!-- These values are used for the generated CSS files. --&gt;
+
+&lt;!-- Krysalis --&gt;
+&lt;!--
+  &lt;color name="header"    value="#FFFFFF"/&gt;
+
+  &lt;color name="tab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/&gt;
+  &lt;color name="tab-unselected" value="#F7F7F7" link="#000000" vlink="#000000" hlink="#000000"/&gt;
+  &lt;color name="subtab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/&gt;
+  &lt;color name="subtab-unselected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/&gt;
+
+...
+
+--&gt;
+
+&lt;/colors&gt;
+      </pre>
+<p>
+        To modify the colors of the corner images, you can either define
+        your own <span class="codefrag">&lt;color name=.../&gt;</span> elements or uncomment
+        one of the existing <span class="codefrag">&lt;color name=.../&gt;</span> elements
+        and adjust the color value to your needs.
+      </p>
+<p>
+        
+<em>e.g.</em>
+      
+</p>
+<pre class="code">
+&lt;color name="tab-selected" value="#FF0000"/&gt;
+      </pre>
+<p>
+        This affects all corner images whose <span class="codefrag">{$backgroundColor}</span>, <span class="codefrag">{$strokeColor}</span> or
+        <span class="codefrag">{$foregroundColor}</span> is set to <span class="codefrag">tab-selected</span>.
+        <br>
+        For example, in <span class="codefrag">screen.css</span> (of the "pelt" skin) you find:
+      </p>
+<pre class="code">
+#roundbottomsmall {
+    background-image: url(images/rc-b-r-5-1header-2tab-selected-3tab-selected.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+      </pre>
+<p>
+        Now the stroke color (<span class="codefrag">-2tab-selected</span>) and the foreground
+        color (<span class="codefrag">-3tab-selected</span>) are set to red (remember: we
+        defined <span class="codefrag">#FF0000</span> as the "color" value of
+        <span class="codefrag">tab-selected</span>).
+      </p>
+<a name="N1018E"></a><a name="css_modify"></a>
+<h3 class="underlined_5">Modifying .css files</h3>
+<p>
+        In addition to the modification of <span class="codefrag">skinconf.xml</span>
+        you can also modify the respective .css file of your skin.
+      </p>
+<p>
+        Here's another example:
+      </p>
+<pre class="code">
+/*your .css file*/
+...
+#roundbottomsmall {
+    background-image: url(images/rc-b-r-5-1<em>foo</em>-2<em>secondfoo</em>-3<em>thirdfoo</em>.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+...
+      </pre>
+<pre class="code">
+&lt;!-- your skinconf.xml --&gt;
+...
+&lt;colors&gt;
+  &lt;color name="<em>foo</em>" value="#FF0000"/&gt;
+  &lt;color name="<em>secondfoo</em>" value="#00FF00"/&gt;
+  &lt;color name="<em>thirdfoo</em>" value="##00FF00"/&gt;
+&lt;/colors&gt;
+      </pre>
+<p>
+        Here we have created our own color tags (in the .css file) and
+        defined the respective values for them (in <span class="codefrag">skinconf.xml</span>). 
+        Now you have color images with a red background and a green
+        foreground. Horrible, isn't it?
+      </p>
+</div>
+
+  
+<a name="N101BF"></a><a name="Feedback"></a>
+<h2 class="underlined_10">Feedback</h2>
+<div class="section">
+<p>
+      Please provide feedback about this document via the
+      <a href="http://forrest.apache.org/mail-lists.html">mailing lists</a>.
+    </p>
+</div>
+
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2005 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/0.7/docs/howto/howto-corner-images.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/0.7/docs/howto/howto-corner-images.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/0.7/docs/howto/howto-corner-images.pdf?view=auto&rev=160895
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/0.7/docs/howto/howto-corner-images.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf



Mime
View raw message