[Answering a follow-up question]
pasupulety wrote:
difference between xsl and xsd?
First of all, it's best to understand that the questions like "what is the difference between {0} and {1}?" are logically incorrect. What is the difference between apple and Apple? Please see my past answer:
what is the difference between the class and encapsulation in programming[
^].
See also this discussion on asking a good question:
How to ask a good question?[
^].
Now, you should understand that XSL operated on some
really existing XML files. It presents the XML data is some other form, and it can do it with data loss, duplication, etc. This is just a way to transform data. Basically, it is used to create a different representation of XML data, typically in a human-readable form (such as HTML), but not always. Please see:
http://en.wikipedia.org/wiki/XSL[
^].
In contrast, XSD does not have to do anything with individual XML files. It really defined a whole class of such files, or, in other words, the set of constraints; and each of possible XMLs may or may not be compliant with it. It defined the
metadata defining the class of compliant files. In a way, it defined some semantic language based on XML as on a media. Please see:
http://en.wikipedia.org/wiki/XSD[
^],
http://en.wikipedia.org/wiki/Metadata[
^].
—SA