次の値を持つ辞書があります。
<root
user_salutation="Geachte heer"
wg="7"
wgList-0="68"
wgListCount-0="3"
wgList-1="65"
wgListCount-1="1"
wgList-2="62"
wgListCount-2="1"
wgList-3="58"
wgListCount-3="2"
/>
foreach でリストとカウントをリンクするにはどうすればよいですか?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" omit-xml-declaration ="yes" encoding="ISO-8859 1"/>
<xsl:variable name="style">
body {
font-family: verdana;
font-size: 11px;
}
td {
height: 15px;
border: 0px;
font-family: verdana;
font-size: 11px;
}
th {
background-color: #999999;
color: white;
font-family: verdana;
font-size: 11px;
}
</xsl:variable>
<xsl:variable name="prijs_zichtbaar"> 1 </xsl:variable>
<xsl:key name="params" match="tag[@name!='param']" use="generate-id(preceding- sibling::tag[@name='param'][1])" />
<xsl:template match="tag[@name='param']">
<xsl:text>param </xsl:text>
<xsl:apply-templates select="key('params', generate-id())" />
</xsl:template>
<xsl:template match="tag">
<xsl:value-of select="concat(' - ', @name, ' ')" />
</xsl:template>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>wgp</title>
<style>
<xsl:value-of select="$style"/>
</style>
</head>
<body>
<table cellpadding="3" cellspacing="0" border="0" width="" >
<colgroup>
<col width="200"/>
<col width="100"/>
<col width="100"/>
<col width="100"/>
</colgroup>
<tr>
<th align="left">Soort</th>
<th align="right">Dag</th>
<th align="right">Aantal</th>
<th align="right">Ontvangers</th>
</tr>
<xsl:for-each select="root/@*[starts-with(name(),'wgList-')]">
<xsl:element name="TR">
<xsl:if test="position() mod 2 = 0">
<xsl:attribute name="bgcolor">#CCCCCC</xsl:attribute>
</xsl:if>
<td align="left">wg</td>
<td align="right"><xsl:value-of select="."/></td>
<td align="right"><xsl:value-of select="@*[name() = concat('wgListCount-', substring-after(name(current()), '-'))]" /></td>
</xsl:element>
</xsl:for-each>
<xsl:if test="root/@list1 > 0">
<xsl:element name="TR">
<td align="left"><b>subtotaal:</b></td>
td align="left"></td>
<td align="right">----------------<br/><xsl:value-of select="root/@wg" /></td>
<td align="right">----------------<br/><xsl:value-of-select="root/@wg" /></td>
</xsl:element>
</xsl:if>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>