xmlxsltxquerydtdxpointer

what use does xslt,xpath,xlink,xpointer,dtd have in the real world of application building


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.


Solution

  • 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.