【发布时间】:2014-03-20 16:22:49
【问题描述】:
我有一个要求,<fo:table-cell> 下的 <fo:table-block> 中有一个人的名字,如果名字的长度超过了间隔的长度,那么这应该是两行或更多行的刹车。该名称来自一个表单,因此它的长度可以变化,例如我可以有一个长度最大为 30 个字符的名称。
任何想法如何实现这一目标?
我的 xml 是:
<sign><sign1 naam='R.M.L.H.V.U. van RammanohatLohiaji'
date='20 march 2014'></Sign>
<Sign1 naam='A.S.D.F.G.H. van RammanohatLohiaji'
date='20 maart 2014'></sign>
我的 xslt 是:
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="60mm" />
<fo:table-column column-width="60mm" />
<fo:table-column column-width="60mm" />
<fo:table-body>
<fo:table-row>
<xsl:for-each select="sign">
<fo:table-cell width="90mm">
<fo:block font-size="12pt" font-weight="bold">
Signature </fo:block>
<fo:block space-after="1cm" font-size="11pt" font-weight="bold">
<xsl:value-of select="@sign1" />
</fo:block>
<fo:block space-after="1cm" >
Date <xsl:value-of select="@date" />
</fo:block>
<!-- <fo:list-block space-after="1cm">
<xsl:call-template name="labelvalue">
<xsl:with-param name="label">
</xsl:with-param>
<xsl:with-param name="value" select="@date" />
</xsl:call-template>
</fo:list-block> -->
<fo:block >
Signature <fo:leader leader-pattern="rule" leader-length="3.2cm" />
</fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
</xsl:template>
【问题讨论】:
-
很不清楚你在问什么。请包括您的 XML 输入、您的 XSLT 样式表和您期望的 XSL-FO 输出与您实际得到的输出。
-
我想把 sign1 分成两行。