After fixing the first bug, the contents page title was not being correctly selected; it defaulted to "Reviews". The logic of the XSLT was correct, but perhaps due to some Cocoon cacheing or some other oddity, it wasn't producing the correct result, so I added an "any" value in the XML, and trapped for that explicitly, working around the issue.