【发布时间】:2015-09-23 18:22:16
【问题描述】:
我是 XSLT 的新手,需要您的帮助。我必须在 XSLT 中创建单词表。列数和行数是动态的。
这是一个示例 XML:
<Movies>
<Genre name="Action">
<Movie>
<Name>Crash</Name>
<Released>2005</Released>
</Movie>
</Genre>
<Genre name="Drama">
<Movie>
<Name>The Departed</Name>
<Released>2006</Released>
</Movie>
<Movie>
<Name>The Pursuit of Happyness</Name>
<Released>2006</Released>
</Movie>
</Genre>
<Genre name="Comedy">
<Movie>
<Name>The Bucket List</Name>
<Released>2007</Released>
</Movie>
</Genre>
</Movies>
流派元素可以包含任意数量的电影元素。
这是 XSLT:
<xsl:template match="/">
<w:document>
<w:body>
<w:tbl>
<w:tr>
<xsl:for-each select="/Movies/Genre">
<w:tc>
<w:p>
<w:r>
<w:t>
<xsl:value-of select="@name"/>
</w:t>
</w:r>
</w:p>
</w:tc>
</xsl:for-each>
</w:tr>
<!-- Movies? -->
</w:tbl>
</w:body>
</w:document>
</xsl:template>
列标题是没有问题的,但是如何根据需要编写电影元素?有没有办法使用两个 for-each 循环,还是我必须使用 apply-templates?感谢您的支持!
【问题讨论】:
-
请将您的预期结果发布为代码,而不是图片。还要指出是使用 XSLT 1.0 还是 2.0。
-
我正在使用 XSLT 1.0。图片就是结果。这是 Word/Writer 中表格的屏幕截图。 XML、XSLT 和 DOCX 模板在 PHP 中处理。