Click to See Complete Forum and Search --> : XSL With XML, Slight Problem (Have Code)


h4x0rz3d
11-02-2006, 03:14 PM
Hello Everyone. I'm currently trying to display the top three winners on a HTML page. everything seems to be going well as my page is displaying the rest of the XML I required, however these winners are proving to be a problem. The page is giving no error messages, it simply is not displaying any winners.

would it be because the winners are inside the <winners> section? i'm not too sure myself just guessing. maybe someone can spot my problem and help me out. Thanks, MoFish :cool:

XML

<eventid id="1">
<eventname>Downhill</eventname>
<eventdescription>blah blah blah</eventdescription>
<eventlocation>Sweden</eventlocation>
<winners>
<position award="gold">Mr One</position>
<position award="silver">Mr Two</position>
<position award="bronze">Mr Three</position>
</winners>
</eventid>

XSL

<xsl:for-each select="position">
<xsl:if test="@award = 'gold'">
<xsl:element name="span">
<xsl:attribute name="class">gold</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:if>
<xsl:if test="@award = 'silver'">
<xsl:element name="span">
<xsl:attribute name="class">silver</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:if>
<xsl:if test="@award = 'bronze'">
<xsl:element name="span">
<xsl:attribute name="class">bronze</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:if>
<xsl:element name="br"/>
</xsl:for-each>

h4x0rz3d
11-02-2006, 05:06 PM
I Have another problem which maybe someone could help me with. Should be quite simple for you XSL people :cool: . my page is currently displaying the "eventname" on the page using the following. However I am wanting this "eventname" to be displayed in the 1st column of a table instead. can anyone help me get that information into a table like the following.

Event Name (column) heading
> Event 1
> Event 2


<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" />

<xsl:template match="/">
<xsl:element name="html">
<xsl:element name="head">
<link rel="STYLESHEET" type="text/css" href="style.css"/>
<title>boo hoo</title>
</xsl:element>

<xsl:element name="body">
<xsl:text>Events Avaliable ..</xsl:text>
<xsl:element name="br" />
<xsl:element name="br" />
<xsl:apply-templates select="/boo2007/eventid" />
</xsl:element>
</xsl:element>
</xsl:template>

<xsl:template match="eventid">
<img src="images/arrow.gif"/>
<xsl:element name="a">
<xsl:attribute name="href">displayevents.cfm?id=<xsl:value-of select="@id"/></xsl:attribute>
<xsl:value-of select="eventname"/>
</xsl:element>
<xsl:element name="br" />
</xsl:template>

</xsl:stylesheet>