The idea behind XSLT is quite simple and elegant. It's goal is to be able to take an XML (extensible markup language) document and change it's format. I think of the stylesheets as little engines that take a predefined XML document and produce desired output.
XSLT documents are mostly used at present to transform XML to XML or XML to HTML; however, this is changing and there are many projects that are using XSLT to transform XML to Java and XML to PDF. We will focus on XML to XML in this document.