JavaBeat

  • Home
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Privacy
  • Contact Us

JSTL XML x:param Tag

March 4, 2014 by Krishna Srinivasan Leave a Comment

The tag is subtag of <x:transform> tag. This tag is used with transform tag to set a parameter in the XSLT stylesheet. This tag is used as nested with <x:transform> tag for sending the parameter along with the values.

Syntax of xml <x:param> tag

[code lang=”html”]
<x:param name=”string” value=”string”></x:param>
[/code]

Attributes of xml <x:param> tag

  • name : This attribute specifies the name of the XSLT parameter
  • value : This attribute specifies the value of the XSLT parameter.

Example of xml x:param tag

[code lang=”html”]
<em><strong>Listing 1:XML file-param.xml</strong></em>
[code lang="xml"]
<?xml version="1.0" ?>
<employee>
<employee>
<name>Mahantesh</name>
<roll>Software Designer</roll>
<designation>Associate</designation>
</employee>
<employee>
<name>Rushali</name>
<roll>Web Designer</roll>
<designation>Associate</designation>
</employee>
<employee>
<name>Ganesh</name>
<roll>Java Programmer</roll>
<designation>Associate</designation>
<span style="font-size: 12px; line-height: 18px;"> </employee></span>
<span style="font-size: 12px; line-height: 18px;"></employee></span>
[/code]

Listing 2:XSL File-param.xsl

[code lang=”xml”]
<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />
<xsl:param name="color" />
<xsl:param name="color1" />
<xsl:param name="color2" />
<xsl:template match="employee">
<html>
<body>
<h2>Employee Detail</h2>
<table border="1">
<tr>
<td align="left">
<b>Name</b>
</td>
<td align="left">
<b>designation</b>
</td>
<td align="left">
<b>Age</b>
</td>
</tr>
<span style="font-size: 12px; line-height: 18px;"> <xsl:for-each select="employee"></span>
<span style="font-size: 12px; line-height: 18px;"> <tr></span>
<span style="font-size: 12px; line-height: 18px;"> <td bgColor="{$color}"></span>
<span style="font-size: 12px; line-height: 18px;"> <i></span>
<xsl:value-of select="name" />
</i>
<span style="font-size: 12px; line-height: 18px;"> </td></span>
<td bgColor="{$color1}">
<xsl:value-of select="roll" />
</td>
<td bgColor="{$color2}">
<xsl:value-of select="designation" />
</td>
<span style="font-size: 12px; line-height: 18px;"> </tr></span>
<span style="font-size: 12px; line-height: 18px;"> </xsl:for-each></span>
<span style="font-size: 12px; line-height: 18px;"> </table></span>
<span style="font-size: 12px; line-height: 18px;"> </body></span>
<span style="font-size: 12px; line-height: 18px;"> </html></span>
<span style="font-size: 12px; line-height: 18px;"> </xsl:template></span>
<span style="font-size: 12px; line-height: 18px;"></xsl:stylesheet></span>
[/code]

Details of the Code

  • We have written the above file in xsl sheet and named as transform.xsl
  • <xsl:output method=”xml” omit-xml-declaration=”yes” indent=”yes”/> tag is used define the format of the output document.
  • <xsl:param name=”color”/> tag is used to display parameter name
  • <xsl:template match=”employee”> tag is used to match the specified node in the document.
  • <xsl:for-each select=”employee”> tag is used to loop the nodes in the xml document
  • <xsl:value-of select=”name”/> tag is used to select the particular value in the document.

Listing 3:JSP file-example.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>JSTL x:param Example</title>

</head>
<body>
<c:import url="param.xml" var="xmlDoc" />
<c:import url="param.xsl" var="xslDoc" />
<x:transform doc="${xmlDoc}" xslt="${xslDoc}">
<x:param name="color" value="yellow" />
<x:param name="color1" value="red" />
<x:param name="color2" value="pink" />
</x:transform>
<span style="font-size: 12px; line-height: 18px;"></body></span>
<span style="font-size: 12px; line-height: 18px;"></html></span>
[/code]

Details of the Code

  • <c:import url=”param.xml” var=”xmlDoc” />tag is used to include the content of another resource in the current JSP. The var attribute is used to specify the variable name to which transformed XML document has to be set. The url is transform.xml
  • <x:transform doc=”${xmlDoc}” xslt=”${xslDoc}”> tag is used to transform the xml file into other format
  • <x:param name=”color” value=”yellow”/> tag is used to set the transformation parameter.

Steps for Execution

Before executing the xml programs we should add jar files namely:
xalan-2.7.0.jar

  • Save this file as example.jsp in your eclipse IDE.
  • Now select this jsp file, right mouse click and select Run as ->Run on server

Output

When the execution process is completed successfully we will get the following output :
jstl xml x param tag

Previous Tutorial :  JSTL XML x:choose ,x:when and x:otherwise Tags :: Next Tutorial : JSTL SQL Tags Library

Filed Under: Java EE Tagged With: JSTL Tutorials

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow Us

  • Facebook
  • Pinterest

As a participant in the Amazon Services LLC Associates Program, this site may earn from qualifying purchases. We may also earn commissions on purchases from other retail websites.

JavaBeat

FEATURED TUTORIALS

Answered: Using Java to Convert Int to String

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Copyright © by JavaBeat · All rights reserved