xml – XSL-FO:强制换行表条目
当我将modspecs发布到pdf(XSL-FO)时,我遇到了一个问题.我的表存在问题,其中单元格的内容会将其列溢出到下一个列中.如何强制中断文本以便创建新行?
我无法手动插入零空格字符,因为以编程方式输入表条目.我正在寻找一个简单的解决方案,我只需添加到docbook_pdf.xsl(作为xsl:param或xsl:属性) 编辑: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:import href="urn:docbkx:stylesheet"/> ...(the beginning of my stylesheet for pdf generation,e.g. header and footer content stuff) <xsl:template match="text()"> <xsl:call-template name="intersperse-with-zero-spaces"> <xsl:with-param name="str" select="."/> </xsl:call-template> </xsl:template> <xsl:template name="intersperse-with-zero-spaces"> <xsl:param name="str"/> <xsl:variable name="spacechars"> 	
             ​ </xsl:variable> <xsl:if test="string-length($str) > 0"> <xsl:variable name="c1" select="substring($str,1,1)"/> <xsl:variable name="c2" select="substring($str,2,1)"/> <xsl:value-of select="$c1"/> <xsl:if test="$c2 != '' and not(contains($spacechars,$c1) or contains($spacechars,$c2))"> <xsl:text>​</xsl:text> </xsl:if> <xsl:call-template name="intersperse-with-zero-spaces"> <xsl:with-param name="str" select="substring($str,2)"/> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> 有了这个,长单词在表格单元格中成功分解!不幸的是,副作用是其他地方的正常文本(比如在性别不足的X中)现在分解单词,以便它们出现在单独的行上.有没有办法将上述过程与表格隔离开来? 解决方法
换句话说,尝试在允许中断的字符之间插入
zero-width space character.
>您可以使用XSLT在每个字符之间插入零宽度空间.这是一种方法:http://groups.yahoo.com/neo/groups/XSL-FO/conversations/topics/1177. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |