<!--
Maak een stylesheet functies_werknemers.xsl op basis van werknemers.xml. Laat per functie de namen zien.
De uitvoer dient er (op de inspringing na) als volgt uit te zien:  
 
<?xml version="1.0" encoding="utf-8"?>
<werknemers>
     <groep functie="KLERK">
          <naam>SMITS</naam>
          <naam>ADELAAR</naam>
          <naam>APPEL</naam>
          <naam>MANDERS</naam>
     </groep>
     <groep functie="VERKOPER">
          <naam>ALKEMA</naam>
          <naam>WALSTRA</naam>
          <naam>VERGEER</naam>
          <naam>DROST</naam>
     </groep>
     <groep functie="MANAGER">
          <naam>PIETERS</naam>
          <naam>KLAASEN</naam>
          <naam>HEUVEL</naam>
     </groep>
     <groep functie="ANALIST">
          <naam>SANDERS</naam>
          <naam>VERMEULEN</naam>
     </groep>
     <groep functie="DIRECTEUR">
          <naam>KRAAY</naam>
     </groep>
</werknemers>
 
Tips:
bedenk eerst hoe alle unieke functies gevonden kunnen worden
maak per functie een variabele aan met die functie, om de namen van werknemers met die functie te kunnen vinden
maak gebruik van <xsl:attribute>  bij het maken van elke groep
-->

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
      
<xsl:template match="/">
  <werknemers>
    <xsl:for-each select="//werknemer[not(functie=preceding-sibling::*/functie)]/functie">
      <xsl:variable name="functie" select="."/>
      <groep>
        <xsl:attribute name="functie">
           <xsl:value-of select="."/>
        </xsl:attribute>
        <xsl:for-each select="//werknemer[functie=$functie]">
           <xsl:copy-of select="naam"/>
        </xsl:for-each>
      </groep>
    </xsl:for-each>
  </werknemers>
</xsl:template>
 
</xsl:stylesheet>
