Generative XPath (0.9.1) is an XPath 1.0 processor that can be adapted to different hierarchical memory structures and different programming languages. Customizing Generative XPath to a specific environment is several magnitudes of order easier than implementing XPath from scratch.
Archive for the ‘XSieve’ Category
XSieve version 1.2.0 is an evolutional update. Few bugs are fixed and several low-level enchancements are made. Two new functions are added to create a testing framework for another project:
* “x:call” calls any XPath function,
* “x:< =>” compares the nodes in the document order.
I’ve traced yet another libxml2 bug and proposed a fix: xmlXPathCmpNodes bug for attributes.
Small, but pleasant functionality is added to XSieve. Now it’s possible to call arbitrary XPath functions:
(write (x:call "concat" "ab" "cde" "fgh")) (write (x:call "generate-id")) (write (x:call "generate-id" (x:current)))
Some time ago I tried to compile XSieve for the win32 platform. I was partially successfull, I compiled everything except of the XSieve DLL itself. I’m not going to repeat the attempt in the near future, and I have to do something with the notes. The simplest solution is to put the notes to the blog for future reference.
After long break, I returned back to XSieve and found that the new tools doesn’t compile the sources.
I got a positive feedback after presenting XSieve. But why I’m not blogged? I sure I mentioned something worth noting or discussing. For example:
* If we implement an XML transformation library in some traditional language, we get a poorly re-implemented XPath and XSLT.
* Buzzword candidate “gestalt entity”.
* S-expressions and XML are different, incompatible creatures.
* XML virtual machine as Scheme plus SXML.
Meanwhile, I’d like to say thanks to Eric van der Vlist. I borrowed a laptop from him for the presentation.
What I disliked most during XTech, it’s absence of printed proceedings. It’s a great fault. But probably I’m the only one who needs it.
For my XTech paper, I need an example of usage of XSieve in practice. So, I finally have written a code which was in the mind for two months (more on it later, it worths a separate post). As I started to make a redistributable package, I got a problem.
Recently I got an XTech 2006 speaker notification. It said that acceptance or rejection notifications would be sent this week, and some more papers would be selected at the week of 27 February and later.
I believe that my XSieve proposal isn’t in the category “undoubtedly should be rejected”, but I don’t expect it’s in the category “definitely should be accepted”. I think it’s somewhere in the middle.
I surmise that XTech reviewers might read my blog, so I’d like to incentive you: vote for XSieve acceptance! XSieve isn’t a revolution in XML world, but it’s anyway an important milestone and worth to be popularized.
Dr.Dobb’s Journal publishes a serie of articles devoted to Google Summer of Code. Now it’s time for my article: unnamed article about XSieve.
XSieve 1.1.0 is the second public release. It mostly fixes misfeatures of the previous version. More precisely:
My mini-article on XSieve seems going to be published in Dr. Dobb’s Journal. The rewritten version passed an editor, and a editor-in-chief asked me for a photo and some other personal information.
The base for relative paths in “x:eval” is the XSLT context node. It wasn’t possible to change the base in XSieve 1.0.0, and it was behaviour by design. I realized that it is a misfeature and corrected it in XSieve 1.0.1. More, a new example is introduced: “Miltiple sum, or quantity times price.”