【发布时间】:2016-04-18 08:05:34
【问题描述】:
我需要通过在 XSL:FO 中调用模板来创建表 例如 我希望调用模板函数
表格模板
<xsl:template name="getTable">
使用 fo:table 标签创建表并调用列模板并为列数传递参数
创建fo:body标签并调用行模板并将行号作为参数传递
</xsl:template>
列模板例如
<xsl:template name="getcolumn">
</xsl:template>
Row template
调用Cell模板并传递Cells参数的编号
</xsl:template>
单元格模板
<xsl:template name="getCell">
调用另一个模板
</xsl:template>
到目前为止,我已经在 XSL:FO 中创建了一个表。我可以通过下面的表在 XSL:fo 中创建表,但我希望创建一个表,因为我需要根据输入多次复制它。
<fo:table xsl:use-attribute-sets="Table" >
<fo:table-column />
<fo:table-column />
<fo:table-body>
<fo:table-row >
<fo:table-cell >
<fo:block xsl:use-attribute-sets="JobTaskHeaderBackground">
School1
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:call-template name="Required">
<xsl:with-param name="ElementToCheck" select='m:SchoolName' />
</xsl:call-template>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
【问题讨论】:
-
目前还不清楚您打算如何填充多个表 - 假设您不希望它们具有相同的数据。
-
您的
xsl:with-param在 XSLT 中的这些点上是不允许的。 -
托尼,你说得对,是错字我已将其包含在调用模板标签中。