Ik ben, na een tijdje stoeien met xml/xsl, tegen een probleempje aangelopen:
Ik ben bezig met een systeem, waarmee gemakkelijk tutorials gemaakt kunnen
worden in xml, en dat zet ik dan met xsl om in de layout van mijn site.
Wat ik wil maken is zeg maar, dat het in de xml file onderverdeeld is in hoofdstukken, en in die hoofdstukken staat elke regel tekst tussen <line> en </line>, nu komt het probleem, met een for-each loop krijg ik maar 1 line uit de xml file.
Een stukje uit mijn xml file:
En een stukje uit mijn xsl file:
Enkel de bovenste line komt hiermee dus eruit.
Ik heb al geprobeerd om alle tekst tussen één line tag te zetten, en <br /> na elke regel, maar de <br /> werkte niet, ook via een entity in de dtd heb ik dit geprobeerd, dmv $br; te laten replacen met <br />.
Iemand een idee? Ik zou je heel dankbaar zijn
Ik ben bezig met een systeem, waarmee gemakkelijk tutorials gemaakt kunnen
worden in xml, en dat zet ik dan met xsl om in de layout van mijn site.
Wat ik wil maken is zeg maar, dat het in de xml file onderverdeeld is in hoofdstukken, en in die hoofdstukken staat elke regel tekst tussen <line> en </line>, nu komt het probleem, met een for-each loop krijg ik maar 1 line uit de xml file.
Een stukje uit mijn xml file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| <hoofdstuk> <hnummer>0</hnummer> <htitel>Inleiding</htitel> <line>tekst</line> <line>nog meer tekst</line> </hoofdstuk> <hoofdstuk> <hnummer>1</hnummer> <htitel>Voorbeeld hoofdstuk</htitel> <line>weer wat tekst <line>en nog wat tekst</line> </hoofdstuk> |
En een stukje uit mijn xsl file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <xsl:for-each select="tutorial/hoofdstuk">
<xsl:if test="hnummer>'1'">
<table>
<tr>
<td>Hoofdstuk</td>
<td>
<xsl:value-of select="hnummer" />
:
</td>
<td>
<xsl:value-of select="htitel" />
</td>
</tr>
</table>
<br />
</xsl:if>
<xsl:if test="hnummer='0'">
<xsl:value-of select="htitel" />
<br />
</xsl:if>
<xsl:value-of select="line" />
<br />
</xsl:for-each> |
Enkel de bovenste line komt hiermee dus eruit.
Ik heb al geprobeerd om alle tekst tussen één line tag te zetten, en <br /> na elke regel, maar de <br /> werkte niet, ook via een entity in de dtd heb ik dit geprobeerd, dmv $br; te laten replacen met <br />.
Iemand een idee? Ik zou je heel dankbaar zijn