9 Sep 2005 DV   » (Master)

xml:id is a W3C Rec

Whooohoo ! This is a relatively short and simple W3C specification. For people not familiar with it, IDs in XML are a special type of attributes whose value is used to point inside a document. So if you use an URI "http://example.com/bar.xml#foo" and there is an element in bar.xml with an attribute which is of type ID and of value "foo", then you can reference that element in a completely standard way (via the usual Mime-Type fragment identifier and XPointer). The problem is that to have ID attributes one needed to reference from the XML document and load the DTD where the type of the attributes is defined when parsing which a lot of XML processing avoids anyway. But if you have an xml:id compliant XML toolchain, any attribute named xml:id is of type ID and can be used for pointing inside the document, even in an absence of a DTD. This can be really useful if you design new XML based data type and need a way to key your records and point to them. It will work with XPath too "id('foo')" will directly bring you back the element if found in the document (and since the table is built at parse time it's an instant lookup usually).


After some troubles with rawhide I finally managed to run Fedora with an inotify kernel, then quickly spotted the memory leaks that plagued some of the users on inotified distros, and I released 0.1.6 with the patch and the latest updates to the inotify back-end. Note that the patch works for 0.1.5 you may have to ask Fred Crozat if you need to backport it, he did :-). He also pointed out that valgrind 3.0.1 also added support for the dnotify, so now gamin can also be valgrinded on older kernels which is excellent news (but didn't spotted other leaks). Valgrind rules !

libxml2 and libxslt

Apparently the latest releases were good ones, only one corner case parser bug was found (but it was also in 2.6.20) and a special compilation problem, this is less than the average amount of report after a week in a new release, especially considering the amount of changes which went in.

Latest blog entries     Older blog 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!