L'esempio riportato permette di elencare tutti gli elementi del file
xml semplicemente aprendo il file test.xml nel
browser.
Con questa azione automaticamente, il
browser, lo fonde con il file test.xsl producendo come risultato un file
html.
Il risultato estetico non è il massimo, ma test.xsl permette di analizzare un file
xml quando non si ha la possibilità di vederlo perché generato automaticamente da altri programmi.
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<rss version="0.91">
<channel att="aa">
<title attrib1="1" attrib2="2" attrib3='3'>Esempio</title>
<link>http://www.sgart.it</link>
<description>Best site</description>
<language>it-IT</language>
<image>
<title>Sgart.it</title>
<url>http://sgart/images/logos/logo.gif</url>
<link>http://www.sgart.it</link>
<description>Esempio con XML e XSL</description>
<width>160</width>
<height>46</height>
</image>
<item>
<title>Articoli</title>
<link>http://sgart/Page/default.asp?id=4</link>
<description>Raccolta di appunti</description>
</item>
<item>
<title>C# .NET esempi</title>
<link>http://sgart/Page/default.asp?id=23</link>
<description>Raccolta di esempi</description>
</item>
</channel>
</rss>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:for-each select="//*">
<h3>
<xsl:for-each select="ancestor::*">
<xsl:value-of select="name()"/> /
</xsl:for-each>
</h3>
<p>
[<xsl:value-of select="name()"/>=<xsl:value-of select="."/>]
</p>
<xsl:for-each select="./@*">
{<xsl:value-of select="name()"/>=<xsl:value-of select="."/>} |
</xsl:for-each>
<hr />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I file devono essere nella stessa cartella