Categories

Tools

bitdefender

1&1 Web Hosting

Use XSLT to transform XML documents into other formats, such as XHTML


Suppose you have an XML document like the one shown below. This document may be the result of exporting a query to a database, or the output of a webservice or other such things.

Code:

<?xml version="1.0" ?>

<books>
	<book>
		<title>Programming in XML</title>
		<author>Marc Vince</author>
		<pages>348</pages>
		<category>Programming</category>
	</book>
	<book>
		<title>Programming in C#</title>
		<author>Loren Gallipyos</author>
		<pages>234</pages>
		<category>Programming</category>
	</book>
	<book>
		<title>Android</title>
		<author>Norman Bert</author>
		<pages>419</pages>
		<category>Operating Systems</category>
	</book>
	<book>
		<title>Linux</title>
		<author>Hurth Francy</author>
		<pages>294</pages>
		<category>Operating Systems</category>
	</book>
	<book>
		<title>WordPress</title>
		<author>Milena Zarch</author>
		<pages>364</pages>
		<category>CMS</category>
	</book>
	<book>
		<title>Joomla!</title>
		<author>Denise Patrics</author>
		<pages>163</pages>
		<category>CMS</category>
	</book>
	<book>
		<title>jQuery</title>
		<author>Teresa Curtis</author>
		<pages>349</pages>
		<category>Programming</category>
	</book>
</books>



If we try to display the file in the browser, we get this result:

Use XSLT to transform XML documents into other formats, such as XHTML

Sometimes it is useful to view the data in a more readable and visually more presentable. To do this we need an XSL file, able to apply a "transformation" to the XML document.

Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml">
 
  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
 
  <xsl:template match="/books">
    <html>
      <head> <title>List of books available</title> </head>
      <body>
        <h1 style="color: #880000;">Books</h1>
        <div>
          <xsl:apply-templates select="book">
            <xsl:sort 
			data-type="text"
			order="ascending"
			select="title" 
			/>
          </xsl:apply-templates>
        </div>
      </body>
    </html>
  </xsl:template>
 
  <xsl:template match="book">
    <div>
      <span style="color: #880000;font-size:22px;"><xsl:value-of select="title"/></span>
	  <br />
	  Author:<xsl:value-of select="author"/>
	  <br />
	  Pages:<xsl:value-of select="pages"/>
	  <br />
	  Category: <xsl:value-of select="category"/>
    </div>
	<br />
  </xsl:template>
 
</xsl:stylesheet>

To apply the transformation of the XML document, you must enter this line of code in the XML file:

Code:

<?xml-stylesheet type="text/xsl" href="books.xsl" ?>

The document will be displayed in the following mode:

Use XSLT to transform XML documents into other formats, such as XHTML

Posted in XML by MdmSoft

If our work has been of help, you can help us with a small donation...
Our programmers will thank you!



All information contained in this web site are the property of MdmSoft. The information is provided "as is", MdmSoft will not be liable for any misuse of the code contained in these pages, nor can it be for inaccuracies, grammatical errors or other factors that may have caused damage or lost earnings. MdmSoft is not responsible for the content of comments posted by users.
The examples in this area have the educational and demonstration purposes only, and may be copied only for your reference, but cannot be used for commercial purposes, or for any other purpose, without the express written consent of MdmSoft.
MdmSoft also reserves the right to change, without notice, to your liking this web site, the pages and its sections, and may suspend temporarily or definitely the various services included on this site.
While using this site, you agree to have read and accepted our Terms of Service and Privacy Policy.