- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在将 modspecs 发布为 pdf (XSL-FO) 时遇到问题。我的表格有问题,其中一个单元格的内容将溢出其列到下一个。如何在文本上强制打断以便创建新行?
我无法手动插入零空格字符,因为表格条目是以编程方式输入的。我正在寻找一个简单的解决方案,我可以简单地添加到 docbook_pdf.xsl(作为 xsl:param 或 xsl:attribute)
编辑:这是我目前所在的位置:
<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 下的 sextion 中)现在会分解单词,以便它们出现在单独的行中。有没有办法将上述过程隔离到表中?
最佳答案
在长词中,尝试插入一个zero-width space character在允许中断的字符之间。
您可以使用 XSLT 在每个字符之间插入一个零宽度的空格。这是一种方法:http://groups.yahoo.com/neo/groups/XSL-FO/conversations/topics/1177 .
这是一个邮件列表线程,其中讨论了解决该问题的各种方法:http://www.stylusstudio.com/xsllist/200201/post80920.html .
SourceForge DocBook stylesheets包含一个用于在 FO 输出中分解长 URL 的模板;见http://www.sagehill.net/docbookxsl/Ulinks.html#BreakLongUrls .模板 (hyphenate-url
) 在 xref.xsl 中.
关于xml - 如何在表格条目上强制换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350788/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!