La ditta in cui lavoro produce in automatico centinaia di documenti al giorno, che vengono tutti archiviati, ovviamente.
Non so se possa fare al caso tuo, ma nel nostro caso abbiamo utilizzato XML su DB relazionale per la gestione dei dati, FOP per il rendering in pdf, xindice (database xml nativo) per il data warehousing dei documenti riportanti data piu' vecchia.
Stiamo inoltre approntando un sistema di visualizzazione di documenti tramite cocoon, il che ci permettera' di visualizzare l'XML in diversi formati (HTML, WML, PDF, ecc...).
Tieni presente che, se devi manipolare i documenti, XML rappresenta una scelta flessibile ma i db relazionali non sono fatti per gestire questo tipo di formato, o perlomeno SQL Server non lo adora (in effetti oracle e postgresql vanno molto meglio sotto tutti i punti di vista). :quipy:
Una volta definita la struttura XML e gli XSL di trasformazione, comunque, i documenti possono stare tranquillamente su db in XML, ed essere trasformati solo al momento della richiesta da parte dell'utente. Sempre nel nostro caso, abbiamo avuto la possibilita' di effettuare una suddivisione dei documenti in parti logiche, cosa che ci permette di visualizzare di volta in volta diverse componenti del documento, a seconda della persona che ne fa richiesta (e qui cocoon aiuta parecchio grazie alle sue funzionalita' di aggregazione e serializzazione automatiche).

Altro per ora non ti saprei dire, anche perche' ti dovrei chiedere i soldi per la consulenza!