Storing XML

Randomly jumping around on the web (waiting for the final Matrix trailer to download) I discovered Apache Xindice, a native XML database written in Java. It’s very read focused – getting XML documents into the system is pretty easy, querying them with XPath is pretty easy, updating them with XUpdate is not. I’m not sure I’m a big fan of XML based command grammars like this. DOM’s interface is ugly enough, XUpdate appears to be DOM’s interface cast in XML, so you end up with something like this:

<xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate">
  <xupdate:insert-after select="/addresses/address[1]" >
    <xupdate:element name="address">
      <xupdate:attribute name="id">2</xupdate:attribute>
      <fullname>John Smith</fullname>
      <born day='2' month='12' year='1974'/>
      <country>Germany</country>
    </xupdate:element>
  </xupdate:insert-after>
</xupdate:modifications>

[Xindice Developers Guide]

As I said, not very pretty.

Other Notes:

  • Just watched the Final Matrix Trailer – wow. Also check out the “I’m In” and “Prophecy” TV spots and the Enter the Matrix game trailer. Only disappointment: graphics on the game don’t look that great. I guess that what happens when you have to support substandard game consoles – you can’t take advantage of true power.
  • Seven of the lower seeded teams in the NHL Playoffs won their opening game. Only New Jersey came out on top of the top seeds.
  • As there is no hockey team in Seattle, I still root for teams from my previous home towns: Washington Capitals and Los Angeles Kings. Caps were 3-0 winners on the road in Tampa Bay tonight.
  • In further hockey news, Microsoft announced “NHL Rivals 2004” for XBOX today. I wonder if it will feature the Microsoft Hockey Challenge?