XML News from Tuesday, March 8, 2005

Norm Walsh has published DocBook NG: The “IPA” Release; a.k.a. beta 9 of DocBook 5.0. "DocBook NG is a RELAX NG reimplementation of DocBook. It is a significant redesign that attempts to remain true to the spirit of DocBook." This release "cleans up a few content models and makes a few more elements ubiquitous." It includes both a RELAX NG schema and a DTD.


Steve Whitlatch has released the DocBook XSL Configurator, an open source "Java application used to create DocBook XSL FO customization layers. The application presents users with a tabbed pane containing several tables. Each row in each table contains several cells, one of which is editable and contains the text of the default setting for a specific DocBook XSL FO parameter. Users create projects containing paths to DocBook XML, common-customization XSL, an external XSLT processor, etc. Users then click through the tables, select DocBook XSL FO parameters they want to include in a customization layer, edit those parameters, include the customization layer in a project, write out the customization layer as an XSL file, and apply the XSL to the project's XML using the project's specified XSLT processor." Java 1.5 and the DocBook XSL styleesheets 1.67-2 are required.


John Krasnay has released Vex 1.1.1, an open source (LGPL) XML editor that features a word processor-like interface. Vex is based on the Eclipse platform. It supports DocBook 4.1.2, 4.2, 4.3, Simplified DocBook 1.0, and XHTML 1.0 Strict and can be configured for other DTDs. 1.1.1 is a bug fix release.


Sun has posted version 0.3.2 of xmlroff, an open source XSL Formatting Objects to PDF converter. xmlroff is written in C for Linux, and relies on the libxml2, libxslt, and the GLib, GObject and Pango libraries from GTK+ and GNOME (though neither GTK+ nor Gnome is required). It also needs PDFlib, FreeType2, and Fontconfig. xmlroff can be run from the command line. It also includes a libfo library. This release adds support for X11 colour names in the color attribute.


Ryan Tomayko has posted Kid 0.6, "a simple Pythonic template language for XML based vocabularies. It was spawned as a result of a kinky love triangle between XSLT, TAL, and PHP." The language is based on just six attributes: kid:for, kid:if, kid:def, kid:content, kid:omit, and kid:replace; each of which contains a Python expression. Since this expression can point to externally defined functions, this is most of what you need. In addition there are attribute value templates similar to XSLT's, and <?python?> processing instructions can embed code directly in the XML document. I'm not sure I approve of the use of processing instructions in the language, but I'm not sure I don't either. Not having to escape XML-significant symbols like < and & in the embedded code is convenient. Kid templates are compiled to Python byte-code and can be imported and invoked like normal Python code. Kid templates generate SAX events and can be used with existing libraries that work along SAX pipelines. This release adds template inheritence, match templates, cElementTree support, and a refined Python API. Overall it looks like a fairly well-designed, well-thought out system that has clearly learned from the mistakes of gnarly systems like PHP, JSP, and ASP.