我要求<fo:table-block>
下<fo:table-cell>
下有人的名字,如果名字的长度超过空间的长度,那么这应该是两行以上的制动。该名称来自一个表单,因此其长度可以变化,例如我的名称长度最多为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>
答案 0 :(得分:1)
你的问题不是很清楚,所以我不得不做出一个疯狂的猜测。通常,您可以通过以下方式“分解内容”:
fo:block
。每个块都在新行上呈现,因为它表示一个新段落。例如:
<fo:block>Text content before line feed Text content after it</fo:block>
确保实际保留了这些字符,并且存在块属性(white-space-treatment,linefeed-treatment和其他)。