JSTL - Tag XML <x: transform>

Il <x:transform> tag applica una trasformazione XSL a un documento XML.

Attributo

Il <x:transform> tag ha i seguenti attributi:

Attributo Descrizione necessario Predefinito
doc Documento XML di origine per la trasformazione XSLT No Corpo
docSystemId URI del documento XML originale No Nessuna
xslt Foglio di stile XSLT che fornisce istruzioni per la trasformazione Nessuna
xsltSystemId URI del documento XSLT originale No Nessuna
risultato Oggetto risultato per accettare il risultato della trasformazione No Stampa alla pagina
var Variabile impostata sul documento XML trasformato No Stampa alla pagina
scopo Ambito della variabile per esporre il risultato della trasformazione No Nessuna

Esempio

Considera il seguente foglio di stile XSLT style.xsl -

<?xml version = "1.0"?>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" 
   version = "1.0">

<xsl:output method = "html" indent = "yes"/>
   <xsl:template match = "/">
      <html>
         <body>
            <xsl:apply-templates/>
         </body>
      </html>
   </xsl:template>

   <xsl:template match = "books">
      <table border = "1" width = "100%">
         <xsl:for-each select = "book">
            <tr>
               <td>
                  <i><xsl:value-of select = "name"/></i>
               </td>
               
               <td>
                  <xsl:value-of select = "author"/>
               </td>
               
               <td>
                  <xsl:value-of select = "price"/>
               </td>
            </tr>
         </xsl:for-each>
      </table>
   </xsl:template>

</xsl:stylesheet>

Ora considera il seguente file JSP:

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

<html>
   <head>
      <title>JSTL x:transform Tags</title>
   </head>

   <body>
      <h3>Books Info:</h3>
      <c:set var = "xmltext">
         <books>
            <book>
               <name>Padam History</name>
               <author>ZARA</author>
               <price>100</price>
            </book>
          
            <book>
               <name>Great Mistry</name>
               <author>NUHA</author>
               <price>2000</price>
            </book>
         </books>
      </c:set>

      <c:import url = "http://localhost:8080/style.xsl" var = "xslt"/>
      <x:transform xml = "${xmltext}" xslt = "${xslt}"/>

   </body>
</html>

Riceverai il seguente risultato:

Books Info:

Padam History

ZARA

100

Great Mistry

NUHA

2000