I don’t normally like using this column for promoting my other projects, but I’m weighing this against the fact that I actually have some interesting news to pass on. Thus, my apologies for the self-aggrandizements - I think you may find it worth it.

First, I have recently significantly upgraded the XForms.org portal. While I still support the forum, the role of the portal has expanded to become a general resource for anyone working within the XSLT, XForms, or XQuery space, and I’m expanding this into the Semantic Web realm as well. From XForms.org, you can find relevant blogs from the web, news articles, job listings, and linked resources, and I shall soon be adding calendar listing s of conferences and other events. I’ve also simplified the interface, such that commonly requested features such as the most recent aggregate blogs are available with one click in a simple interface, and specialized listings are no more than two clicks away.

I have also recently acquired (thanks to Cedric Johnson and the OpenDomain foundation) the rights to XQuery.org, and will be developing that site in a similar manner to XForms.org. XForms.org has a formal forum in addition to the portal (though I’ll probably be migrating the XQuery.org portal directly to Drupal, rather than having it slaved to a Simple Machines Forum as I have it now).

Perhaps most significantly for me is the launch of my own Metaphorical Web blog. I’ve needed a “home base” for some time, and I’m hoping to use this site in particular for my more in-depth industry analyses, discussions on outside technologies and events that affect IT (and the programming community in general) and as a place for me to highlight what I see as useful and worth technological projects, standards, and people. I also hope to use it to host code that I’ve written for books or articles in the past, which leads me to my final note …

Hundreds of SVG Files Posted

Nearly five years ago, I wrote one of the few books on Scalable Vector Graphics out at the time, entitled SVG Programming: The Graphical Web for Apress Books. The book was originally focused on the Adobe SVG Viewer (ASV), which was at the time (and to a certain extent still is) one of the best SVG implementations available. However, being SVG, it should have been able to work well with any SVG viewer. For this book I wrote nearly 400 SVG sample programs, an effort that consumed nearly a year, and near the end of it I was thoroughly sick of the topic.

Unfortunately, at the time I wrote the book, the Adobe parser had problems handling the SVG namespace, and as a consequence I ended up leaving off namespace information. Moreover, I didn’t have decent XML editing tools, so there were a number of SVG files that by all rights shouldn’t have compiled that did, because the ASV was (at the time) fairly lenient in its interpretation.

Time passed, the book did moderately well but not spectacularly, and I moved on. Unfortunately, in the intervening years, I also lost track of the source code, and five years later had written that source code off as having disappeared into the depths of time. However, an astute reader managed to locate a zip file (located, ironically, on the Apress site) and sent it to me.

Looking at it, I decided there was enough there that it may prove useful to students of SVG. I’ve spent the last day and a half going through adding namespaces, checking for well-formedness, and otherwise insuring that the files should parse properly, then I posted them up on my new Metaphorical Web site.

The files are located here.

I make no claims as to whether these files will work in your SVG browser - I found that about 75% of them worked (more or less) in Opera, perhaps 40% worked in Mozilla. Given that there was a fair amount of ASV specific code, I’m surprised that as high a proportion actually does work for Opera (which is another testament to the browser as an SVG environment). While I hope to edit and annotate these files, this isn’t a high priority at the moment. I hope this proves to be useful however to you in trying to make SVG work or in just trying to understand how it does work.

Feel free to play with the code and to use any ideas that may be gleaned from them (the code is under a Creative Commons license). One of these days soon, i hope to spend some time adding to this collection and fixing the ones that are explicitly dependent upon ASV.

Kurt Cagle is an author, information architect and developer living in Victoria, British Columbia, where he recently replaced his old car after the mechanic said last rites over it. Ah well …