To help with testing some of my METS document building/processing I
created a DOM-based Java API for building and processing METS documents.
When using the Java XML APIs to process METS documents I found myself
repeating lots of code and to think at an XML API level and METS object
level at the same time which indicated I needed an extra level of
abstraction (similar to that of the Harvard METS toolkit but XML-based
and structured more in the way I typically process METS (e.g. being able
to quickly get hold of any file, plus div and associated dmdSec without
traversing all elements each time or the overhead of XPath indexes).
At some point the API will have a permanent home but the latest code can
currently be found at the following location:
source package (an ant project, the API jar is in the lib directory):
There is an example simple "main" for both building and processing.
There are no doubt bugs, but it works fine for the current processing we
have to do on the documents we currently deal with. I'll be maintaining
the API on an ad-hoc basis so if anyone feels the urge to play around
with it, any bugs or feedback on useful additional methods can be sent
to me directly (I'm out most of Jan though for anyone whose idea of
holiday fun is writing code to build/process METS documents!).
Somewhat confusingly I called it the METS Toolkit (basically due to the
focus of our funding project at the time was "toolkits"). So as not to
be confused with the Harvard METS Toolkit, I'll have to come up with
another name (METS API?) one day.