Conclusions
- Development was really easy: first version in under an hour
- Functions hide representation: I can change the metadata format with little or no changes to templates
- Multiple XQuery implementations interoperate: I swapped Saxon for Qizx/open and used the same queries and templates
- Everything is in XML: there's no middleware