Indubbiamente se il gruppo con cui lavori (dammi del tu per favore) ne ha la necessita' una DTD comune e' la cosa migliore.

Una DTD o uno Schema (quest'ultimo pare avra' il miglior futuro) definiscono la struttura del documento, quindi obbligano tutti quelli che scrivono documenti su quella struttura a produrre documenti corretti.

In software incaricato di produrre un documento XML dovrebbe essere in grado di leggere la DTD o lo Schema (definizione) e proporre all'utente una interfaccia per l'inserimento dei dati... ne piu' ne meno di un software per la lettura scrittura di un data base.

C'e' una strada piu' semplice, ovvero quella di consentire a tutti di scrivere i documenti secondo la loro routine (magari i sui fornitori hanno gia' software per la fatturazione), ma in fase finale produrre il documento XML valido e ben formattato secondo a definizione concordata come documento di scambio.

In fondo XML non e' stato pensato per sostituire i database, ma per avere un formato di scambio in formato aperto.