[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lout to HTML
From: |
Aaron Roydhouse |
Subject: |
Re: Lout to HTML |
Date: |
Fri, 15 Nov 1996 12:43:59 +1300 |
Valeriy> IMHO, an interesting and promising thing to investigate is
Valeriy> SGMLSpm package:
>> Welcome to SGMLS.pm, an extensible perl5 class library for
>> processing the output from the sgmls and nsgmls parsers.
Yep, SGMLSpm is a very nice package, and I used it for a couple of
months. I particularly liked that is came with translations for the
very complete DocBook DTD. I soon found myself improving that
translations to cover more of DocBook. I appreciated how easy it was
to extend (at least for a Perl programmer).
However the sgmlspl utility that comes with SGMLSpm is an stream/event
based translator, and reordering or delayed composition requires
storing information, often in global variables. The experience
convinced me that tree-based translators were the way to go: Parse the
SGML document into a tree, apply transformations to the tree, and then
generate the target syntax from the transformed tree.
The second lesson I learnt is that a comprehensive quality translation
is hard work. I was improving the DocBook translation on my own, and I
could not find any collaborative efforts to develop translations for
sgmlspl.
These were the reasons why I moved to `sdc', which had the translation
model I was looking for, and included comprehensive translations for a
well thought out DTD. I must admit though, that translations are
harder to develop, but the framework is not yet well documented. The
results of using the package, however, are excellent.
In the long run I believe that DSSSL is an even better solution, which
just lacks a good, freely-available implementation. So I'll definitely
be paying close attention to James Clark's Jade DSSSL implementation.
sgmlspm: http://www.uottawa.ca/~dmeggins/sgmlspl/sgmlspl.html
sdc: http://www.inf.tu-dresden.de/~jw6/doc/sdc/index.html
jade: http://www.jclark.com/jade/
Aaron.