I am studying all that i can about web services such as soap and found some of the xml displayed on some tutorials hard to understand so i decided to learn from the ground up to make sense of things. xml i already understand so then i saw xpath, xslt, xpath,xquery,xlink, xpointer,xml schema, xsl-fo. there are alot of x related stuff that exists in the xml world. i looked into xslt and dont really see any reason to why it would be used in small or big applications. pretty much of what it is doing can be done with css, javascript/jquery or server side. is xslt even being used? or how about DTD,Xpath,Xquery,Xlink,Xpointer,XSL-Fo,Xforms ?
i do know that xml schema is used with soap unless im wrong.
XSLT
is a great technology for it's purpose, which is specifically transforming one XML
document into another, or sometimes into a plain-text file. If you happen to have data and want to use it to produce HTML or XSL-FO or something else, then XSLT
is by far the best way to go. If you're passing XML
documents between applications and need to change their format, XSLT
is the perfect tool.
However, if your application isn't already using XML
, then you probably have no use for it. As a developer, I would recommend learning XSLT
because when you do need to do XML
transformation it's a great tool to have in your arsenal. In my application we use it in a few places where we have configuration files that get transformed as part of our build process. Besides that though, I haven't used XSLT
in years.
XSLT
used to be very commonly used on the server to produce HTML. This was particularly the case with traditional ASP
back ends largely 'cause traditional ASP
was horrible and it was much better to have your business layer produce XML
which could then be transformed via XSLT
into HTML as opposed to writing ASP
code to generate HTML
.
Most modern server side environments provide very strong tools for writing dynamic HTML
now though so XSLT
is less commonly used in this scenario.
As far as comparing XSLT
to CSS
, there is really no comparison I can see. XSLT
is about converting one XML
document to another and CSS
provides visual styling information for an HTML
(or sometimes XML
) document.
XPath
is very commonly used when working with XML
documents and picking out individual pieces of information. It's also heavily used within XSLT
.
I've never seen XQuery
or XPointer
actually used in any of the companies I've worked.
XML Schema
is very commonly used for specifying the format of XML
documents and validating them. It's heavily used within SOAP Web Services because WSDL utilizes XSD
to specify the formats of the SOAP
parts.
XSL-FO
is for producing PDFs usually. If you want to produce PDFs, this is one way. It technically could be used for other things too, but that's the only use case I'm aware of.