我目前用来将XML转换为PDF的样式表已经变得非常大,并且已经失控。它已经成为维护的噩梦。
我计划重新设计这个样式表,根据它的功能将它拆分成不同的样式表。应该有一个主xsl和3-4个辅助xsl。根据主xsl中的一些条件,它应该跳转到适当的辅助xsl。这样做是可能的吗?
更新:我使用的是1.0版
编辑:我使用apache cocoon从XML生成pdf。我想知道是否有一种方法可以预处理传入的XML,并决定应该由哪个XSL来处理它(基于XML中的参数)?
发布于 2013-01-28 22:25:05
您可能会发现,与其让"main xsl ...跳转到适当的辅助xsl",不如拥有几个面向任务的入口点,每个入口点由一个样式表模块表示,然后拥有一个公共模块,其中包含在不同入口点之间共享的内容。这使得利用xsl:import更加容易:每个面向任务的样式表都会导入通用样式表,并覆盖通用样式表中不适合特定任务的任何内容。
发布于 2013-01-28 19:15:36
XSLT1.0当然允许编写样式表模块,并在xsl:import或xsl: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。
https://stackoverflow.com/questions/14560288
复制相似问题