1

是否可以使用 Antenna House Formatter 防止连字符(XML 内容)内的换行符?我想到了一个使用 RegEx 的解决方案,但不知道这是否可以使用 AHF。

例如,作者提供以下内容:<paragraph>the film we are producing is a very low-budget one</paragraph>

在这种情况下,我想让“低预算”这个词保持一致(就像它在 stackoverflow 上所做的那样)。但 AHF 将其显示为(第一行)和预算(第二行)。

4

1 回答 1

3

有多种选择:

  • 用于hyphenate="false"关闭连字符 ( https://www.w3.org/TR/xsl11/#hyphenate )。由于false是它的初始值,因此您的问题意味着您已打开连字并确实想要连字其他单词。

  • 如果您必须hyphenate="true"启用连字符,您可以-将现有连字符中的替换为&#x2011;(U+2011, NON-BREAKING HYPHEN) 或将每个连字符都用 orfo:wrapper包裹fo:inline起来hyphenate="false"

    如果要将输出中的所有连字符替换为&#x2011;,可以在 XSLT ( https://www.w3.org/TR/xslt20/#character-maps ) 中使用字符映射,否则可以使用选择性替换字符replace(),正如你所建议的。

    如果您使用&#x2011;并且不希望您的连字符在其他点连字符,您可能还想通过使用axf:hyphenate-hyphenated-word="false"https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.hyphenate-连字符)。

于 2016-03-07T14:57:33.627 回答