I tilfælde af at du kan rette i xml filen så hvis du tilføjer linien
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
efter
<?xml version="1.0" encoding="UTF-8" ?>
og ligger dette is xsl filen
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<ul>
<xsl:for-each select="viewentries/viewentry[string-length(@position)=1]">
<xsl:sort select="@position"/>
<xsl:call-template name="nodeTree">
<xsl:with-param name="text" select="entrydata/text"/>
<xsl:with-param name="pos" select="concat(@position,'.')"/>
</xsl:call-template>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
<xsl:template name="nodeTree">
<xsl:param name="text" />
<xsl:param name="pos" />
<li><xsl:value-of select="$text" />
<xsl:if test="count(/viewentries/viewentry[starts-with(@position,$pos) and
not(contains(substring-after(@position,$pos),'.'))])>0">
<ul>
<xsl:for-each select="/viewentries/viewentry[starts-with(@position,$pos) and
not(contains(substring-after(@position,$pos),'.'))]">
<xsl:sort select="@position"/>
<xsl:call-template name="nodeTree">
<xsl:with-param name="text" select="entrydata/text"/>
<xsl:with-param name="pos" select="concat(@position,'.')"/>
</xsl:call-template>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:template>
</xsl:stylesheet>
Noter venligst at det første gang jeg laver noget med xml, så der er formentlig en langt lettere måde at opnå det på.
-----------------------------------------------------------------------------
Min side ->www.the-hive.dk/~donp/