Representation of contents of a bookshelf using XML schemas, XSLTs, and Java programs