• Neverwinter Nights: Shadows of Undrentide has gone gold

    Yep Neverwinter Nights: Shadows of Undrentide, the expansion pack for Neverwinter Nights, has gone off for CD production. Not that I foresee myself playing it much if I do buy it, since there is no time, but the availability of Prestige classes is terribly attractive - would love to play a Harper! Ah I miss those days where I could do whatever I wanted without a care in the world. *sigh*

  • DAML/XSLT update

    Following up on my previous post on the DAML/XSLT Adapter. It seems to do quite a good job at translating a DAML document into XML format, but it does choke when a complex ontology is used. Among other things, it produces <null> tags when it encounters certain DAML tags, and trips up when translating tags with fully qualified names (QNAME). It also seems, sadly, that the project is dead, seeing as the last update was back in July 2001.

    Nevertheless, it will do for now and is sufficient for my project. All I got to do now for the PDA side is to write a parsing engine using kXML2 to translate the XML format into DAML model Java objects. On the heavy-weight peer side (mainframe or workstation), we can use the Jena toolkit from HP to instantiate DAML model Java objects from the ones I wrote, and write them out to a DAML file. I can only hope I have enough time to finish it, because I'm still fairly new to DAML, and have never actually done XML parsing before. Would have liked to use Digester, but it'd be difficult to port to the PDA. We did consider hand-rolling our own lightweight Digester clone for the PDA, for good abstraction and easy maintainability, but neither time nor expertise are on my side.

  • Exam results

    So my examination results were released today. It turned out pretty well. In fact, I couldn't have asked for more. After the debacle the semester before where I failed a project module, my hopes of getting a 1st Class Honours were severely dented. Thankfully, this semester's results were really ideal and I can set my eye on getting a good degree. Not that it counts for much, since it's purely a qualification, but any sort of higher achievement is certainly welcome.

    I'm wondering, is it egoistic to post your good results in a blog? Well I'm not too sure, but I'm too damn pleased to care too much :p. It is, after all, the very first semester where I've gotten a perfect CAP (Cumulative Average Point) ;).

  • XUL article at SitePoint (Part 2)

    Just in case anyone wants to follow up on the last XUL article by Harry Fuecks, SitePoint has published the 2nd of 3 parts in his introductory XUL tutorial, entitled Introducing XUL - The 'Net's Biggest Secret: Part 2. Seems like SitePoint split up the entire article series a little too much, because this one seems a little too short. The final installment promises to discuss XBL and RDF data sources, so that's looking good.

  • Jakarta Commons - Digester component

    The Digester component of the Jakarta Commons project is an extremely useful and well-designed package that allows you to parse XML files at a higher level of abstraction in Java. This allows developers to concentrate on processing XML rather than get unnecessarily involved in parsing functions. With Digester, you can use simple matching patterns and write corresponding callback functions which are called whenever a match is found. For example, consider the XML snippet below.

    <book>
      <title>The Hobbit</title>
      <author>J. R. R. Tolkien</author>
    </book>
    

    In Digester, you can write this (in Java):

    Digester digester = new Digester();

    digester.addObjectCreate("book", "Book");
    digester.addCallMethod("book/title","setTitle",0);
    digester.addCallMethod("book/authors","setAuthor", 0);

    digester.parse("books.xml");

    When Digester parses the XML file (assumed to be "books.xml"), it will create a Book object when it encounters the tag, and it will call the setTitle() and setAuthor() methods with the arguments "The Hobbit" and "J. R. R. Tolkien" respectively upon encountering the <title> and <author> tags. Isn't this very intuitive? I think it's a very clean abstraction layer on top of XML parsing that allows developers to get on with "real" development work. Once again the Jakarta Project amazes me with what it can do.

subscribe via RSS