fredag 19 mars 2010

Inline XSLT/XML

Jag ogillar att komma ihåg saker som inte längre är aktuella så jag sparar ned informationen här i hopp om att jag nån gång slipper använda den. Eftersom det kan vara bra att kunna xsltransformera lite xml nån gång så poppar jag in den här


<!-- inline xsl -->
<c:set var="xsl">
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:text>Antal XMLposter:</xsl:text><b><xsl:value-of select="count(*[local-name()='Test'])"/></b>
<a href="#" onClick="showhide('xmlData'); return false;">Visa/dölj detaljer</a><br/>
<div id="xmlData" style="display: none">
<xsl:apply-templates select="*[local-name()='TestPost']" />
</div>
</xsl:template>

<!-- Parsa ut ingående info -->
<xsl:template match="ns:Test">
<xsl:text>Test:</xsl:text><b><xsl:value-of select="ns:Value"/></b>
</xsl:template>

<!-- Gör nada för text -->
<xsl:template match="text()">
</xsl:template>
</xsl:stylesheet>
</c:set>

<!-- Transformera xml -->
<c:set var="xml" scope="page" value="${test.xml}" />
<x:transform doc="<?xml version='1.0'?>${xml}" xslt="${xsl}" />
</c:set>

Ett händigt verktyg för att testa sin XSL finns passande nog att hitta här om man känner dragning åt det hållet.

Inga kommentarer:

Skicka en kommentar