XML Publication is a set of tools to generate Web pages from (possibly large)
desktop documents or other structured documents. For instance books with
paragraphs, or tabular data. It cuts big documents in Web pages, creates
customizable multi-index. All this is done through a repeatable process,
where data is separated from presentation and user settings.
It uses cutting-edge XML techniques and particularly XSLT. It is under GNU
Public License.
History
I used these techniques for industrial catalogs at industrySuppliers.com,
a (defunct) market place, last spring. Then I got involved in Seed to Seed
(www.seed2seed.net), a project to
publish information collected worldwide about sustainable agriculture. With a
bit of refactoring, XML Publication resulted from these projects. Currently I
work at Information & Document (idocw.com), where we offer support on XML
Publication (and many XML and other techniques). Someday XML Publication will
also be applied to Worldwide Botanical
Knowledge Base .
framework calls user callbacks for file names, labels, etc
easy to add XSLT template rules to customize formatting of item and
rubrics; this is analogous to polymorphism in object-oriented
programming, you just define a template with the same mode
matching a smaller subset of of items or rubrics
Implementation
Automatic update and chaining with GNU Jakarta Ant (or GNU make).
Moreover ant allows to be multi-platform regarding file-systems.
The build.xml files are designed so that data can be URL, not only files
(alas Ant is not yet enough Web-oriented, but we work on that too).
Modularity
Each functionality in a separate XSLT transform:
semantic markup
creating word lists by rubric
creating hyperlinked indices and (multi-level) TOC
XHTML formatting
The chaining of transforms (data-flow) is not hard-wired in the XSLT
transforms, the Ant build.xmltakes care of that.
Future
validation and assisted editing for correction of source documents
(Schematron + XED or Emacs)
navigation through hierarchy of categories (commercial catalogs)
integration of an XML search engine (Exist)
dynamic stylesheets and multiple presentations: table, paragraphs,
tree
WAR packaging for J2EE Web servers for dynamic server
Web interface and Web services authoring and publication
connectors for several document types: DocBook, OpenOffice, TEI,
spreadsheets, relational databases, ...
authoring GUI tools for semantic markup, option choosing, and
publish