After getting request from few of my blog readers, I am here to describe some major advantages and disadvantages of using XML and XSLT:
1. XSLT applies user defined transformations to an XML document and the output can be HTML, XML, or any other structured document. So it is easy to merge XML data into presentation.
2. XPath used by XSLT to locate elements/attribute within an XML document. So it is more convenient way to traverse an XML document rather than a traditional way, by using scripting language.
3. Being template based, XSLT is more resilient to changes in documents than low level DOM and SAX.
4. By separating data (XML document) from the presentation (XSLT), it is very easy to change the output format in any time easily without touching the code-behind.
5. Using XML and XSLT, the application UI script will look clean and will be easier to maintain
6. XSLT templates are based on XPath pattern which is very powerful in terms of performance to process the XML document
7. XSLT can be used as a validation language as it uses tree-pattern-matching approach.
8. XML is platform independent.
9. XML has column flexibility, so it can be update easily rather than a traditional table-row-column approach
10. XML Supports Unicode
11. XML has self-documenting capability
1. It is difficult to implement complicate business rules in XSLT
2. Changing variable value in looping, is difficult in XSLT
3. Using XSLT have performance penalty in some cases as its engine don’t optimize code by using caching technique like traditional compiler.
4. XML encourage non-relational data structure(de-normalized)