Ja celkom nerozumiem zadaniu a mám pocit, že to XSLT je tam len preto, aby tam bolo. (,,nejakým spôsobom používať XML" mi príde ako vyslovene vymyslený problém).
V Jave sa kedysi používali riešenia, kde sa XML využívalo na reprezentáciu obsahu stránky, XSLT na definíciu výzoru stránky a servlet zobral XML s obsahom, stransformoval ho pomocou XSLT do XHTML a výsledok poslal prehliadaču. Toto robí tvoj príklad v PHP: používateľ napíše stránky v nejakom XML markupe (buď vlastnom alebo v DocBooku alebo čomkoľvek) a tie sa stransformujú do HTML poslaného klientovi.
Napr. Apache Cocoon bol projekt, ktorý fungoval vyslovene na tom, že vytiahol relačné dáta z tabuľky, vyrobil z nich XML, to poslal do rúry, na ktorej boli XSLT transformácie, až na konci vypadlo XHTML, ale nasadenie projektu na mňa pôsobilo mnohokrát ako strašný overengineering.
Klasicky sa robili zveriny, že celé XML bolo uložené v databáze ako BLOB/VARCHAR a žiadna štruktúra sa neriešila. Veľké databázové systémy (Oracle, DB2) majú priamo zabudovanú podporu pre ukladanie XML a dopytovanie.
Táto tendencia v Jave odišla na okraj: XSLT je v prípade komplexných šablón obvykle neudržovateľná polievka tagov, navyše jeho funkcionálnoidnú filozofiu treba pochopiť, čo vyžaduje čas. Jeho rolu na strane servera vedia mnohokrát zastúpiť šablónovacie stroje (template engines) ako Apache Velocity či Freemarker, kde šablóna vyzerá omnoho jednoduchšie. Tam je to potom naozaj o tom, že vytiahnem dáta z SQL, napchám ich do modelu, ten zmergenem so šablónou a výsledný text pošlem klientovi.