I have to take back (some of) the nasty things I said about XSLT earlier (13 Jul 2000)... Of course it's possible to do what I was trying to do, and had I bothered to RTFM (XPATH section 12.2, to be precise) it would have been blindingly obvious what I was doing wrong.
I still wish XSLT were more composable, though...
Eric Melski (The Other Tcl Guy) was kind enough to give me write access to the Tcl CVS repository so I could fix markup errors in the man pages... but now I'm swamped with Real Work again so it'll have to wait 'til the weekend.
Finally started writing up those notes on XPath that I've been meaning to write for a while.
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...\fPappears 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...
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
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!