tre kolonner i tabel med en label i hver. hvorledes gøres det?
Jeg er i færd med at lave et program der skriver labels fra en adressedatabase ud.de labels vi bruger er i tre kolonner på et A4, så det jeg skal have lavet en tabel der indeholder 3 kolonner og har dynamisk højde efter antallet af labels i xml-source filen.
source filen ser såleds ud:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfLabel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Label>
<adresseLinie1>bla</adresseLinie1>
<adresseLinie2>bla</adresseLinie2>
<adresseLinie3>bla</adresseLinie3>
<adresseLinie4>bla</adresseLinie4>
<adresseLinie5>bla</adresseLinie5>
<adresseLinie6>bla</adresseLinie6>
<adresseLinie7>bla</adresseLinie7>
<adresseLinie8>bla</adresseLinie8>
</Label>
<Label>
<adresseLinie1>bla</adresseLinie1>
<adresseLinie2>bla</adresseLinie2>
<adresseLinie3>bla</adresseLinie3>
<adresseLinie4>bla</adresseLinie4>
<adresseLinie5>bla</adresseLinie5>
<adresseLinie6>bla</adresseLinie6>
<adresseLinie7>bla</adresseLinie7>
<adresseLinie8>bla</adresseLinie8>
</Label>
</ArrayOfLabel>
problemet ligger i at jeg har svært ved at få sat mine <tr></tr> rigtigt så dokumentet stadig er velformet.
nedenstående kode virker, men er ikke køn. hvorledes laver jeg den pænt?
i pseudokode er det jeg vil lave:
1. lav en ny række
2. indsæt tre labels i rækken
3. luk rækken.
nogen ideer?
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="0">
<tr>
<th align="left">Label1</th>
<th align="left">Label2</th>
<th align="left">Label3</th>
</tr>
<xsl:apply-templates select="ArrayOfLabel/Label"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Label">
<xsl:if test="(position() mod 3)=1">
</xsl:if>
<td>
<xsl:value-of select="adresseLinie1"/><br/>
<xsl:value-of select="adresseLinie2"/><br/>
<xsl:value-of select="adresseLinie3"/><br/>
<xsl:value-of select="adresseLinie4"/><br/>
<xsl:value-of select="adresseLinie5"/><br/>
<xsl:value-of select="adresseLinie6"/><br/>
<xsl:value-of select="adresseLinie7"/><br/>
<xsl:value-of select="adresseLinie8"/><br/>
</td>
<xsl:if test="(position() mod 3)=0 or position()=last()">
<tr/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
