Ik ben nog niet zo lang bezig met XML dus mijn probleem zal wel niet te moeilijk zijn denk ik.
Het gaat om het volgende:
Ik wil met een xsl file bepaalde informatie ophalen uit een xml-document.
Dit is mijn structuur van het xml-document in het kort:
<personeel>
<personeelslid id="001">
<naamgegevens>
<naam>Ik</naam>
<voornaam>ke</voornaam>
<kinderen aantal="2">
<kind>
<kind_naam>kindje</kind_naam>
<kind_geslacht>m</kind_geslacht>
</kinderen>
</personeelslid>
enz.... (hier komen meerder personeelsleden)
</personeel>
Nu wil ik de personeelsleden ophalen die 2 kinderen hebben. En van die personeelsleden wil ik dan naam en voornaam afdrukken op het scherm.
Hetgeen ik heb geprobeerd is dit:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Dit is de personeelslijst</title>
</head>
<body>
<h2>Dit zijn de personeelsleden:</h2>
<xsl:apply-templates select="personeel/personeelslid/kinderen[@aantal='2']"/>
<br />
</body>
</html>
</xsl:template>
<xsl:template match="personeel/personeelslid/kinderen[@aantal='2']">
Voornaam:
<xsl:value-of select="//naamgegevens/voornaam"/>
<br />
Naam:
<xsl:value-of select="//naamgegevens/naam"/>
<br />
</xsl:template>
</xsl:stylesheet>
Op deze manier krijg ik echter gewoon de naam en voornaam van het eerste personeelslid uit mijn document en niet die van een personeelslid met 2 kinderen.
Mijn vraag is hoe geraak ik aan de juiste gegevens van het personeelslid met 2 kinderen?
Alvast bedankt,
Bram
Het gaat om het volgende:
Ik wil met een xsl file bepaalde informatie ophalen uit een xml-document.
Dit is mijn structuur van het xml-document in het kort:
<personeel>
<personeelslid id="001">
<naamgegevens>
<naam>Ik</naam>
<voornaam>ke</voornaam>
<kinderen aantal="2">
<kind>
<kind_naam>kindje</kind_naam>
<kind_geslacht>m</kind_geslacht>
</kinderen>
</personeelslid>
enz.... (hier komen meerder personeelsleden)
</personeel>
Nu wil ik de personeelsleden ophalen die 2 kinderen hebben. En van die personeelsleden wil ik dan naam en voornaam afdrukken op het scherm.
Hetgeen ik heb geprobeerd is dit:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Dit is de personeelslijst</title>
</head>
<body>
<h2>Dit zijn de personeelsleden:</h2>
<xsl:apply-templates select="personeel/personeelslid/kinderen[@aantal='2']"/>
<br />
</body>
</html>
</xsl:template>
<xsl:template match="personeel/personeelslid/kinderen[@aantal='2']">
Voornaam:
<xsl:value-of select="//naamgegevens/voornaam"/>
<br />
Naam:
<xsl:value-of select="//naamgegevens/naam"/>
<br />
</xsl:template>
</xsl:stylesheet>
Op deze manier krijg ik echter gewoon de naam en voornaam van het eerste personeelslid uit mijn document en niet die van een personeelslid met 2 kinderen.
Mijn vraag is hoe geraak ik aan de juiste gegevens van het personeelslid met 2 kinderen?
Alvast bedankt,
Bram