XML Publication : Web document publication through XML

by J.M. Vanel , Copyright © J.M. Vanel - 2001

Last update:

Download current version; User documentation (not up-to-date) ; en français

Back to main page

What is XML Publication ?

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 .

XMLPublish data flow

XMLPublish data flow XMLPublish data flow

Samples

Samples

Source a table, a paragraph structured text, a poorly structured word processor file, etc.

Requirements

Static pages vs dynamic pages

Static pages

Dynamic pages

Information object model

If your browser is an SVG browser (like Amaya), you see below an UML diagram of XMLPublish Information object model:

Document Item Rubric String name Keyword xsd:element realize realize XMLPublish object model

Otherwise, use these links:

XMLPublish object model as SVG (if you have the Adobe SVG plugin)

XMLPublish object model as GIF

XML basic structure

Simple 2-level structure reflecting the above "Information object model" :

<root>
 <itemType1>
  <rubricType1>any markup ...</rubricType1>
  <rubricType2>any markup ...</rubricType2>
  ... etc
 </itemType1>
 ... other item types
</root>

Actually there are 2 concrete structures for the master.xml file:

Presentation settings

XSLT customization

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:

The chaining of transforms (data-flow) is not hard-wired in the XSLT transforms, the Ant build.xmltakes care of that.

Future

Detailed list of features and tasks

Back to main page