Older blog entries for jenglish (starting at number 1)

Worked on the XML-to-HTML conversion scripts some more on the train this morning. Cross-references are working pretty well now, but thanks to (yet another) XLST limitation, processing the stylesheet is much slower than it ought to be. If I could only do

< xsl:key select="document('INDEX.XML')//DEFINITION"
use="@name"/>
(where INDEX.XML is generated on a separate preprocessing pass) then I could use the key() function to look up cross-references. Since this isn't allowed, it's necessary to do a linear scan through the entire index document for each hyperlink.

XSLT is a really nice language for the most part, but I keep running into (apparently arbitrary) limitations like this. I'd really like to be able to define functions from node-sets to node-sets. xsl:template can emulate node set functions, but can only return strings or result-tree-fragments. Compositionality is lacking...

Well, I guess I'll try this diary thing out...

Trying to get cross-references working right in the Tcl man page conversion. This really boils down to a matter of classifying each "hyperlinkable" term. Right now I'm getting a lot of false positives. For example, if

\fBinterp\fP \fBeval\fP \fIscript...\fP
appears in the NROFF source, the converter will (mistakenly) identify 'eval' as a Tcl command and create a cross-reference to the eval(n) reference page, when it really ought to be tagged as a sub-command instead.

Fortunately, I think I've found a way to partially solve this...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!