FOray: Module Documentation
Because of its modular design, FOray can be thought of as a set of open-source modules useful for developers who write document processing applications. Although FOrayâ€™s reference application is an XSL-FO application, many of FOrayâ€™s components are independent of that standard, and can be successfully used in other document processing schemes.
The purpose of this page is to briefly describe the FOray modules and the dependencies between them.
FOray has adopted the aXSL (API for XSL) view of document processing. In a nutshell, this philosophy views document processing not as a monolithic task, but as a set of discrete modules with well-defined interfaces between them. This means that very few FOray modules have dependencies on other FOray modules. Instead, they depend on aXSL interfaces, the implementations of which may or may not be other FOray modules. This modular design not only makes improving one module a simpler, cleaner, and less-risky task, but also allows developers to mix-and-match the "best-of-breed" modules that may be available.
The following table lists each FOray module:
Why do some FOray modules have dependencies on other FOray modules?
All other dependencies of one FOray module on another are, as a matter of policy, forbidden. Instead the corresponding aXSL interface is used.
Although each FOray module has its own build script, the preferred way to build FOray modules is to use the main build script, which can intelligently build any subset of FOray that is needed. See Building a Subset of FOray for details.