XML transformation with parameter
<%--
Code Revised from
Professional ASP.NET 2.0 XML (Programmer to Programmer) (Paperback)
by Thiru Thangarathinam
# Publisher: Wrox (January 18, 2006)
# Language: English
# ISBN: 0764596772
--%>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<%@ Import Namespace="System.Xml.XPath" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
string xmlPath = MapPath("BooksWithStyle.xml");
string xslPath = MapPath("Books_with_parameters.xsl");
XPathDocument xpathDoc = new XPathDocument(xmlPath);
XslCompiledTransform transform = new XslCompiledTransform();
XsltArgumentList argsList = new XsltArgumentList();
argsList.AddParam("discount", "", ".15");
//Load the XSL stylsheet into the XslCompiledTransform object
transform.Load(xslPath);
transform.Transform(xpathDoc, argsList, Response.Output);
}
</script>
<%--BooksWithStype.xml
<?xml version='1.0'?>
<bookstore>
<book genre="A">
<title>title 1</title>
<author>
<first-name>A</first-name>
<last-name>B</last-name>
</author>
<price>99.99</price>
</book>
<book genre="B">
<title>title 2</title>
<author>
<first-name>B</first-name>
<last-name>C</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
--%>
<%--Books_with_parameters.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<!-- Set the Discount parameter -->
<xsl:param name="discount" select=".10" />
<xsl:template match="/">
<html>
<title>XSL Transformation</title>
<body>
<h2>My Book Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Price</th>
<th align="left">Calculated Discount</th>
</tr>
<xsl:for-each select="bookstore/book">
<tr>
<td>
<xsl:value-of select="title"/>
</td>
<td>
<xsl:value-of select="price"/>
</td>
<td>
<xsl:value-of select="price * ($discount)"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
--%>
Related examples in the same category