Ik ben een beetje aan het spelen met xml en xsl.
Nu zit ik met een probleem. De output is niet gelijk aan mijn verwachting en ik begrijp niet goed wat ik fout doe.
xml:
xsl:
output verkregen:
waarde A1"" 1
waarde A1"" 13
waarde A1"" 25
output verwacht:
waarde A1"" 1
waarde B1"" 13
waarde C1"" 25
Uit de bovenstaande verkregen output leidt ik af dat de 'variabele' positie wel goed staat maar op een of andere manier wordt toch steeds de waarde van het eerste item getoond. Kan iemand mij uitleggen wat ik fout doe?
Nu zit ik met een probleem. De output is niet gelijk aan mijn verwachting en ik begrijp niet goed wat ik fout doe.
xml:
code:
1
2
3
4
5
6
7
8
9
| <xml>
<RowLength>12</RowLength>
<Items>
<Item>waarde A1</Item><Item>waarde 2</Item><Item>waarde 3</Item><Item>waarde 4</Item><Item>waarde 5</Item><Item>waarde 6</Item><Item>waarde 7</Item><Item>waarde 8</Item><Item>waarde 9</Item><Item>waarde 10</Item><Item>waarde 11</Item><Item>waarde 12</Item>
<Item>waarde B1</Item><Item>waarde 2</Item><Item>waarde 3</Item><Item>waarde 4</Item><Item>waarde 5</Item><Item>waarde 6</Item><Item>waarde 7</Item><Item>waarde 8</Item><Item>waarde 9</Item><Item>waarde 10</Item><Item>waarde 11</Item><Item>waarde 12</Item>
<Item>waarde C1</Item><Item>waarde 2</Item><Item>waarde 3</Item><Item>waarde 4</Item><Item>waarde 5</Item><Item>waarde 6</Item><Item>waarde 7</Item><Item>waarde 8</Item><Item>waarde 9</Item><Item>waarde 10</Item><Item>waarde 11</Item><Item>waarde 12</Item>
</Items>
</xml |
xsl:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <Table border="1">
<xsl:variable name="RowLength" select="/xml/RowLength"/>
<xsl:for-each select="/xml/Items/Item">
<xsl:if test="(position() mod $RowLength) = 1">
<tr>
<td>
<xsl:value-of select="../Item[position()]"/>""
<xsl:value-of select="position()"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</Table> |
output verkregen:
waarde A1"" 1
waarde A1"" 13
waarde A1"" 25
output verwacht:
waarde A1"" 1
waarde B1"" 13
waarde C1"" 25
Uit de bovenstaande verkregen output leidt ik af dat de 'variabele' positie wel goed staat maar op een of andere manier wordt toch steeds de waarde van het eerste item getoond. Kan iemand mij uitleggen wat ik fout doe?