Paul Bolger wrote: > I've been trying to get this to work, and I'm not sure what's going > wrong. I'll explain what I'd like to be able to do: I'd like to point > at a directory, and it's subdirectories, processing all html files so > that all content outside a #content div is stripped.
Ah, that comment indicates a basic misunderstanding about how Cocoon operates. It doesn't actually process directories [1]. Rather it handles requests. Depending on the components of the URL, the sitemap will respond by matching certain patterns. You need a project sitemap (or plugin if it is common functionality) to intercept the specific matches that you want to transform. Any matches that remain are handled by the guts of forrest. Some of our documentation explains how to handle specific matches. As usual our docs need attention. This doc is close, but you need to wade through the example that it points to, because only part of that is relevant. http://forrest.apache.org/docs/project-sitemap.html Basically you need a project sitemap.xmap like this where "this-tree" is the directory tree to which you want to apply special processing ... <map:match pattern="**/this-tree/**.xml"> <map:generate src="{project:content.xdocs}{1}/this-tree/{2}.html" /> <map:transform src="{project:resources.stylesheets}/myStripContent-to-document.xsl" /> <map:serialize type="xml"/> </map:match> (Caveat: Be careful with those directory separators in the match and generate components: The ** will match a slash. I just added the above for readability.) In other words, presume that the request is localhost:8888/some-dir/this-tree/foo/bar.html then your sitemap would fire and it would generate xml content from xdocs/some-dir/this-tree/foo/bar.html and apply your transformer to produce the forrest internal document structure. --oOo-- [1] Preparing a directory listing, say for a table of contents page is another matter. For that you would use more complex Cocoon sitemap operations. See DirectoryGenerator which traverses the directory tree generates an xml fragment. Apply a Transformer to that to turn it into forrest internal xml format. You would need to follow Cocoon sitemap docs. Start at http://forrest.apache.org/docs/project-sitemap.html Understand sitemaps and then see: http://cocoon.apache.org/2.1/userdocs/directory-generator.html We need to add an example to our seed-sample site. > This How-To is > very detailed and I've learnt a lot from it, but it'd be good to have > > a. and example file of sitemap.xmap with the extra element included (I > can't find the place that it's supposed to go...) > > and > > b. an example xsl file. The stylesheet to strip everything except "div class=content" is a simple XSLT operation. Not apporpriate for this list. The "XSL FAQ" is a fantanstic resource http://www.dpawson.co.uk/xsl/ and get Micahel Kay's book. -David