我有数百行文本,采用 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)