Archive for August, 2005
After fixing problems with garbage collection, other memory errors are trivial, even if they take a while. This time I used xmlXPathConvertString, which frees its argument. I must read documentation more attentive. What I need is xmlXPathCastToString.
I should feel lucky. I’ve debugged and fixed program crashes, which were induced by garbage collection. It have taken only 4 days. I’ve added 5 lines to the program, and 8 problem issues go away, and more issues will be closed after testing.
I’m sad I didn’t find the article “Incorporating Guile into your C program” before. It would save me a lot of time. Although the author annotates the article as “a old howto I wrote (very probably terribly out of date at this point as I gave up on Guile a long time ago)”, the article is still correct and very useful (especially in the GC part).
1 October 2005, update
The document is inaccessable today due to problems with the server. Instead, the document can be downloaded from Unofficial Guile Docbits.
I haven’t release a new version of XSieve, and there are no user-visible changes, but it doesn’t mean I do nothing. I’ve been working on low-level technical issues and writing documentation.
Libxslt optimizes “xsl:text”, but there is no mention of the optimization neither on the site of libxslt, neither in its mailing list. I’ve got the knowledge from the deep debugging session. Should I hate libxslt, or should I love it for its puzzles?
The XPath specification doesn’t define what is the string value of an entity. Even more, the data model for XPath doesn’t have entities. But in XSieve I do have entities.
That’s not funny. Again the namespaces, again a libxslt bug. Libxslt is confused when XSLT and XML use the same prefix with different URI.
I’m trying to write a sort of generative XSLT: an XSLT stylesheet which creates another XSLT stylesheet. Unfortunately, I’ve confused xsltproc.
I was near starting to fix a “bug”. Fortunately, I asked myself: “is it really a bug, or is it misunderstanding of the specification?” That’s saved me a time. Actually, all works correct and error is in tests.
From a letter. “You should make Python Script for … look more impressive. Currently it works less than 1 second and displays: “ready, press any key”. We expect …”
Don’t use programlistingco and other co-elements of DocBook. They are not supported in full by the DocBook XSL stylesheets.
I wanted to add my own recursive target in addition to the recursive targets produced by automake. It was not easy.
XSieve 0.0.2 is the first public release of XSieve, a language which interweaves XSLT and Scheme.
This week I was porting XSieve installation tarball to GNU standards, in particular, to using ./configure, make, make install. It was not easy, especially because my package is not standard, but I’ve done it. On Monday I plan to update documentation and release the version 0.0.2.