XSL stylesheet
HejJeg har følgende xml fil
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Style.xsl"?>
<html:data xmlns:html="http://officekonsulenterne.dk">
<html:ol CourseId="MS Access Grundlæggende" itemId="Database design">
<html:li>Analyse</html:li>
<html:li>Design</html:li>
<html:li>Implementering</html:li>
</html:ol>
<html:ol CourseId="MS Outlook Grundkursus" itemId="Kontakt Personer">
<html:li>Oprette og redigere kontaktpersoner</html:li>
<html:li>Udseendelse af mange mails</html:li>
<html:li>Ekstra felter</html:li>
<html:li>Visninger</html:li>
<html:li>Vedhæftning og modtagelse af VCard</html:li>
</html:ol>
<html:ol CourseId="MS Access Grundlæggende" itemId="Forespørgsler">
<html:li>Brug</html:li>
<html:li>Opbygning</html:li>
<html:li>Kriterier</html:li>
<html:li>Sortering</html:li>
<html:li>Sammensatte felter</html:li>
<html:li>Kolonne navne</html:li>
</html:ol>
<html:ol CourseId="MS Access Grundlæggende" itemId="Formularer">
<html:li>Guiden Formular</html:li>
<html:li>Design og tilretning af formular fra bunden</html:li>
<html:li>Kontrol elementer</html:li>
<html:li>Datakilde</html:li>
<html:li>Formatering og brugerflade</html:li>
</html:ol>
</html:data>
I denne vil jeg gerne have det sådan at de 3 afsnit der er med "Access grundlæggende " bliver samlet under et punkt, og med @itemId som underoverskrifter... jeg har fået lavet følgende XSL fil... men synes jeg er gået lidt i stå...
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:html="http://officekonsulenterne.dk">
<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="html:data">
<script language="javascript">
function changeCourseItem(objtxt){
document.getElementById("courseItem").select=objtxt;
}
function changeBGColor(make, obj){
if(make){
obj.style.backgroundColor = "gray";
}
else{
obj.style.backgroundColor = "white";
}
}
</script>
<table>
<xsl:for-each select="html:ol">
<!--<xsl:sort data-type="text" select="@CourseId" order="ascending"/>-->
<xsl:if test="preceding::node()/@CourseId!=@CourseId or position()=1">
<tr>
<td colspan="2" onclick="changeCourseItem('Database design');" onmouseover="changeBGColor(true,this)" onmouseout="changeBGColor(false,this)">
<b><xsl:value-of select="@CourseId"/></b>
</td>
</tr>
</xsl:if>
<tr>
<td colspan="2">
<i><xsl:value-of select="@itemId"/></i>
</td>
</tr>
<xsl:apply-templates/>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="html:li">
<xsl:for-each select=".">
<xsl:sort data-type="text" select="." order="ascending"/>
<tr>
<td width="10px"></td>
<td>
<xsl:value-of select="."/>
</td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Er der nogle der kan gennemskue det og eventuelt hjælpe?
Christian