我正试图用这个来制作一张桌子:
输入:
<root>
<vendedor>
<nombre>nombre1</nombre>
<descrip>descrip1</descrip>
</vendedor>
<vendedor>
<nombre>nombre1</nombre>
<descrip>descrip2</descrip>
</vendedor>
<vendedor>
<nombre>nombre1</nombre>
<descrip>descrip3</descrip>
</vendedor>
....
<vendedor>
<nombre>nombre2</nombre>
<descrip>descrip1</descrip>
</vendedor>
<vendedor>
<nombre>nombre2</nombre>
<descrip>descrip3</descrip>
</vendedor>
....
</root>
的xsl:
<xsl:for-each select="//vendedor[not(nombre=preceding-sibling::vendedor/nombre)]/nombre">
<xsl:value-of select="."/>
<xsl:for-each select="//vendedor[nombre=current()]/descrip">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:for-each>
我想要的是像这样的表格将xslt转换为带有tr,td和类似内容的HTML:
|_____________nombre____________|
|descrip|descrip|descrip|descrip|
|descrip|descrip|descrip|descrip|
我一直在尝试,但我没有得到我想要的东西......,有人可以帮助我吗?
预期产出:
<table>
<tr>
<th>nombre</th>
</tr>
<tr>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
</tr>
<tr>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
</tr>
<tr>
.....
</tr>
....
<tr>
<th>nombre</th>
</tr>
<tr>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
<td>descrip</td>
</tr>
.....
</xsl:for-each>
</table>
答案 0 :(得分:0)
你可以用HTML制作一个表格:
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
其中<tr>
保留行,<td>
保留列。
来自http://www.w3schools.com/xsl/xsl_transformation.asp
的示例您的示例表将是:
"<table border="1">
<tr bgcolor="#9acd32">
<th>nombre</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="title"/></td>
</tr>
</xsl:for-each>
</table>"