1

我目前用来将 XML 转换为 PDF 的样式表已经变得非常大并且失控了。它已成为维护的噩梦。

我计划通过根据其功能将其拆分为各种样式表来重新设计此样式表。应该有一个主要的 xsl,和 3-4 个辅助 xs。根据主 xsl 中的一些条件,它应该跳转到适当的辅助 xsl。有可能这样做吗?

更新:我使用的是 1.0 版

编辑:我正在使用 apache cocoon 从 XML 生成 pdf。想知道是否有办法预处理传入的 XML 并决定哪个 XSL 应该处理这个(基于 XML 中的参数)?

4

2 回答 2

2

您可能会发现,与其让“主 xsl ...跳转到适当的辅助 xsl”,不如有几个面向任务的入口点,每个入口点由一个样式表模块表示,然后有一个包含在之间共享的东西的公共模块不同的入口点。这使得利用 xsl:import 变得更加容易:每个面向任务的样式表都导入公共样式表并覆盖公共样式表中不适合特定任务的任何内容。

于 2013-01-28T14:25:05.147 回答
1

XSLT 1.0 当然允许您编写样式表模块并将它们合并到一个主样式表中,借助xsl:importxsl:include( http://www.w3.org/TR/xslt#section-Combining-Stylesheets )。

但是,您对“跳转到适当的辅助 xsl”一词的使用听起来相当程序化。对我来说,XSLT 主要是关于编写模板来匹配输入中的节点,并使用xsl:apply-templates. 在大多数情况下,这些模板是否在单独的文件中并不重要,除了导入优先级和xsl:apply-imports,请参阅http://www.w3.org/TR/xslt#apply-imports

于 2013-01-28T11:15:36.033 回答