Introduction

This domain was still available so we use it to present the obvious solution for the XML2PDF issue.
It is obvious to us at least!

XML

alternative input

XHTML, CSV, database, structured TeX

2

typesetting engine

ConTeXt

PDF

alternative output

website

Just some example XML code:

This code snippet is taken from the Math4All project. All content is coded in XML and the math is done in MathML and AsciiMath.
The same resources are used in generating the folio products and the website.

In this project teachers can choose between two different paper layouts and one screen layout in a customizing service that generates their readers. For dyslectic students they can choose a dyslectic font.

You want to see the customizing service at work?
Please request a guest account by sending an email to Ton Otten.

ConTeXt at work

  • aggregates all XML snippets into one XML file
  • interprets the XML directly (there is no intermediate format)
  • generates the layout that is defined in the style files
  • takes care of section- and pagenumering and offcourse table- and imagenumbering
  • places floating elements like images, tables and other textblocks
  • generates multiple tables of content and the registers to obtain acccessible texts
  • takes care of pagenumering, table- and imagenumbering
  • generates the text-text-, text-image- and text-formula references (inter- and intra document references)
  • takes care of automatic and correct hyphenation
  • generates the document embellishments like backgrounds, shades etc. with the help of MetaPost
  • does everything else to fulfill your document demands and wishes

And when necessary it also

  • exports the website

Some results

Flavour one

Click here for the full PDF.

Click here for the full PDF (dyslex version).

Flavour two

Click here for the full PDF.

Flavour three: screen document

Click here for the full PDF.

The website

Click here to visit the website (generated by a ConTeXt export).

Click here to visit the standard website (generated otherwise).

Some considerations

Can you do this yourself? Yes!

Is it easy? No!
But just give it a rainy Sunday afternoon (and evening) to get acquainted.

Do you have to be a programmer?
No! But you do have to have a feeling for 'structure'.

Why ConTeXt?
Because then you will not be discouraged by unsolvable technical hurdles when you have reached 60% of your workflow or layout demands.
With ConTeXt you can get to the full 100%.
Okay 96%, with a little help of users on the mailing list.

You know the feeling?
Invested a lot of time and then discover you can't do math. Or tables spanning 23 pages. Or Hebrew hyphenation. Or registers.
Or tagged PDF. Or layers. Or cmyk colors. Or you have to (buy and) run another program to...
We've been there ourselves.

So install ConTeXt. It's open and it is free.
Go to the Installation Procedure on the Pragma website and follow the instructions or use these instructions.
You can find somewhat more verbose instructions here.
It's doable.

There is a ton of documentation.
There is also more on XML.

There are lots of examples to start with too.

Get this XML project template (zipped), but not before you did some 'hello world' exercises.
Read the readme file that comes with it.

Do you think you have a complicated workflow?
Don't hesitate to contact us before you get started. More often than not people start off on the wrong foot and that can have
an everlasting crippling effect on your project or workflow.

Don't ask us: Can I do my project with another typesetting program?
We are not the right persons to answer that question.
Please consider the fact that we used several TeX macropackages (LaTeX, IRNSTeX, LAMSTeX) in the early 90's ourselves and then released
ConTeXt in 1997 after using it in-company for a few years. Over the years we evolved from ConTeXt MkII (pdfTeX) and
ConTeXt MkIV (luaTeX) for all sorts of technical reasons but most of all because it was challenging, interesting and fun.
Lately we developed ConTeXt lmtx (LuaMetaTeX) where the lmtx acronym can also be read as Lean and Mean TeX. With that we are completely
independent, ready for the future and eager to move ahead with some ideas that were already lingering in the back of our heads for years.
So we are very happy with ConTeXt and where we are now!

From non-users you might hear that ConTeXt is a moving target.
We would like to rephrase that: we are evolving.
And ConTeXt is a stable typesetting engine because otherwise our projects and workflows (and those of other ConTeXt users) would fall apart.

While you are still pondering over the information above you can read this:
ConTeXt features
Factsheet ConTeXt lmtx
Mixing some inputs

and/or visit
Pragma Advanced Document Engineering
ConTeXt wiki

or contact us
Pragma Advanced Document Engineering

or better still
Go ahead and get started!