0

在应用程序客户端生成一个 XML,然后将其转换为 PDF。(使用 FONET)

PDF 具有固定格式,它以表格格式显示所有可能的节点(无论是否数据)。

XML 中的每个父节点都是 PDF 中的一个部分,具有复杂的 UI 结构。PDF 总共有 34 个部分。

XML 是动态的,并且总是只有 18-20 个部分。并且在每个部分(父节点)中没有值的子节点将丢失。

了解 100 % XML 结构的唯一方法是来自 XSD 文件。

问题:

有没有办法在 XSLT 中同时使用 XML 和 XSD 来生成 PDF 或者我们需要一些中间的东西?

可能是具有所有可能节点的固定 XML,然后将客户端生成的 XML 值添加到其中?

4

1 回答 1

0

关于从 XSL 生成 PDF,您可以使用 xsl:fo 生成 PDF。

对于动态 XML,如果您在不同级别上有多个部分,我会说只需编写一个通用模板作为示例,然后只需编写一个模板。

此外,如果您需要捕获尚未为其编写任何模板匹配的所有元素,则只需编写一个标识模板以在输出中复制所有这些元素:

<xsl:template match="node()|@*">
        <xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>
</xsl:template>

我希望这会对您有所帮助,如果您需要更多详细信息,请分享输入和输出示例。

于 2020-05-19T09:05:17.360 回答