Return-Path: Delivered-To: apmail-forrest-svn-archive@www.apache.org Received: (qmail 4005 invoked from network); 9 Feb 2006 00:27:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Feb 2006 00:27:54 -0000 Received: (qmail 60262 invoked by uid 500); 9 Feb 2006 00:27:50 -0000 Delivered-To: apmail-forrest-svn-archive@forrest.apache.org Received: (qmail 60211 invoked by uid 500); 9 Feb 2006 00:27:49 -0000 Mailing-List: contact svn-help@forrest.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Forrest Developers List" List-Id: Delivered-To: mailing list svn@forrest.apache.org Received: (qmail 60047 invoked by uid 99); 9 Feb 2006 00:27:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2006 16:27:47 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 08 Feb 2006 16:27:35 -0800 Received: (qmail 3216 invoked by uid 65534); 9 Feb 2006 00:27:14 -0000 Message-ID: <20060209002714.3201.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r376128 [8/34] - in /forrest/site: ./ docs_0_60/ docs_0_60/howto/ docs_0_60/howto/bugzilla-patch/ docs_0_60/howto/multi/ docs_0_70/ docs_0_70/howto/ docs_0_70/howto/cvs-ssh/ docs_0_70/howto/multi/ docs_0_80/ docs_0_80/howto/ docs_0_80/howto... Date: Thu, 09 Feb 2006 00:26:32 -0000 To: svn@forrest.apache.org From: crossley@apache.org X-Mailer: svnmailer-1.0.6 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Propchange: forrest/site/docs_0_70/changes.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/compliance.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/compliance.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/compliance.source.xml (added) +++ forrest/site/docs_0_70/compliance.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,108 @@ + + +
+ Standards Compliance +
+ +
+ Introduction +

+ Forrest is still quite young, so there are known issues. + Standards compliance is a definite major goal. Please send patches + for the Forrest skin stylesheets to ensure such compliance. +

+ +
+ +
+ HTML + +

+ Tested using the W3C HTML Validation Service + (validator.w3.org). The + index.html page of Forrest sites will have a link to this validator, + unless the user has turned this off. +

+

+ The "pelt" skin + validates as HTML 4.0.1 +

+

+ The "tigris" skin + validates as HTML 4.0.1 +

+
+ +
+ WAI +

See +Web Accessibility Initiative (WAI) +

+

+ There are actually many accessibility issues with the heavy use of + tables and images. These skins are gradually being improved. +

+

+Bobby with WAI: +bobby.watchfire.com +

+

Issues ...

+
    +
  1. + Priority 1: alt text for images. +
  2. +
  3. Priority 2: + Explicitly + associate form controls and their labels with the LABEL element. + Perhaps we could have a label hidden with CSS?
  4. +
  5. FIXME: need to list other issues here, or attend to them.
  6. +
+The forrest-site skin does not have any missing alts. Perhaps Bobby + does not like the trick with empty alt attributes. However, it only + complains about the two in the footer, and not about the other 40. +

+Bobby with U.S. Section 508 Guidelines: +bobby.watchfire.com +

+

Issues ...

+
    +
  1. The same issues as above
  2. +
+
+ +
+ CSS +

+Jigsaw: +jigsaw.w3.org +

+

Issues ...

+
    +
  1. CSS 2: No errors. Some warnings.
  2. +
  3. CSS 1: Errors: hover class, @media-print. Some warnings.
  4. +
  5. FIXME: need to list other issues here, or attend to them.
  6. +
+
+ +
\ No newline at end of file Propchange: forrest/site/docs_0_70/compliance.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/dreams.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/dreams.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/dreams.source.xml (added) +++ forrest/site/docs_0_70/dreams.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,246 @@ + + +
+ Forrest dream list + Overview +
+ + +
+ Introduction + +

This is the initial attempt to give focus to the Forrest project. + This summary is a loose collection of items from the forrest-dev + mailing list. Please add and re-arrange so that it can evolve into a + focus document. The Forrest Primer + provides an overview. +

+ +

These are the email threads and documents that are currently being + summarised. Please see those documents for further detail. +

+ +
    +
  • + [RT] my Forrest dream-list + Date: Wed, 20 Feb 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101431895118349 + [done] +
  • +
  • + README + [FIXME: not yet started summarising] +
  • +
  • + [phases] Forrest + Date: Fri, 22 Feb 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101445744931104 + [FIXME: not yet started summarising] +
  • +
  • + adding to the dream list + Date: Fri, 15 Mar 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101620970016263 + [FIXME: not yet started summarising] +
  • +
  • + analysis paralysis :-) + Date: Mon, 25 Feb 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101465344708301 + [FIXME: not yet started summarising] +
  • +
  • + documentation architecture? + Date: Thu, 25 Apr 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101973705501466 + [FIXME: not yet started summarising] +
  • +
  • + Topic Maps for Forrest ? + Date: Mon, 18 Mar 2002 + http://marc.theaimsgroup.com/?l=forrest-dev&m=101647290524645 + [FIXME: not yet started summarising] +
  • +
+
+ +
+ Draft dream list + +
    +
  • + Forrest provides a robust technological infrastructure for open software development for the Apache Software Foundation based on ASF software, ASF practices and experience, and modern software design principles. +
  • +
  • + a publishing system for documentation +
  • +
  • + analysis of logs and publishing of results +
  • + +
  • +Ok, first of all: "it hurts my spirit" (I should TM this) to see the +apache web sites with such a *poor* information infrastructure. Just +look at sourceforge: it's not the best site of the world, but gives you +lots of tools and information that we currently don't have (or have +hidden someplace). +
  • + +
  • +I want Forrest to be the development infrastructure of your dreams, +something that you'll be proud of showing your boss and say "if only we +had this in place, we would save big bucks" so... +
  • + +
  • + Dream #1: Forrest should make Sourceforge look obsolete. +
  • + +
  • +So, in order for this to happen, it must be dynamic. +Assumption #1: Forrest is a dynamic site. +The staticity of apache web sites was mostly due to the quest for heavy +mirroring, Forrest should allow mirroring, so +
  • + +
  • + Dream #2: Forrest should reduce xml.apache.org bandwidth use dramatically +
  • + +
  • + Dream #3: Forrest should automate mirroring in a simple and easy way. + +My idea is to use the 'command line' features of Cocoon to generate +static snapshots of sites and produce mirrors directly using a sort of +rsync or other mean. Anyway, the goal is to make sure mirroring is as +easy as possible. No, easier than that. +
  • + +
  • + coherence: all the site should look coherent, same graphics, same +look-and-feel, same information in the same locations, coherent and nice URI +space (build to last! so that broken links are reduced!) +
  • + +
  • + structure: the site should look professional, the structure should be +flexible enough to fit every need but solid enough to guide users +browsing and developers adding resources +
  • + +
  • + scalability +
  • + +
  • + functionality: everything you ever wanted to have in your project web site +
  • + +
  • + logs and community rating: I want to have numbers to judge the value +of a community/effort +
  • + +
  • +Downloads, number of committers, numbers of people subscribed on the users/dev +list, numbers of mail messages / week on these lists, CVS activity... +These are the kind of parameters I use to "judge" an Apache project that I +have not been looking into before. +
  • + +
  • + Graphs of various statistics. +
  • + +
  • +Having good site metrics will be a valuable aid to those involved in +maintenance and future re-design phases. +See some discussion in +http://marc.theaimsgroup.com/?l=forrest-dev&m=102238816218885 +
  • + +
  • + Built-in search engine: users much have a simple way to find things. + Lucene. +
  • + +
  • + User-writable pages: people should have a way to add things to the pages. + See the thread for more detail on this. +FIXME: get MARC ref +
  • + +
  • + short bios for the project committers, with pictures: gives a better +sense of community. Having a weblog there would be great. +
  • + +
  • + news, announcements, events and project calendaring: the news and +the announcements will generate a RSS feed, events will be aggregated +into a project-wide calendar, or an effort-specific calendar, the events +will also be overwritten on the logs, to indicate how logs were +influenced by the events (say, a release or a new committer added) +
  • + +
  • + book-like PDF versions of documentation: easy to print out docs. +
  • + +
  • + integration with GUMP: dependencies, runs, committer that broke the run +
  • + +
  • + javadocs seemlessly integrated with the documentation and with the +search engine. + http://marc.theaimsgroup.com/?l=forrest-dev&m=101620970016263 +
  • + +
  • + mail archive seemlessly integrated with the search engine (one should +look for something and get results from either docs, javadocs or emails +messages) +
  • + +
  • + coherent-looking CVS view +
  • + +
  • + document translation using Google translation services +
  • + +
  • + Integrated project management, task management, bug tracking, feature requests, process management. +The idea is to integrate Scarab for bug tracking/patches and +managing/feature requests. +(As far as team management, this is a serious political issue and I do not +want to tackle that one yet, not even on the dreamlist.) +
  • + +
  • + overview doco for all projects ... CVS Usage precis, overview of opensource + and links to relevant doco +
  • + +
+
+ + +
\ No newline at end of file Propchange: forrest/site/docs_0_70/dreams.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/faq.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/faq.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/faq.source.xml (added) +++ forrest/site/docs_0_70/faq.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,736 @@ + + + + Getting Started and Building Forrest + + Where can I read an overview about how to work with Forrest? + +

See the Using Forrest guide.

+
+
+ + What are the system requirements for Forrest? + +

Forrest includes everything necessary to build and run, except of course for Java. In + addition to all the Cocoon JARs, Forrest includes and uses its own version of Apache Ant. +

+

+ Java 1.4 (or newer) is required. If you are only going to use Forrest + as-is then you need only the Java Runtime Environment (JRE). + If you intend to enhance and rebuild Forrest (or use the Forrest sources + with Subversion or use a source snapshot) then you need the full JDK. +

+
+
+ + The old xml-forrest CVS code repository seems to be stale. What happened? + +

Forrest switched from a CVS code repository to SVN (Subversion) code repository. The old + CVS repository is closed and not kept current.

+
+
+ + How can I use SVN to keep up to date with the latest codebase? + +

Follow these Building Forrest notes.

+

The Using Forrest guide provides further + step-by-step assistance in getting started with Forrest for your project.

+
+
+ + What is the best way to generate "standalone documents" using Forrest? + +

forrest site -Dproject.start-uri=myfile.pdf

+

The Using Forrest guide provides further + step-by-step assistance in getting started with Forrest for your project.

+
+
+ + When running ./build.sh in cygwin, I get an error: cygpath.exe: + *** can't create title mutex, Win32 error 6. + +

This appears + to be a bug in cygwin. Please use the .bat script instead.

+
+
+ + How can I specify the amount of memory to be used by Java? + +

There are two ways to control this. If you get an OutOfMemoryError when Cocoon is + generating pages, see the first paragraph. If you get an OutOfMemoryError when outside of + Cocoon (e.g., copying raw files), see the second paragraph.

+

The maxmemory property in the forrest.properties file controls + how much memory Cocoon uses. Like many other properties you can copy them from the default + configuration at src/core/fresh-site/forrest.properties +

+

Set the ANT_OPTS environment variable before you run forrest. The exact + value you set it to is dependant on your JVM, but something like + ANT_OPTS=-Xmx500M will probably work.

+
+
+
+ + Content Creation + + What tools can be used to edit the content? + +

If you are using the Apache Forrest xml document format + or DocBook or other xml document types, then you can use any text editor or even a + dedicated xml editor. You must ensure valid xml. See our configuration notes for various editors.

+

There are content management systems like Apache Lenya.

+

Remember that Forrest can also use other source formats, such as OpenOffice.org docs or + JSPWiki. Use the appropriate editor for those document types and ensure that the document + stucture is consistent. Forrest can also use "html" as the source format, in which case + you can use text editors or "html editors" such as the one provided with the Mozilla web + browser.

+
+
+ + + How to use the site.xml configuration file for menus and linking. + + +

+ The site.xml configuration file is used for two different purposes: + defining the left-hand navigation menus, and as a method for defining references + to be used when linking between documents. + This file is fully explained in + Menus and Linking. Here is a precis: +

+

+ The labels can be whatever text you want. +

+ + + + + + +
]]> +

+ That will create a menu like this with three links: +

+ FAQs + Technical + User + +

+ These documents can be linked to from other documents, like this: +

+ link to the top of the Tech FAQs + link to the DocBook FAQ in the Tech FAQs]]> + +

+ If that "docbook" entry was a unique name in your site.xml then you + can shorten that latter link: +

+ link to the DocBook FAQ in the Tech FAQs]]> + + + + + Where are examples of documents and site.xml and tabs.xml files? + + +

+ There are examples in the 'forrest seed site' and also the Forrest website documents + are included with the distribution (cd forrest/site-author; forrest run). +

+
+
+ + How can I generate one pdf-file out of the whole site or selected pages of the site? + +

Add the following entries to your site.xml file:

+ + ... + + + ... + ]]> +

In this case the menu labeled "About" will have 2 new items: "Full PDF" and "Full HTML". + (See also How to create a PDF document for each + tab.)

+

This assumes that you use the site.xml method for your + site structure and navigation, rather than the old book.xml method.

+
+
+ + How do I insert page breaks into documents? + +

Page breaks do not make a great deal of sense in HTML documents intended for display on a + screen. However, PDF documents are intended for printing and therefore page breaks can be + important.

+

To insert a page break in a PDF document simply add pageBreakBefore and/or + pageBreakAfter to the class attribute of the block you wish to force a + page break on. All the common block grouping elements support this class, for example, + note, warning, p and so on.

+

If you want these classes to be processed in your HTML documents as well you should add + the following to the extra-css element in your projects + skinconf.xml +

+ .pageBreakBefore { margin-bottom: 0; page-break-before: always; } .pageBreakAfter { + margin-bottom: 0; page-break-after: always; } +
+
+ + How can I generate html-pages to show a 'clickable' email-address (of the + author-element)? + +

You would override + $FORREST_HOME/main/webapp/skins/common/xslt/html/document2html.xsl and edit the + "headers/authors" template.

+
+
+ + How do I link to raw files such as config.txt and brochure.pdf? + +

Handling of raw files was significantly changed in Forrest 0.7. See + Upgrading to Apache Forrest 0.7 for + all the details.

+
+
+ + Images don't display in PDFs. How do I fix this? + +

Forrest uses Apache FOP for rendering + PDFs. FOP cannot handle all image types natively, and requires third-party jars to be + added. FOP natively handles BMP, GIF, JPG, TIFF and EPS (with a few limitations). FOP can + also handle SVG (via Batik!and PNG (see below). For details, see FOP Graphics formats +

+

To get PNGs working in PDFs with Jimi:

+
    +
  1. Download Jimi from http://java.sun.com/products/jimi/ +
  2. +
  3. Unpack the Jimi distribution and copy JimiProClasses.zip to + $FORREST/lib/optional/jimi-1.0.jar.
  4. +
+

Alternatively you can use JAI (Java Advanced Imaging API at + http://java.sun.com/products/java-media/jai). For more info, see FOP Graphics Packages +

+ Due to Sun's licensing, we cannot redistribute Jimi or JAI with Forrest. +
+
+ + The tab link in my site incorrectly assumes that 'index.html' is present in the + linked-to directory. How do I fix this? + +

In tabs.xml, use @href instead of @dir, and omit the trailing '/'. Which + file to serve is then a concern of the sitemap. For example, if the "User Manual" tab + should link to manual/Introduction.html then tabs.xml should + contain:

+ ]]> +

and add this rule to the sitemap:

+ + + ]]> +
+
+ + I need help with the interaction between tabs.xml and site.xml + +

+ See the tips. +

+
+
+ + How can I change the default file name that Forrest will look for when I request a + URL like http://myserver or http://myserver/mydir/ ? + +

To change the default file name from 'index.html' (default) to 'overview.html' you need to + make the following changes:

+
    +
  1. Create a 'cli.xconf' file for your project
  2. +
  3. Edit that file to replace 'index.html' in + index.html]]> + with 'overview.html'.
  4. +
  5. Edit your project's sitemap.xmap file.
  6. +
  7. Add the following code just before the end of the pipelines-element: + + + + + ]]>
  8. +
+
+
+ + How can I use a start-up-page other than index.html? + +

Forrest by default assumes that the first page (home page) of your site is named + index.html. Which is good because most web servers are configured to look for index.html + when you call a url like http://myserver

+

Like most settings in Forrest however this can be changed, for example when you want your + start-up-page for a CD-based documentation project to be named 'start.html'.

+

To change the start page of a site:

+
    +
  1. Edit your project's sitemap.xmap file.
  2. +
  3. Add the following code just before the end of the pipelines-element: + + + + + ]]>
  4. +
  5. Name the uri-attribute whatever you'd like your start page to be.
  6. +
  7. Don't forget to create that page and refer to it in your site.xml
  8. +
+
+
+ + How to use special characters in the labels of the site.xml file? + +

Use the numeric values for character entities. For example, rather than using + use +

+

See the XHTML Character Entities and see more discussion at Issue FOR-244.

+
+
+ + Does Forrest handle accents for non-English languages? + +

Yes, Forrest can process text in any language, so you can include:

+
    +
  • accents: á é í ó ú
  • +
  • diereses: ä ë ï ö ü
  • +
  • tildes: ã ñ ĩ õ ũ
  • +
+

This is because sources for Forrest docs are xml documents, which can include any of + these, provided the encoding declared by the xml doc matches the actual encoding used in + the file. For example if you declare the default encoding:

+ ]]> +

but the file content is actually using ISO-8859-1 then you will receive validation + errors, especially if you include some non-ASCII characters.

+

This situation is commonly encountered when you edit the templates created by + forrest seed with your favorite (probably localized) editor without paying + attention to the encoding, or when you create a new file and simply copy the headers from + another file.

+

Although UTF-8 is an encoding well-suited for most languages, it is not usually the + default in popular editors or systems. In UNIX-like systems, most popular editors can + handle different encodings to write the file in disk. With some editors the encoding of + the file is preserved, while with others the default is used regardless of the original + encoding. In most cases the encoding used to write files can be controlled by setting the + environment variable LANG to an appropriate value, for instance:

+ [localhost]$ export LANG=en_US.UTF-8 +

Of course the appropriate way to set the encoding depends on the editor/OS, but + ultimately relys on the user preferences. So you can use the encoding you prefer, as long + as the encoding attribute of the xml declaration matches the actual encoding + of the file. This means that if you are not willing to abandon ISO-8859-1 you can always + use the following declaration instead:

+ ]]> +

Another option is to use "character entities" such as + (ö) or the numeric form (ö).

+

Another related issue is that your webserver needs to send http headers with the matching + charset definitions to the html page.

+

Here are some references which explain further: GT2004 presentation by Torsten + Schlabach and Alan Wood's Unicode + resources.

+
+
+ + How to make Forrest clean up the project build directories? + +

+ By default Forrest does not clean its build directories in the project + workspaces. This enables Cocoon to use its disk cache to speed up + successive runs of forrest. +

+

+ Doing 'forrest clean-site' will remove the contents of the project's + generated documents directory. Doing 'forrest clean-work' will remove the + project's work directories (usually build/tmp and build/webapp which + include the Cocoon cache and the Cocoon logs). + Doing 'forrest clean' will remove both sections. +

+
+
+ + How can I internationalise (i18n) my content? + +

The i18n features of Forrest are still under development (as of 0.7) however there are + some features available. For example, navigation menus can be i18n'd (see fresh-site for an + example). Currently, work is underway to + i18n skins

+ +

All internationalistation of tokens in, for example, the skins and the menus, is carried out + by the Cocoon i18n + Transformer. You can see an example of how it works in the above linked issue.

+
+
+ + How can I include HTML content that is not to be skinned by Forrest? + +

To server, for example, a legacy HTML site add something like the following + to your projects sitemap:

+ +<map:match pattern="old_site/**.html"> + <map:select type="exists"> + <map:when test="{project:content}{0}"> + <map:read src="{project:content}/{0}" mime-type="text/html"/> + <!-- + Use this instead if you want JTidy to clean up your HTML + <map:generate type="html" src="{project:content}/{0}" /> + <map:serialize type="html"/> + --> + </map:when> +</map:match> + +

There is a more detailed discussion of this topic in the samples + of a freshly seeded site. To see this documentation do the following:

+
    +
  1. mkdir seed
  2. +
  3. cd seed
  4. +
  5. forrest seed
  6. +
  7. forrest
  8. +
  9. Read the doc
  10. +
+
+
+
+ + Technical + + I'm behind a proxy and it's preventing Plugins from being downloaded, what should I + do? + +

You can configure the proxy in the forrest.properties file. Set the + proxy.host and proxy.port accordingly.

+

You can also cross an authenticated proxy by setting the proxy.user and proxy.password accordingly.

+
+
+ + How can I generate html-pages to show the revision tag of cvs? + +

If you have:<version>$Revision: 1.30 + $</version>The '1.30' will be extracted and + displayed at the bottom of the page as "version 1.30". See for example the + bottom of the Using Forrest document.

+

This technique could also be used for a modification date with $Date: 2004/01/15 08:52:47 + $

+
+
+ + How to control the processing of URIs by Cocoon, e.g. exclude certain URIs, include + other additional ones. + +

Forrest uses a configuration file to control the processing done by the Apache Cocoon + command-line called cli.xconf

+

Your project can supply its own cli.xconf and define patterns for URIs to + exclude. There are also other powerful configuration features.

+

This means creating a directory src/documentation/conf (or wherever + ${forrest.conf-dir} points) and copying + $FORREST_HOME/main/webapp/WEB-INF/cli.xconf to it. Declare the location of + this file in the forrest.properties configuration, e.g. + project.configfile=${project.home}/src/documentation/conf/cli.xconf +

+

Then edit cli.xconf, and add any exclude sections that you require. The default + cli.xconf ignores directory links and links containing 'apidocs' or starting with 'api/':

+ + ]]> + + + ]]> +]]> +

This is just an example, and you should modify it appropriately for your site.

+ Wildcards may be used. These are a powerful feature of Cocoon's sitemap. For example, foo/* would match + foo/bar, but not foo/bar/baz — use + foo/** to match that. +
+
+ + How do I stop Forrest breaking on links to external files that may not exist, like + javadocs? + +

This can be done by overriding the + cli.xconf + Cocoon config file, and defining patterns for URLs to exclude.

+
+
+ + Some of my files are not being processed because they use common filenames. + +

Certain patterns are claimed by the default sitemaps for special processing. These + include: site, changes, todo, faq, images, my-images, skinconf, community, + howto +

+

Sometimes there are workarounds, e.g. faq.html or faq-interview.html would fail, but + interview-faq.html would be fine. In future versions of Forrest we will attempt to deal + with this issue (FOR-217). +

+
+
+ + What do the symbols and numbers mean when Forrest lists each document that it has + built? + + +
    +
  • Column 1 is the page build status (*=okay X=brokenLink ^=pageSkipped).
  • +
  • Column 2 is the page count - the number of pages processed and the number remaining. The latter will change because during processing one page, Cocoon will discover more.
  • +
  • Column 3 is the number of links that were gathered from that page.
  • +
  • Column 4 is the time taken.
  • +
  • Column 5 is the page size.
  • +
+
+
+ + When generating PNG images from SVG, I get an error: Can't connect to X11 window + server using ':0.0' as the value of the DISPLAY variable. + +

If you are using JDK 1.4.0 or newer, you can enable headless operation by + running Forrest with the forrest.jvmarg parameter set to + -Djava.awt.headless=true, like this:

+ forrest -Dforrest.jvmargs=-Djava.awt.headless=true site +

See also Cocoon FAQ.

+
+
+ + + The project logo that is generated from SVG is truncating my project name. + + +

+ In a 'forrest seed site' the project and the group logo are generated from a + Scalable Vector Graphics (SVG) file, using the text from the + <project-name> and + <group-name> elements of the skinconf.xml file. + If you have a long project-name then you may need to adjust the width of the image. + Perhaps you want to change the colours too. Edit the file at + src/documentation/content/xdocs/images/project.svg and adjust the "width" + attribute of the <svg> element. For further details see + SVG resources. +

+
+
+ + How do i configure my favourite XML editor or parser to find the local Forrest + DTDs? + +

Notes are provided for various tools at Using Catalog Entity + Resolver for local DTDs.

+
+
+ + How to make the site look better and change its skin? + +

There are default skins provided, which are configurable + and so should meet the needs of most projects. The aim is to provide many capabilities so + that extra skins are not needed.

+

See notes about configuration of the skins. + Some projects may have special needs and can define their own skin.

+
+
+ + How do I enable XSP processing? + +

First consider whether your needs would be better met by Cocoon itself, rather than + Forrest.

+

That said, there are valid reasons for wanting programmatically generated content, so + here is how to enable XSP:

+
    +
  1. Download jdtcore-2.1.0.jar, and copy it to the $FORREST_HOME/main/webapp/WEB-INF/lib + directory (or lib/core/ directory in the source distribution).
  2. +
  3. +

    Add the following generator definition in the map:generators section of your project sitemap +

    + ]]> +
  4. +
  5. +

    Decide how you want to use XSP. For single files, you could just define a *.xml + matcher:

    + + + ... + +]]> +

    You may instead wish to override forrest.xmap to define a general mapping for + XSPs.

    +
  6. +
+

See also the AddingXSPToForrest Wiki page.

+
+
+ + How do breadcrumbs work? Why don't they work locally? + +

Breadcrumbs begin with up to three URLs specified in skinconf.xml. Here is + what the Forrest site uses:

+ + + + + ]]> +

If any links are blank, they are not used. After these first links, JavaScript looks at + the URL for the current page and makes a link for each directory after the domain. If you + are viewing the site locally, there is no domain and so there will be no extra + breadcrumbs, only the ones that are specified in skinconf.xml.

+
+
+ + How do I make forrest run listen on a different port? + +

+ forrest run -Dforrest.jvmargs="-Djetty.port=80" +

+

Or copy Forrest's main/webapp/jettyconf.xml file to your project's src/documentation + directory and set the port number in that file. Then do forrest run +

+
+
+
+ + Older version: 0.6 + + Some of my files are not being processed because they use common filenames. + +

Certain patterns are claimed by the default sitemaps for special processing. These + include: site, changes, todo, faq, images, my-images, skinconf, community, + howto +

+

Sometimes there are workarounds, e.g. faq.html or faq-interview.html would fail, but + interview-faq.html would be fine. In future versions of Forrest we will attempt to deal + with this issue (FOR-217). +

+
+
+
+ + General + + What is the relationship between site.xml and book.xml? + +

One site.xml file in your project root can replace all the book.xml files (one per + directory) in your site. Internally, Forrest uses site.xml to dynamically generate book.xml + files. However, Forrest first checks for the existence of a book.xml file, so + backwards-compatibility is preserved. If a directory has a book.xml file, the book.xml + will be used to generate the menu. This supplement is useful in situations where + site.xml-generated menus aren't appropriate. See Menus and + Linking.

+
+
+ + How do I use DocBook as the xml documentation format? + +

There are two ways. Forrest has a simplifiedDocbook plugin which can + transform the DocBook format into the Forrest "xdocs" format on-the-fly and then render + that as normal Forrest documents. Be aware that the stylesheet that does this + transformation is deliberately very limited and does not attempt to deal with all DocBook + elements.

+

The other way is to use the full DocBook stylesheets directly. The DocBook DTDs are + shipped with Forrest and automatically handled. However, you will need to have the DocBook + stylesheets on your system (they are too massive to ship with Forrest) and configure + Forrest accordingly. You will need to create a project + sitemap as explained in Using Forrest and + add matches to handle your DocBook documents. Here is an example. Note that you need to + change it to suit your situation. The match must be very specific so that only the DocBook + documents are matched. The rest of the documents will be handled by Forrest core. Powerful + regex capabilities are available.

+ + + + + + + + + + + +]]> +

You need to define the xhtml serializer used in <map:serialize type="xhtml"/> + in the components section of the sitemap. See the + Cocoon + docs for the elements you need to add to define this component. You can see examples + of other components being added in the FORREST_HOME/main/webapp/sitemap.xmap file.

+

You can also use a mixture of the two methods, some handled automatically by Forrest and + some directly using DocBook stylesheets. You can also have a mixture of source files as + "document-v*" DTD and DocBook.

+

Ensure that the document type declaration in your xml instance is well specified. Use a + public identifier. The DTD will then be properly resolved by Forrest. If you need to use + different DTDs, then see Using Forrest for + configuration guidance.

+
+
+ + How to report which version of Forrest is being used and the properties that are + set? + +

Do 'forrest -projecthelp' or './build.sh' to find the version + number.

+

To list the properties, add "forrest.echo=true" to your forrest.properties file and + watch the build messages. Doing 'forrest -v' will provide verbose build + messages.

+
+
+ + Where are the log files to find more infomation about errors? + +

The logfiles are at build/webapp/WEB-INF/logs/ +

+

The log level can be raised with the logkit.xconf configuration. If you are + using Forrest in the interactive webapp mode (which is generally easiest for debugging + errors) then see the build/webapp/WEB-INF/logkit.xconf file. If you are + generating a static site (with command-line 'forrest') then copy + $FORREST_HOME/main/webapp/WEB-INF/logkit.xconf to your project at + src/documentation/content/conf/logkit.xconf and modify it. See more + information and efficiency tips with Cocoon logging.

+

Doing 'forrest -v' will provide verbose build messages to the standard + output.

+
+
+ + How to help? + +

Join one of the Forrest project mailing lists and + tell us what you would like to see improved. We regard all feedback as valuable, + particularly from newcomers—often, close proximity blinds software developers to + faults that are obvious to everyone else. Don't be shy!

+
+
+ + How to contribute a patch? + +

Please send all contributions via our issue tracker. Here + are notes about making patches.

+

More info about contributing can be found at the Contributing + to Forrest page. It is always a good idea to check the Forrest issue tracker before diving in.

+
+
+
+
\ No newline at end of file Propchange: forrest/site/docs_0_70/faq.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/forrest-contract.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/forrest-contract.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/forrest-contract.source.xml (added) +++ forrest/site/docs_0_70/forrest-contract.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,103 @@ + + +
+ Our Contract + The legal tone of this document is just a gimmick, this is not a + legal document in any sense. At all times: since this is open source: the real + contract is described in the implementation details of the full distribution. + This tries to list (not explain) what the ins and outs of using Forrest is + about. Please let the forrest-dev + mail list know if + any of the bullets listed here are out of sync with the real + implementation. + This document describes, in a very techy bullet-style way, how + to use Forrest. +
+ + + This document describes the formal contract between the + Forrest distribution code, hereafter referred as + "Forrest", and + the Project (team) that is using it for generating + its documentation and web-site, hereafter referred to as "TheProject". + + + Some terminology will assist: {docroot} is the location + inside TheProject's file hierarchy where all documentation related + resources are stored. Usually {docroot} equals to + {projecthome}/src/documentation + + +
+ Forrest will: +

Provide infrastructure ...

+
    +
  • Provide document type definitions (DTDs), skins, default sitemaps, + Cocoon pipelines. +
  • +
  • Provide a willing team of supporting developers at the forrest-dev + mail list. +
  • +
  • Use Cocoon to generate the HTML and PDF documentation for + TheProject.
  • +
+
+ +
+ TheProject must: +

Provide content and configuration ...

+
    +
  • Provide XML content in {docroot}/content/xdocs + according to the Forrest DTDs or one of the other input formats. +
  • +
  • Provide navigation metadata using the configuration files + site.xml and tabs.xml +
  • +
  • Provide the skin configuation file in + {projecthome}/skinconf.xml +
  • +
+
+ +
+ TheProject can: +

Add extra abilities ...

+
    +
  • Provide its own skin in + {docroot}/skins/{your-skin-name} (Check the current + Forrest skins and the related pipelines to see what they are doing. + Bear in mind that the provided skins are able to be configured and + may already meet your needs.)
  • +
  • Provide own DTDs to handle other specialised document types in + {docroot}/resources/schema/dtd +
      +
    • and extra stylesheets to convert own grammar to the + intermediate 'document' structure.
    • +
    • and declare those extra DTDs in + {docroot}/resources/schema/catalog.xcat
    • +
    +
  • +
  • Provide its own overwriting versions of sitemaps + ({docroot}/sitemap.xmap and other *.xmap files) + ... (be sure you know what you are doing since you are then leaving + the area where other Forresters can help you out. +
  • +
+
+ +
\ No newline at end of file Propchange: forrest/site/docs_0_70/forrest-contract.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/howto/cvs-ssh/howto-cvs-ssh.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/howto/cvs-ssh/howto-cvs-ssh.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/howto/cvs-ssh/howto-cvs-ssh.source.xml (added) +++ forrest/site/docs_0_70/howto/cvs-ssh/howto-cvs-ssh.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,157 @@ +
+ CVS through SSH + 1.0 + This How-To describes the steps necessary to configure an SSH enabled CVS connection. It is recommended to configure an SSH enabled CVS connection to work with Apache code repositories. + +
Intended audience +

This How-to is aimed at developers who have been granted committer access to CVS repositories for particular projects.

+
Purpose +

+ Using SSH to access CVS repositories is recommended for security reasons. By configuring CVS to work with remote repository using private/public SSH keys you'll be able to run CVS commands without a need to enter your password every time you need access to CVS through SSH. +

+
Prerequisites +
    +
  • Account on the local machine.
  • +
  • Commiter access to the project(s). This also imply having account on the CVS host machine.
  • +
  • Cygwin - a Unix environment for Windows systems. You can get it here. Not required for Linux/*nix users.
  • +
  • A CVS GUI application (for Windows users only), e.g. WinCVS. It is not required, but can be very useful.
  • +
+ If you are behind a firewall check that you can communicate through the 22 port. For anonymous access you will need 2401 one. +
Steps +

How to proceed.

+
+ Terms +
+
SSH
+
Secure Shell. See OpenSSH
+
CVS
+
Concurrent Version System See CVS Home Page
+
+
+ $ represents local, % remote machine. +
+ Setting up domain users + This step is necessary only for Windows users. Linux users can happily skip this section and pass to Setting up SSH access section +

If you are a domain user then you should be added to Cygwin users list (See [cygwin-dir]/etc/passwd). +

+
    +
  • Start Cygwin, then enter following commands:
  • +
+ +$ whoami +administrator +$ mkgroup -d > /etc/group +$ mkpasswd -d | grep 'userxxx' >> /etc/passwd +$ exit + + Replace 'userxxx' by your account name +
    +
  • Start Cygwin/shell again and check that everything's Ok:
  • +
+ +$ whoami +userxxx + +
+
+ Setting up SSH access +

Start Cygwin/shell, then enter:

+ +$ ssh-user-config + Shall I create an SSH1 RSA identity file for you? (yes/no) no + Shall I create an SSH2 RSA identity file for you? (yes/no) (yes/no) no + Shall I create an SSH2 DSA identity file for you? (yes/no) (yes/no) yes + Generating /home/userxxx/.ssh/id_dsa + Enter passphrase (empty for no passphrase): + Enter same passphrase again: + Do you want to use this identity to login to this machine? (yes/no) yes + Adding to /home/userxxx/.ssh/authorized_keys2 + + Configuration finished. Have fun! + +

+ Now you have configured SSH on your machine. Next you have to setup access to the CVS machine. +

+ Having an empty passphrase isn't recommended for security reasons. See ssh-agent documentation on how to configure automatic passphrase retaining. +
+
+ Setting up passphrase access +

Perform the following:

+ +$ scp ~/.ssh/id_dsa.pub userxxx@cvs.apache.org:. +$ ssh -l userxxx -L 2401:localhost:2401 cvs.apache.org +% mkdir ~/.ssh +% chmod 700 ~/.ssh +% cat ~/id_dsa.pub >> ~/.ssh/authorized_keys2 +% rm ~/id_dsa.pub +% chmod 600 ~/.ssh/* +% exit + + Note, that the account name on CVS machine can differ from your local account name. +

+ Check that your configuration is correct: +

+ +$ ssh userxxx@cvs.apache.org + + If this command doesn't work then it can mean that you have an old version of SSH. In this case try ssh -l userxxx cvs.apache.org. Run ssh --help to get all available options. +

+ If now you are logged in to the to the CVS machine without entering the password then everything's Ok. +

+
+
+ Getting the project from CVS +

Now you are ready to get a project from CVS using SSH connection.

+

E.g. how it is done using Cygwin/shell

+ +$ export CVS_RSH=/bin/ssh +$ cvs -d :ext:userxxx@cvs.apache.org:/home/cvs co xml-cocoon2 + +
+
+ How to setup WinCVS +
    +
  • Add ssh.exe directory to your system PATH environment variable. Say:
    + C:\>set PATH=%PATH%;C:\cygwin\bin
  • +
  • Add CVS_RSH=ssh environment variable
  • +
+

+ Start WinCVS, then: +

+
    +
  • From the main menu select Admin
  • +
  • Then select Preferences
  • +
  • In the dialog that comes up:
    + Set the CVSROOT to userxxx@cvs.apache.org:/home/cvs
  • +
  • Set the Authentication to SSH Server
  • +
  • Click Ok
  • +
+
+
+ References +

+ You can find more on CVS, SSH and WinCVS here: +

+
    +
  • CVS Home Page
  • +
  • OpenSSH
  • +
  • Cygwin Home Page
  • +
  • WinCVS over SSH
  • +
+
+
\ No newline at end of file Propchange: forrest/site/docs_0_70/howto/cvs-ssh/howto-cvs-ssh.source.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: forrest/site/docs_0_70/howto/forrest.xmap.source.xml URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_70/howto/forrest.xmap.source.xml?rev=376128&view=auto ============================================================================== --- forrest/site/docs_0_70/howto/forrest.xmap.source.xml (added) +++ forrest/site/docs_0_70/howto/forrest.xmap.source.xml Wed Feb 8 16:26:20 2006 @@ -0,0 +1,306 @@ +
Annotated forrest.xmap
sitemap.xmap
+<?xml version="1.0"?>
+<!-- ===============================================
+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 <sourcetype>
+and an appropriate <map:when> 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 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="html"      src="org.apache.cocoon.generation.HTMLGenerator">
+        <jtidy-config>WEB-INF/jtidy.properties</jtidy-config>
+      </map:generator>
+      <map:generator name="text2xml" logger="sitemap.generator.textgenerator"
+                     src="org.apache.cocoon.generation.TextGenerator">
+       <parameter name="localizable" value="true"/>
+      </map:generator>
+      <map:generator name="exception"
+                  src="org.apache.cocoon.generation.ParseExceptionGenerator"/>
+                  
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:matchers default="wildcard"/>
+
+    <map:transformers default="xslt">
+     <map:transformer name="pattern"
+                      src="org.apache.cocoon.transformation.PatternTransformer" 
+                      logger="sitemap.transformer.pattern">
+      <parameter name="groups" value="true"/>
+     </map:transformer>
+     <map:transformer name="lexer"
+                      src="org.apache.cocoon.transformation.LexicalTransformer" 
+                      logger="sitemap.transformer.lexer">
+      <parameter name="localizable" value="true"/>
+     </map:transformer>
+     <map:transformer name="parser"
+                      src="org.apache.cocoon.transformation.ParserTransformer" 
+                      logger="sitemap.transformer.parser">
+      <parameter name="flatten" value="true"/>
+      <parameter name="recovery" value="true"/>
+      <parameter name="localizable" value="true"/>
+     </map:transformer>
+  
+     <map:transformer name="extparser"
+                      src="org.apache.cocoon.transformation.ExtendedParserTransformer"
+                      logger="sitemap.transformer.extendedparser">
+     </map:transformer>
+    </map:transformers>
+
+    <map:actions>
+      <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.sourcetype.SourceTypeAction">
+        <sourcetype name="document-v10">
+          <document-declaration public-id="-//APACHE//DTD Documentation V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v10">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v10">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v10">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="document-v11">
+          <document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v11">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v11">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v11">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v12">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v12">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v12">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v13">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.3//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v13">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.3//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v13">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.3//EN" />
+        </sourcetype>
+        <sourcetype name="document-v20a">
+          <document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" />
+        </sourcetype>
+        <sourcetype name="document-v20">
+          <document-declaration public-id="-//APACHE//DTD Documentation V2.0//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v20">
+          <document-declaration public-id="-//APACHE//DTD Todo V2.0//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v20">
+          <document-declaration public-id="-//APACHE//DTD Changes V2.0//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v20">
+          <document-declaration public-id="-//APACHE//DTD How-to V2.0//EN" />
+        </sourcetype>
+      </map:action>
+      <map:action logger="sitemap.action.locale" name="locale" src="org.apache.cocoon.acting.LocaleAction">
+      </map:action>
+    </map:actions>
+    <map:selectors default="parameter">
+    <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
+   <map:selector logger="sitemap.selector.exception" name="exception"
+                 src="org.apache.cocoon.selection.ExceptionSelector">
+     <exception name="syntax" class="net.sourceforge.chaperon.process.ParseException"/>
+     <exception class="java.lang.Throwable" unroll="true"/>
+   </map:selector>
+      <map:selector logger="sitemap.selector.config" name="config" src="org.apache.cocoon.selection.SimpleSelector" />
+    </map:selectors>
+  </map:components>
+
+  <map:resources>
+    <map:resource name="transform-to-document">
+      <map:act type="sourcetype" src="{src}">
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{sourcetype}" />
+
+          <map:when test="document-v10">
+          <!-- FIXME (JJP):  This should use the v12 now-->
+            <map:transform src="{forrest:stylesheets}/docv10todocv11.xsl" />
+          </map:when>
+
+          <map:when test="document-v20a">
+            <map:transform src="{forrest:stylesheets}/docv20todocv12.xsl" />
+          </map:when>
+
+          <map:when test="document-v20">
+            <map:transform src="{forrest:stylesheets}/docv20todocv13.xsl" />
+          </map:when>
+
+          <map:when test="howto-v10">
+            <map:transform src="{forrest:stylesheets}/howto2document.xsl" />
+          </map:when>
+
+          <map:when test="howto-v11">
+            <map:transform src="{forrest:stylesheets}/howto2document.xsl" />
+          </map:when>
+          <map:when test="howto-v12">
+            <map:transform src="{forrest:stylesheets}/howto2document.xsl" />
+          </map:when>
+          <map:when test="howto-v13">
+            <map:transform src="{forrest:stylesheets}/howto2document.xsl" />
+          </map:when>
+          <map:when test="howto-v20">
+            <map:transform src="{forrest:stylesheets}/howto2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v10">
+            <map:transform src="{forrest:stylesheets}/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v11">
+            <map:transform src="{forrest:stylesheets}/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v12">
+            <map:transform src="{forrest:stylesheets}/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v13">
+            <map:transform src="{forrest:stylesheets}/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v20">
+            <map:transform src="{forrest:stylesheets}/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v10">
+            <map:transform src="{forrest:stylesheets}/changesv10tochangesv11.xsl" />
+            <map:transform src="{forrest:stylesheets}/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v11">
+            <map:transform src="{forrest:stylesheets}/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v12">
+            <map:transform src="{forrest:stylesheets}/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v13">
+            <map:transform src="{forrest:stylesheets}/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v20">
+            <map:transform src="{forrest:stylesheets}/changes2document.xsl" />
+          </map:when>
+          <map:otherwise />
+        </map:select>
+      </map:act>
+    </map:resource>
+
Definition of File-Resolver-Resource
+    <map:resource name="file-resolver">
+      <map:select type="exists">
+        <map:when test="{project:content.xdocs}{uri}.ihtml">
+          <map:generate src="{project:content.xdocs}{uri}.ihtml" type="html" />
+          <map:transform src="{forrest:stylesheets}/html2document.xsl" />
+          <map:transform type="idgen" />
+          <map:serialize type="xml-document"/>
+        </map:when>
+        <map:when test="{project:content.xdocs}{uri}.html">
+          <map:generate src="{project:content.xdocs}{uri}.html" type="html" />
+          <map:transform src="{forrest:stylesheets}/html2document.xsl" />
+          <map:transform type="idgen" />
+          <map:serialize type="xml-document"/>
+        </map:when>
+        <map:when test="{project:content.xdocs}{uri}.txt">
+          <map:match type="regexp" pattern="^(.*?)([^/]*).xml$">
+            <map:generate type="text2xml" src="{project:content.xdocs}{1}{2}.txt" />
+            <map:transform src="{forrest:stylesheets}/text2document.xsl">
+              <map:parameter name="filename" value="{2}" />
+            </map:transform>
+            <map:serialize type="xml-document"/>
+          </map:match>
+        </map:when>
+        <map:otherwise>
+        
+          <map:select type="exists">
+             <map:when test="{project:temp-dir}/input.xmap">
+               <map:mount uri-prefix=""
+                          src="{project:temp-dir}/input.xmap" 
+                          check-reload="yes" 
+                          pass-through="true"/>
+            </map:when>
+          </map:select>
+        
+          <map:generate src="{project:content.xdocs}{uri}.xml" />
+          <map:call resource="transform-to-document">
+            <map:parameter name="src" value="{project:content.xdocs}{uri}.xml" />
+          </map:call>
+          <map:serialize type="xml-document"/>
+        </map:otherwise>
+      </map:select>
+    </map:resource>
+  </map:resources>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <!-- ============================================================ -->
+      <!-- INTERMEDIATE FORMATS                                         -->
+      <!-- ============================================================ -->
+
+      <map:match pattern="**body-*.html">
+        <map:select type="exists">
+          <map:when test="{project:content.xdocs}{1}{2}.ehtml">
+            <map:generate src="{project:content.xdocs}{1}{2}.ehtml" />
+            <map:transform src="{forrest:stylesheets}/html2htmlbody.xsl" />
+            <map:serialize type="xml" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <!-- ============================================================ -->
+      <!-- SOURCE FORMATS                                               -->
+      <!-- ============================================================ -->
+
Second Match for '**.xml'
+      <map:match pattern="**.xml">
+        <map:select type="config">
+          <map:parameter name="value" value="{defaults:i18n}"/>
+          <map:when test="true">
+          <map:act type="locale">
+            <map:call resource="file-resolver">
+              <map:parameter name="uri" value="{../1}_{language}"/>
+            </map:call>
+          </map:act>
+          </map:when>
+          <map:otherwise>
+            <map:call resource="file-resolver">
+              <map:parameter name="uri" value="{1}"/>
+            </map:call>
+          </map:otherwise>
+        </map:select>
+      </map:match>
+      
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>
+
\ No newline at end of file Propchange: forrest/site/docs_0_70/howto/forrest.xmap.source.xml ------------------------------------------------------------------------------ svn:eol-style = native