33. Kolejnym krokiem będzie podświetlenie pracowników zatrudnionych na etacie asystenta kolorem błękitnym. Zmodyfikuj szablon dopasowywany do znacznika <PRACOWNIK> w następujący sposób:
<xsl:template match="PRACOWNIK">
<tr>
<xsl:if test="ETAT='ASYSTENT'">
<xsl:attribute name="BGCOLOR">#ADDFFF</xsl:attribute> </xsl:if>
<td><xsl:value-of select="@ID_PRAC"/></td>
<tdxxsl:value-of select="NAZWISKO"/x/td>
<tdxxsl: value-of select="ETAT"/x/td>
<td><xsl: value-of select="PLACA"/x/td>
</tr>
</xsl:template>
34. W przypadku, gdy ten sam węzeł musi być wielokrotnie przetwarzany przez szablon, można posłużyć się atrybutem MODĘ w celu kontrolowania kolejności aplikacji szablonów. W tym ćwiczeniu poniżej listy zespołów umieścimy listę asystentów. Zauważ, że wymaga to wielokrotnego odwiedzenia węzłów <PRACOWNIK>, raz w trakcie generowania listy pracowników zespołu, a drugi raz w celu wygenerowania osobnej listy asystentów. Dodaj nowy szablon:
<xsl:template match="ZESPOLY" mode="lista_asystentow">
<h3>Lista asystentów</h3>
<ul>
<xsl:for-each select="//PRACOWNIK">
<xsl:if test="ETAT='ASYSTENT'">
<lixxsl:value-of select="NAZWISKO"/x/li> </xsl:if>
</xsl:for-each>
</ul>
</xsl:template>
35. Sprawdź, czy szablon jest uwzględniany podczas generacji. Dodaj do szablonu dopasowywanego do elementu <INSTYTUT> jawne wywołanie szablonów działających w trybie „lista asystentów”.
<xsl:apply-templates/>
<xsl:apply-templates mode="lista_asystentow"/>
</body>
</html>
</xsl:template>