Formatação de xml e controle de impressão

Olá, pessoal, belê?

Estou começando a desenvolver um sistema de controle de documentos (para gestão do sistema da qualidade) no ambiente J2EE.

Cada documento descreve o procedimento para realização de um determinado trabalho, ou para a aferição de alguma matéria prima. Atualmente todos os arquivos são .doc o que é um pesadelo na hora fazer o controle de versões e etc.

Minha idéia é converter toda essa documentação para arquivos .xml estruturados de uma maneira padronizada. E persistir o conteúdo em um banco de dados.

Até aí, tudo bem.

O problema é que, uma vez persistidos os arquivos, preciso fazer o controle de impressão de cada um deles. Pois a distribuição dos documentos é feita por cópia controlada, com uma lista mestra registrando a distribuição de cada cópia.

Minha dificuldade está sendo achar uma estratégia que:

1o. Permita formatar o conteúdo xml de uma maneira que possa ser impressa como rich text (negrito, listas, etc)
- pensei em usar xhtml + css - para gerar o layout do documento
- ou gerar um office open xml - para impressão usando office 2007

2o. Permita que cada impressão do documento seja registrada, para que o usuário descreva qual a distribuição do documento gerado.

Que sugestão vocês poderiam me dar para a atacar estes problemas.

Grato.

Eric