小编BSa*_*lor的帖子

XML - XSL - FO XML 点领导者多次出现

我有数百行文本,采用 XML 文档格式,我需要将其输出到 PDF 并显示为:

LEFT TEXT.......................................................................RIGHT TEXT
Run Code Online (Sandbox Code Playgroud)

我发现了如何在 XSL 中执行此操作,但它当前在 FO 输出期间作为处理指令运行。XSL:

<xsl:template match="processing-instruction('leftrighttext')">
  <fo:block text-align-last="justify">
    <xsl:text>LEFT TEXT</xsl:text>
    <fo:leader leader-pattern="dots"/>
    <xsl:text>RIGHT TEXT</xsl:text>
  </fo:block>
Run Code Online (Sandbox Code Playgroud)

XML 是什么样子的(在表中使用):

<row>
<entry> <?leftrighttext?> </entry>
</row
Run Code Online (Sandbox Code Playgroud)

期望的输出:

LEFT TEXT........................................................................RIGHT TEXT
NEXT TEXT WITHIN TABLE...........................................................OTHER TEXT
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从 XML 文档中调用“LEFT TEXT”和“RIGHT TEXT”,而不是直接在样式表中输入值,例如:

<row>
<entry>LEFT TEXT <sometag> RIGHT TEXT</entry>
</row>
<row>
<entry>NEXT TEXT WITHIN TABLE <sometag> OTHER TEXT
Run Code Online (Sandbox Code Playgroud)

是否有一个我可以创建的标签,或者一个字符串来标识标签之前的文本和之后的文本,在它们之间输入点前导符?

任何帮助,将不胜感激。


请求的其他信息:我使用了下面答案中发布的 XSLT,这是我正在尝试转换的 XML 文档。我还遵循了下面发布的 XML 概要。请让我知道我错过了什么......

XML:

<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
    version="5.0"> …
Run Code Online (Sandbox Code Playgroud)

xml xslt leader xsl-fo

2
推荐指数
1
解决办法
506
查看次数

标签 统计

leader ×1

xml ×1

xsl-fo ×1

xslt ×1