rewrite documentation generation mechanism to use XSLT