I found very good post about XSL and XSLT on BDOTNET(http://groups.msn.com/bdotnet).
Here is the
It would be gr8 if you could post questions on BDOTNET so that others could also benefit.
Well as for your question.
Assuming when I refer to XML Application, we all agree that it is a (data) language created using XML.
XSL is an XML Application, A language to create style sheets the XML Way(in XML syntax).
They, like CSS helps define or modify styles, but are much more programmable, powerful and extensible.
1. Primarily "applying style" can be thought of a way to add or modify the qualities (display or non display) of an existing element. Sort of transformation.
2. Also it requires to be able to apply to a particular element or a particular occurence of an element or attribute. Sort of selection.
3. And a way to format the style. Sort of formatting.
Hence for the above three requirements XSL is split into 3 parts.
1. XSLT - XSL Transformation
2. XPath - for selecting precise nodes
3. XSL-FO - XSL Formatting Objects
An XSL file contains an XSLTransform for some input elements identified by XPath and formatted optionally using XSL-FO.
XSL-FO is more powerful than words. Normally for XML to XML or XML to HTML etc we use templates and spit out XML or HTML and dont use XSL-FO. XSL-FO is used for generating WORD Documents, RTF Documents, PDF, TeX, etc.
So in general every XSL file contains XSLTransforms cum XPaths with optionally XSL-FO's. you dont need to have a file with .XSLT extension.
Please visit these URLs for more info
1. Intro to XSL - http://www.w3schools.com/xsl/xsl_intro.asp
2. What is XSL-FO? http://www.xml.com/pub/a/2002/03/20/xsl-fo.html?page=1