gpt4 book ai didi

xml - 使用 XSLT 生成一个简单的 HTML 表格

转载 作者:行者123 更新时间:2023-12-03 16:12:38 25 4
gpt4 key购买 nike

我使用 XSLT 使用 XML 文件中的信息生成 HTML 表。
每个TR中我只想要4个TD。

它在 Chrome 和 Safari 上运行良好。不在 Firefox 中。我知道 Firefox 不支持“禁用输出转义”,所以我知道这是问题所在(它只是写在网页上)。是否有另一种方法可以在客户端使用 XSLT 生成这种(简单)表?

我的代码如下所示:

<table>
<xsl:for-each select="movies/movie">
<xsl:if test="(position() = 1) or ((position() mod 4) = 1)">
<!-- This is a <tr> -->
<xsl:text disable-output-escaping="yes">&lt;tr&gt;</xsl:text>
</xsl:if>
<td>
<!-- Some stuff goes here. -->
</td>
<xsl:if test="((position() mod 4) = 0) or (position() = last())">
<!-- This is a </tr> -->
<xsl:text disable-output-escaping="yes">&lt;/tr&gt;</xsl:text>
</xsl:if>
</xsl:for-each>
</table>

最佳答案

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
<table>
<xsl:apply-templates select="movies/movie[position() mod 4 = 1]"/>
</table>
</xsl:template>

<xsl:template match="movie">
<tr>
<xsl:for-each select=". | following-sibling::movie[position() &lt; 4]">
<td>
<xsl:value-of select="."/>
</td>
</xsl:for-each>
</tr>
</xsl:template>

</xsl:stylesheet>

输入 XML:
<movies>
<movie>a</movie>
<movie>b</movie>
<movie>c</movie>
<movie>d</movie>
<movie>e</movie>
<movie>f</movie>
<movie>g</movie>
<movie>h</movie>
</movies>

输出 XML:
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
</tr>
<tr>
<td>e</td>
<td>f</td>
<td>g</td>
<td>h</td>
</tr>
</table>

关于xml - 使用 XSLT 生成一个简单的 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com