Purtroppo è un problema della libreria che quando serializza l'oggetto non mantiene i riferimenti alle DTD. Il metodo setValidating dovrebbe stampare in output gli eventuali errori del documento rispetto alla DTD...