What is XSL ?

The EXtensible Stylesheet Language (XSL) includes both a formatting language and a transformation language. Each of these, naturally enough, is an XML application. The transformation language provides elements that define rules for how one XML document is transformed into another XML document. The transformed XML document may use the markup and DTD of the original document or it may use a completely different set of elements. In particular, it may use the elements defined by the second part of XSL, the formatting objects. XSL like CSS can be used to format XML document and define how the XML document should look.
XSL is a combination of two languages used as a single language, it’s not one language. The first language is a transformation language, the second a formatting language. Its ability to move data from one XML representation to another makes it an important component of XML-based electronic commerce, electronic data interchange (B2B exchange etc), metadata exchange, and any application that needs to convert between different XML representations of the same data. These uses are also united by their lack of concern with interpretation of data on a display for humans to read. They are purely about moving data from one computer system or program to another.
The transformation and formatting halves of XSL can function independently of each other. For instance, the transformation language can transform an XML document into a well-formed HTML file, and completely ignore XSL formatting objects.