Paul Howson’s Website tdgq.com.au

Design and Publishing Notebook

Flashback: Translating XML into HTML — the 1998 Xmltr Suite

In the late 1990s XML was hot. A simplified derivative of the arcane SGML (Standard Generalised Markup Language), XML was touted by some as a revolutionary technology which would transform — well almost everything about human society. Such nonsensical claims soon settled down and XML found its place as a useful interchange format for structured data.

The Structured Documents crowd gradually migrated away from the over-complex SGML and adopted XML as an authoring format and a market was created for specialised XML authoring tools — word processors which created well-structured XML documents.

Authoring HTML in the Late 1990s

Authoring web pages in the late 1990s was not a simple matter. Content management systems had yet to gain traction, and authoring web pages generally meant manually constructing HTML code in a “programmers editor”.

Compounding the difficulty was the fact that this was also before the era of CSS. In other words there was no way to specify the formatting of a document separately from its HTML structure. Formatting instructions had to be included as part of the HTML, and the available formatting techniques were essentially limited to:

  • Use of tables (often nested) as the primary layout device.

  • Use of transparent gif images stretched vertically or horizontally as spacer elements — for example to create extra space before or after headings or images, or to force the dimensions of an empty table cell (which some browsers would otherwise collapse).

  • The <font> tag, with attributes to choose font family, size, colour, etc.

  • The <b>, <i> and <u> tags for bold, italic and underline variations of the font (no numerical font weights).

Authoring an HTML document by hand in a text editor using these mechanisms was laborious and error-prone.

Website authors familiar with the idea of structured documents that could be machine-translated into other representations realised such a mechanism would be the ideal solution to work around the abovementioned limitations of HTML and web browser technology of the time. The newly-minted XML was the ideal candidate for creating such structured documents. The missing piece of the jigsaw was a tool to translate an XML document into HTML web page that used all the abovementioned layout and formatting tricks.

At the time I was running a business creating websites and we were faced with exactly this problem. We had tried the new and immature website creation tools on offer at the time (NetObjects Fusion, Adobe PageMill, etc) and found them lacking.

So I decided to create a tool to translate structured XML documents into other representations, the most immediate requirement being to translate them into HTML.

Hence was born the Xmltr translation tool. It was created in the Userland Frontier scripting system, a combination of programming language and object database which was in many ways ahead of its time.

For a brief period Xmltr filled a void in the market until the development of the (much more complex) XSLT translation language as the “official” way to do such translations. XSLT was itself soon superseded by the implementation of CSS within web browsers which enabled web developers to author the content of web pages in purely semantic HTML and to format this with associated CSS files.

For posterity I have added the Xmltr website from 1999 as a sub-site to this website. Userland Frontier is nowadays an obsolete product, so the Xmltr software has no practical usefulness, but the website and the documentation is an interesting snapshot of the state of the art in the late 1990s. You can find it here:

tdgq.com.au/xmltr

Feedback from Users of Xmltr

At the time Xmltr generated a number of expressions of gratitude from a small band of website authors around the world. I have reproduced their comments below.

I should mention that Dave Winer, the creator of Userland Frontier and the author of the website “Scripting News”, which can arguably be cited as the very first blog (or “weblog”), commented in a forum at the time that the Xmltr software and website was “one of the most brilliant executions I’ve seen”.

Here are the remaining comments from users of Xmltr:

I especially appreciate your well written documentation and consideration to put it in hypertext and PDF. (Mark Gillingham)

Your xmltr suite’s elegance and usefulness showed me that there’s people out there who see and extend the strengths of Frontier. Your suite blows XSLT off the table — why set up a new language (XSLT), with all its limitations and restrictions, when you can leverage a full-blown scripting environment’s power? (Manuel Simoni)

I like your ideas, BTW, as I’m a firm believer in XML data storage with Web, PDF, Word, etc. output via translation. (Ken Dow)

XMLTR is a great piece of software. Great job!!!! (Josh Lucas)

First let me congratulate you on a wonderful piece of work in xmltr. I’ve played with DSSSL before, and this feels similar but without the complexity. (Pete Beazley)

Thanks for writing xmltr — I put it to use within a week of your announcement. I took the client’s database and turned it into XML. I used your suite to drive the page creation/content creation for Frontier’s Website management system. (Deke Smith)

Aloha Paul, just a quick note to say mahalo (thanks) for the excellent XMLTR suite. It’s been a real help in jumping in and learning more about XML. (Keola Donaghy)

I just wanted to thank you for the Really Great Xmltr Suite for Frontier. Xmltr, in combination with Frontier, is just want I was dreaming of — or at least striving for — since I’m designing and maintaining web sites and intranet sites. I’ve been using Frontier for ages, and Brian Andresen’s HALO suite with its styles provides already some xmltr-like possibilities — especially with some homebrew additions! — but not nearly as elegant as with xmltr. (Stefan Brantschen)

I’ve just been looking at your XMLtr suite for Frontier. Nice job on your documentation. I’m going to pass it around to my fellow coders (Delphi and Paradox) as an example of documentation done right. (Luke Tymowski)

We just started looking into xmltr for our own use and it looks like an incredible product. (Avi Cherry)

We’ve spent the last day or two working with XMLTR. XMLTR’s a great piece of software. (Michael Johnston)

I’m beginning to experiment with XML, and your solution (sans XSL) looks simple and elegant. (Garret P. Vreeland)

I just wanted to let you know that we’re currently using XMLtr in production for a largish website here at Organic. And that it’s been doing really cool things for us. (Philip Suh)

I just wanted say thank you for XMLTR. It’s been indispensible for a project I’ve been working on, and you’ve made it possible for me to do some things that would have been impossible otherwise. So, really… thanks. (William E. Haynes)

I spent Friday evening working with XMLTR. Lovely. I think you’ve created a great tool here — really special. We’re currently migrating a Quark version of our Undergraduate Prospectus into XML. We’ll then stream to HTML using your XMLTR — the missing link. (Stephen Emmott)

I should take this chance to thank Paul Howson publicly — his little XMLtr suite was out there doing the job of XSLT, which arrived in usable implementations over a year after XMLtr. His suite was well documented, well maintained, and emminently usable. It was an invaluable part of an effort to use XML in websites here, and made my job as a website developer a lot easier. (Philip Suh)