Set checkbox som "checked"
Brugeren skal kunne se hvilke nyhedsbreve han er tilmeldt. Oplysningen om dette ligge således i XML:<?xml version="1.0" encoding="utf-8"?>
<Template>
<loop name="CategoryLoop">
<item>
<CategoryName>Danmark</CategoryName>
<CategoryID>101</CategoryID>
<selectedCategory> checked="checked" </selectedCategory>
</item>
<item>
<CategoryName>Sverige</CategoryName>
<CategoryID>102</CategoryID>
<selectedCategory></selectedCategory>
</item>
</loop>
</Template>
Problemet er hvordan jeg får sat checkboksene rigtigt op i XSLT, hvad har jeg gjort forkert? Min XSLT fil ser således ud:
...
<fieldset>
<legend>Dine tilmeldinger</legend>
<table width="100%">
<tr><td></td></tr>
<xsl:for-each select="loop[@name='CategoryLoop']/item">
<tr valign="top">
<td style="width:150px;">
<label >
<xsl:attribute name="for">
<xsl:text></xsl:text>Category_<xsl:value-of select="CategoryID" disable-output-escaping="yes"/>
</xsl:attribute>
<xsl:value-of select="CategoryName" disable-output-escaping="yes"/></label>
</td>
<td>
<xsl:element name="input">
<xsl:attribute name="type">checkbox</xsl:attribute>
<xsl:attribute name="id">Category_<xsl:value-of select="CategoryID" disable-output-escaping="yes"/></xsl:attribute>
<xsl:attribute name="name">Category_<xsl:value-of select="CategoryID" disable-output-escaping="yes"/></xsl:attribute>
<xsl:attribute name="checked">
<xsl:if test="selectedCategory != ''">
checked
</xsl:if>
</xsl:attribute>
</xsl:element>
</td>
</tr>
</xsl:for-each>
</table>
</fieldset>
...