Ciao,
XML non sostituisce i database, è un formato utile a creare dialetti per condividere/scambiare i dati.
Se usi XML nei file di testo, non stai sostituendo un database stai solo usando un file di testo in cui scrivi il testo in una forma strutturata (una sorta di CSV più complesso).
Le possibilità di un DB relazionale sono ben altre e i database più avanzati come Sqlserver e Sybase (anche Oracle ovviamente ma non lo conosco) prevedono il campo xml come tipo di dato tra gli altri.
Permettono inoltre di "saltare" il livello di intermediazione tra i client e il database descritto nell'articolo che hai linkato, quindi non

database | script | XML | client

ma

database | xml | client

o

database | xml | script | client

Una storia analoga è quella relativa a i webservices, che non sono altro se non applicazioni che utilizzano un dialetto XML come formato per lo scambio delle informazioni..

Trovi una panoramica su questi argomenti anche qui
http://www.phpday.it/download/