Older blog entries for vdv (starting at number 23)

Re: interesting rant by Linus Torvalds. Got me thinking whether it really is worth the bother of using XML for my native file format. - It's really to each application to decide. The good thing is that you don't have to feel too guilty if you don't use angle brackets: if you keep your format simple, XML applications will still be able to integrate your documents. It's also a question of available tools: if you're using something like uche's Anobind you may find XML configuration files easier to parse than native files formats. And it's also a question of perspective: whatever development tool you're using, XML documents may remain more complex to read and edit by hand for your end users.

Long time again since my latest entry!

This morning, edd has posted a link on a mail from Linus Torvalds about XML which is good food for thoughts...

I dare you. Prove me wrong says he before a rant showing that good taste and simple syntax is a MILLION times more readable than XML.

The interesting point is that Torvalds is right (could it not be the case?) and that he is also wrong.

He is right that simple text formats can be easier to edit and easier to read than XML documents, especially if you edit them by hand. He is also in his rights if he want to use good taste and simple syntax.

He is wrong if he assumes that good taste and simple syntax will save him from XML!

What many people miss to see (especially amongst XML zealots) is that what's important with XML isn't the syntax, not the angle brackets...

That's not because Torvalds uses good taste and simple syntax for his configuration files that I can't take a couple of hours to write a SAX parser for good taste and simple syntax and validate Torvalds' configuration files through a RELAX NG schema written with the non XML compact syntax. Zero angle brackets here, but still a XML application!

Hmmm... XML is only syntax and its syntax isn't important?

That's the XML paradox. Maybe, what's really important in XML is the quest for interoperability which has followed its publication. Maybe, after all, XML is a principle and not a technology?

BTW, have you noticed how straightforwardly Torvalds' demonstration can be applied to programming languages to show that Python (good taste and simple syntax) is a MILLION times more readable than C, Java or C# to name few?

Done more work on Examplotron and the new architecture is still more promissing than I would have thought! The previous releases were nice toys showing a cool concept but with this release Examplotron becomes able to compete with the "big" XML schema languages. In fact, I think we've got here a simpler syntax to access the full power and flexibility of Relax NG with embedded Schematron rules.

Long time since my last diary... Just been busy with my too many projects and most specifically my Relax NG book!

I have resumed work on two of my open source projects:

No major enhancements here, but a port from a Saxon specific extension to the EXSLT exsl:node-set() function. This makes XSLTUnit much more portable since it should run on any EXSLT compliant XSLT processor. Unfortunately this is not (yet?) the case with libxslt because of a couple of bugs related to the lack of support of a root node in the node set result.

Major redesign for Examplotron 0.5 which compiler is no longer generating a XSLT transformation but a Relax NG schema (with embedded Schemantron constraints when needed). The set of features is pretty much the same, the purpose of the intermediate release been to evaluate the impact of the changes. This will give a stronger base to the project and facilitate adding new features.

That's fun to see three of my unrelated projects starting to work together: XSLTUnit is now used to do unit tests on Examplotron and the result of the compilation of an Examplotron can be used as an input for xvif...

Server migration
    Been quite busy, after my vacation in sunny California, to setup an environment using two home hosted servers (Debian GNU/Linux of course) connected through DSL and backuped as round robin to replace the server I was previously hiring in the US (the revenues of the sites I am hosting couldn't cover the cost any longer...). It's not 100% stable yet but already enough to run...
    One of the issues to set up this environment was DNS: I have only 1 fixed IP and needed to borrow at least a secondary somewhere and I came on a nice project called xname during my quest. This is an open source infrastructure above the standard bind9 and after a couple of feature requests easy to implement xname has become a good fit for what I needed to do.
    One of these features is a XML-RPC service allowing to update the DNS when a variable IP address changes. Since xname is using PHP, I have writen this simple service using Edd's excellent XML-RPC for PHP. That's not rocket science (was even rather trivial), but I like these simple developments which show the power of such tools on non over-hyped applications. This seems rather new too, except for some requests for such a service done by Dave Winer back in 1999...
Mailing lists
    I have closed today xml-server and xml-tips, two mailing lists which I had created on the defunct "eGroups" when I was a XML newbie thinking I could change the course of XML. Funny enough, xml-server was created to promote the idea that XML databases were both useful and possible, an idea which is now widely shared and which I am fighting in its most rigid incarnation which tend to complexify and rigidify XML to make it easier to store and retrieve in databases. This is the case of XPath 2.0 which should include 80% of the features of XQuery and (IMHO) make it inapropriate for most of the XML processing as we know it today.
    I am also packing to leave for the Open Source Convention in San Diego... An opportunity to meet a different community than at the XML Idealliance conferences which I love to attend and also to spend a couple of weeks in sunny California with my family: we've planed to follow the coast from San Diego down to San Francisco...
    The French translation of my WXS book is now available in the book stores and I took some pictures in Paris this afternoon. That's pretty nice to see stacks of my book in stores! Makes it much more real than just seeing it on Amazon...

Why XML?
    Interesting thread about the RELAX NG "compact syntax". There is no doubt that the RELAX NG (non XML) compact syntax is more concise, easier to read and more elegant than the XML syntax, however, despite the efforts done by James Clark to provide an extension mechanism, John Cowan thinks that annotations are still so ugly that they should be removed from the compact syntax. The point here is that even though for each application taken alone, XML is frequently less appealing than other alternatives (XSLT and WikiMl are two other examples), XML is a clear winner as soon as there is a need for extensibility and interoperability between applications. BTW, the lack of extensibility of non XML syntaxes would also be an issue with if I wanted to integrate xvif into the compact syntax for RELAX NG...
    Published WikiMl as a project on advogato and freshmeat which gives it some visibility and got some interesting threads starting on its mailing list.
    Also published release 0.1.2 of xvif with a bug fix and the packaging of Relax NG test suites like I had done in 0.1.1 for the Regular Fragmentations test suite.


    The links between those two projects? I am using WikiMl to write my next book. The subject of this book is Relax NG and I am testing the examples of the book against the Relax NG implementation which is part of xvif (that's how I have found the bug fixed today). So there are some links between these projects and I am already using both of them together for some real world work!
XML Schema book
    This morning I have received my copies of my XML Schema book. I had seen the PDFs, but that's really different to get the real book in the hands. It's nice to see the result of 18 months of hard work.


    Just published release 0.1.1 of xvif. The major update is the implementation of a test suite for Regular Fragmentations which relies on a new module (xmlcomp) performing simple but flexible comparisons between documents (you can define what you want to test and ignore things such as empty text nodes or namespace prefixes).

14 older entries...

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!