I did a pretty substantial change on a publishing side. Earlier details of books referenced in this page have been stored either directly in source document or in manually maintained xml-file that was used as central book database. While solving one of my requirements (reusable data), manually maintaining xml-file was not the most convenient of solutions to achieve this.
I finally got bored to this and did something I had planned on doing for ages, namely switched over to real book collection management database. My choice of application for the need is Bookcat. It has neat features for data input, including internet lookup from various sources, nice lookup tables that help to standardize the way the data is stored, can store every piece of information I need and can export xml.
The latter makes it relatively easy to extract the data I need to be used on the site. Furthermore, it uses Microsoft Jet database engine (Access), which while not being too great a database fulfills one of my paramount requirements: it's open in a way that I can access the database directly to perform maintenance tasks using all sorts of SQL trickery should I need to. Furthermore, not being a big fan for doing the same tasks again, this makes it possible to transfer data to different database system should I want to do so at some point. Finally, this also makes it possible for me to write code that accesses data directly from the database rather than relying xml-export function.
Right now there is only one entry making use of Bookcat data, but now that I have all the code needed for this in place, it is just a matter of inputting the data in Bookcat, then replacing book data stored locally in source file with reference to books (I use isbn as key). Now, if only I could figure out a convenient way of reading xmp or iptc metadata from image files with xsl. Or failing that, creating xmp-sidecar files for images.