As many of you already know, xml is a relatively new
language studied to represent any kind of information
using simple text files.
The nicest thing about XML is that it is used
to store data, but it does not carry information
about how that data should be displayed (rendered)
on a generic media (like a screen, or a printer, ...).
Informations about how to render XML files on a
given media are carried along in Stylesheet files,
either CSS version 2 or XSLT stylesheets.
XSLT is a generic language which can be used to transform
XML files to almost any other language or format. It is most used
to convert XML files into HTML files (to be displayed
on a screen) or to FOP (to be printed or converted to PDF).
By having a file carrying the data and one
carrying informations about how that data should
be rendered on a device, you can separate the
task of writing your web softwares from that
of designing good and nice interfaces.