Mega Code Archive

 
Categories / ASP.Net / XML
 

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> --%>