Forrest is a publishing tool based on a subset of Cocoon. It's very good at taking XML documents and presenting them in a nice neat format using the xdocs format. It contains hordes of transformations based on xdocs that allows you to get pdf, html, etc out of them.
However, I'm doing some fairly extensive "light" hacking onto the tool. I'm using it to document XML based rules that are used to drive parsing algorithms of printer files. Bascially, these parsing algorithms are defined by two XML files. I was able, after hunting around, to dynamically create an index page that listed all of the directories underneath itself. Each directory contains the two rule files for a client. When someone clicks on the directory:
- The cocoon engine, finds the names of the files using the directory generator.
- Passes the directory listing to an XSL stylesheet that creates a small xml file with the names of the actual files that contain the rules
- That file is used for another XSL stylesheet that merges the two files so that each definition matches with each execution rule.
- The merged file is converted into xdocs.
- Forrest then takes that xml file and converts it to HTML or PDF, or whatever you need.
I'm just now starting to see what goes wrong if I use 0.7-dev release, and have found a couple things that need to be fixed with my app, but I do not think it will be too difficult to resolve these issues.
No comments:
Post a Comment