Core Java| JSP| Servlets| XML| EJB| JEE5| Web Services| J2ME| Glossary| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials

Latest Questions
Comments
 
XML Transformation in JSP 
 

This example illustrate use of XML transformation tag in JSP file. This example performs transformation from an XML file to XSLT stylesheet.

 

XML Transformation in JSP

                          

Example program to demonstrate XML Transformation tag in JSP

This example illustrate use of XML transformation tag in JSP file. This example performs transformation from an XML file to XSLT stylesheet. XML transform tag performs transformation from XML file to XSLT file. Syntax for XML transform tag is as below:

 

 

 

<x:transform
 {xmlUrl="URLofXMLDocument"|xmlText="XMLDocument"}
 {xsltUrl="URLofXSLT"|xsltText="XSLTStylesheet"}
 [{var="varName"|result="resultObject"}]
 [scope="{page|request|session|application}"] />

In <x:transform> tag "xmlUrl" allows you to specify a URL from where the XML data is coming. Likewise xsltUrl also specifies XSL file URL from where XSL data is coming. You can also have data from internal source by "xmlText" and "xsltText" attributes. Scope may be page, request, session, application. This example is having user.xml file which is containing information of user such as their fname, mname, lname and age. These information is shown into XML-XSL Transform JSP page by transforming and checking the data with "parameters.xsl". This is being done by the following  code:

<c:import url="http://localhost:8080/Example/user.xml"
               var="inputvalue" />

<c:import url="http://localhost:8080/Example/parameters.xsl"
               var="stylesheet" />

<x:transform xml = "${inputvalue}"
                    xslt = "${stylesheet}">
<x:param name="nameParam" value="ankit" />
</x:transform>

<x:transform> tag is using variable "inputvalue" which is url of xml document and variable "stylesheet" is containing url of xsl document. In <x:transform> tag we have passed one parameter and its value, which is playing an important role in this transformation.  

 1. user.xml

<?xml version="1.0"?>
<user>
   <information>
      <fname>amit</fname>
      <mname>kumar</mname>
      <lname>raghuwanshi</lname>
      <age>21</age>
   </information>
   <information>
     <fname>sandeep</fname>
     <mname>kumar</mname>
    <lname>suman</lname>
    <age>23</age>
   </information>
</user>

In parameters.xsl file we are setting the parameter name as we have passed in JSP file. In this XSL file we have called template "processuser" to process user information which is checking all user information "fname" with parameter "nameParam", if it is not equal to nameParam's value then its showing [new value] on browser.

<xsl:template name="processuser">
  <tr> <td>
    <xsl:value-of select="fname/text()" />
    <xsl:if test="fname/text() != $nameParam"> [new value]
    </xsl:if>
    </td> <td>
             <xsl:value-of select="mname/text()" />
    </td> <td>
             <xsl:value-of select="lname/text()" />
    </td> <td>
             <xsl:value-of select="age/text()" />
    </td> </tr> 
  </xsl:template>

Full code of parameters.xsl is as shown below: 

2. parameters.xsl

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="nameParam">ankit</xsl:param>

<xsl:template match="user">
   <h1>List of user in the XML document</h1>
   <table border="1" cellpadding="3">
    <th>FirstName</th><th>MidName</th><th>LastName</th><th>Age</th>
         <xsl:apply-templates />
    </table>
</xsl:template>

<xsl:template match="information">
<xsl:call-template name="processuser">
<xsl:with-param name="nameParam">amit</xsl:with-param>
</xsl:call-template>
</xsl:template>

 <xsl:template name="processuser">
  <tr><td>
    <xsl:value-of select="fname/text()" />
    <xsl:if test="fname/text() != $nameParam">[new value]
    </xsl:if>
    </td><td>
             <xsl:value-of select="mname/text()" />
    </td><td>
             <xsl:value-of select="lname/text()" />
    </td><td>
             <xsl:value-of select="age/text()" />
    </td></tr> 
  </xsl:template>
</xsl:transform>

3. XML-XSL Transform

<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

<html >
<head>
<title>Using a Named Template with Global Parameters</title>
</head>

<body>
<c:import url="http://localhost:8080/Example/user.xml"
               var="inputvalue" />

<c:import url="http://localhost:8080/Example/parameters.xsl"
               var="stylesheet" />

<x:transform xml = "${inputvalue}"
                    xslt = "${stylesheet}">
<x:param name="nameParam" value="ankit" />
</x:transform>
</body>
</html>

Output:

user.xml file

To run or execute this example follow these steps:

  • Download all jar files required for JSTL xml tag use.
  • Create and save user.xml.
  • Create and save parameters.xsl
  • Create and save XML-XSL Transform.jsp
  • Run tomcat server and type following url in address bar
    http://localhost:8080/Example/XML-XSLTransoform.jsp

Download Source Code

                          

» View all related tutorials
Related Tags: c com orm table ant data join select form make tables tab for to between e ul result pe from

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Training Courses
Tell A Friend
Your Friend Name
Software Solutions
Least Viewed
Most Rated
Recently Viewed
Search Tutorials

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.