XSLT referentie

  • Onderwerp starter Onderwerp starter 5i5
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

5i5

Gebruiker
Lid geworden
27 jan 2009
Berichten
376
Weet iemand hoe je een soort referentie met XSLT kan maken? Ik probeer een persoon aan een product te koppelen, maar dit lukt mij niet met XSLT.

De bedoeling is dus dat elk product een nummer krijgt en elk persoon aan één product gekoppelt wordt door één productnummer aan persoon toe te voegen. Nu nog het selecteren van het juiste product... :confused:
 
document()

[XML]<!-- personen.xml -->
<?xml-stylesheet href="koppel.xsl" type="text/xsl" ?>
<personen>
<persoon>
<naam>Jan</naam>
<produkt>123</produkt>
</persoon>
<persoon>
<naam>Ans</naam>
<produkt>321</produkt>
</persoon>
</personen>
[/XML]
[XML]<!-- produkten.xml -->
<produkten>
<produkt>
<nummer>123</nummer>
<naam>Appel</naam>
</produkt>
<produkt>
<nummer>321</nummer>
<naam>Peer</naam>
</produkt>
</produkten>
[/XML]
[XML]<!-- koppel.xsl -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/personen">
<html>
<body>
<h2>Produkten per persoon</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Persoon</th>
<th>Produkt</th>
</tr>

<xsl:apply-templates select="persoon" />

</table>
</body>
</html>
</xsl:template>

<xsl:template match="persoon">
<tr>
<td>
<xsl:value-of select="naam"/>
</td>
<td>
<xsl:value-of select="document('produkten.xml')/produkten/produkt[nummer=current()/produkt]/naam"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
[/XML]

De magie zit dus in de document() functie.

Groeten,
Rob
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan