首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSL:FO流动的内联引语

XSL:FO流动的内联引语
EN

Stack Overflow用户
提问于 2018-05-31 12:40:52
回答 1查看 179关注 0票数 1

我使用XSL:FO (XEP).Everything将一个XML文档输出到PDF中,除了我引入引号之外,它工作得很好。由于某种原因,带有引号的短语不会“流”。这一点最好的证明是:

源xml如下所示:

代码语言:javascript
复制
<seg>Item. Dixit quod P[etrus] Gauta loqutus est 
  publice Bernardo, domino del Mas, contra 
  ipsum testis in hunc modum <quote>Bernarde del Mas, 
  est ne bonum quod aliquis qui detexerit nos eat vivus 
  super terram?</quote> Et propter illa verba, ipse testis cum 
  familia sua exivit de Manso.</seg>

<seg>Item. Dixit quod Iordanus de Quiders 
  dixit <quote>Nuper ipsi testis modo apparebit quis 
  expeditus erit citius vos qui provenistis alios in 
  confessione</quote>. Et abiuravit heresim et 
  iuravit et cetera. Testes: Arnaldus, prior Sancti 
  Saturnini; et magister P[etrus] de Caramag; 
  et frater B[ernardus], inquisitor.</seg>

XSL:FO非常简单。将<quote>元素替换为"

代码语言:javascript
复制
<xsl:template match="quote">
    <fo:inline><xsl:text>"</xsl:text><xsl:apply-templates/><xsl:text>"</xsl:text></fo:inline>
</xsl:template>  

它是用一个简单的fo:flow激活的(其余的文本流都是零流问题):

代码语言:javascript
复制
<!-- content flow -->
<fo:flow flow-name="xsl-region-body" font-family="Times" font-weight="normal" font-size="10pt">
     <xsl:apply-templates/>
</fo:flow>

是否有一种特殊的方法来处理内联引号?

这是处理<seg>元素的模板,强制每个元素放入一个新段落。

代码语言:javascript
复制
<xsl:template match="seg">
    <xsl:for-each select=".">
        <fo:block
            font-family="Times" font-weight="normal" line-height="12pt" line-stacking-strategy="font-height" keep-together="always" 
            font-size="10pt" space-before="10pt" space-after="10pt" text-align="justify" end-indent="120pt">
            <xsl:apply-templates/>
        </fo:block>
    </xsl:for-each>
</xsl:template>

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 13:11:05

keep-together更改为keep-together.within-page。目前,您正在强制fo:inline保持在一行内。见https://www.w3.org/TR/xsl11/#keep-together

严格地说,您甚至不需要fo:inline,因为您没有使用fo:inline添加或更改任何属性。您还可能希望使用“curly引号”()来改善文本的外观。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50624579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档