【发布时间】:2014-11-05 16:25:30
【问题描述】:
我整个上午都在寻找这个问题的答案,但没有运气。也许我只是没有正确搜索,我不知道。我正在使用以下标签集在 PDF 中显示 XML 标记:
<verbatimText><para><quantity>
<quantityGroup quantityUnitOfMeasure="ft.lbf"><quantityValue>10</quantityValue>
<quantityTolerance quantityToleranceType="plusorminus" quantityUnitOfMeasure="ft.lbf"> 2</quantityTolerance></quantityGroup>
</quantity>.</para></verbatimText>
在 PDF 中将其显示为全 BOLD 单色块没有问题。我想要尝试并完成的是使 XML 语法着色,很像文本编辑器中的语法突出显示,其中元素名称为蓝色,属性为红色,元素内容为黑色。
我认为有一种方法可以格式化文本的子字符串,但是我很难找到一个好的起点。
【问题讨论】:
-
你能使用 XSLT 2.0 吗?
-
不,我正在通过 FOP 运行 XSL 转换,最后我知道它不支持 2.0。
-
有什么理由不能将 xslt 转换与 fo 处理分开吗?
-
简短回答,可能不是。我的 XSLT 现在生成一个 FO 文档。如果我要使用两种不同的变换来获得最终的 FO,您的建议是什么?那么我是否不需要编写第二个 XSL 文档来完成我的转换?如果我看得太短视了,请原谅我。
-
您不必拥有第二个 XSLT。我的建议是使用像 Saxon 这样的 XSLT 2.0 处理器将您的 XML 转换为 XSL-FO(使用您的 XSLT)。然后用 FOP 处理 XSL-FO 文件。我总是将我的 XSLT (XML->XSL-FO) 与 XSL-FO 文件的处理分开。