I'm back from Software Development 2004 West, where a good time was had by all. I got some interesting ideas about data binding APIs during Dennis Sosnoski's talk about JAXB and JiBX. I think I see now how to design a data binding API that doesn't suffer from the numerous problems of the existing schema dependent, tightly coupled systems. More on that after I get XOM out the door. I'm currently hoping to post alpha 1 around the first of next month. Speaking of XOM, it got a very positive reception at the conference; and a few more groups are likely to start using it.
During my talk on Effective XML, I recommended that developers always use a parser to handle XML, because regular expressions aren't sufficiently aware of XML rules. I really should follow my own advice. The regex based software I use to update this site from home just broke because of some well-formed changes I made to attribute order while hand editing the site in Santa Clara last week. The only excuse I have is that the software for managing this site predates XML by a year or two. It certainly would be more reliable and less flaky if I took the time to rewrite it to use an XML parser, though. I'll be catching up on news from the last week over the day as I wade through my e-mail backlog.
The Mozilla Project has posted the first beta of Mozilla 1.7,
an open source web browser, chat and e-mail client that supports
XML, CSS, XSLT, XUL, HTML, XHTML, MathML, SVG, and lots of
other crunchy XML goodness. It's available for Linux, Mac OS
X, and Windows.
Version 1.7 improves popup blocking, lets users review and open blocked popups, supports multiple identities in the same email account, and makes various other small improvements. It also has some small but significant performance optimizations.
IBM's alphaWorks has released an XQuery Normalizer and Static Analyzer (XQNSTA). "Given an XQuery expression, the tool uses the normalization rules specified in the W3C XQuery Formal Semantics document to convert the given expression to an expression in a core grammar (a subset of the XQuery grammar). The tool also comes with a parser that gives an XML representation of the XQuery expression; this XML representation can be used for manipulating the expression. Given a normalized expression, the tool again uses the static typing rules specified in the W3C XQuery Formal Semantics document to determine the output type of the expression. The normalized expression can be obtained from the Normalizer, and the static type of the expression can be obtained from the Static Analyzer. The Static Analyzer also checks for semantic errors (such as passing an empty expression to a function call where an integer argument is expected) and generates error messages whenever semantic errors are found during the static type checking." XQNSTA is written in Java. There's both an API for this and a GUI interface.
AlphaWorks has also published Views for XML, an XQuery based "mechanism for defining and querying views on native XML data. It is designed for XML users and Java™ developers working with applications that deal with data stored in XML format. It provides mechanisms for defining views relevant to the application. The application developer can then have the view itself as a data abstraction and not be bothered about the remaining data in the repository (which is irrelevant to the application being developed)."
Slava Pestov has uploaded the eleventh pre-release of jEdit 4.2, an open source programmer's editor written in Java with extensive plug-in support and my preferred text editor on Windows and Unix. New features in this release include the ability to customize the metal look and feel fonts in Java 1.5, the file system browser uses the locale's short date format, various new macros, and S# syntax highlighting.