我正在尝试在多个输入文档上运行单个样式表,并将其相应的输出写入单个输出文件。
有没有人在 XSLT 1.0 或 2.0 中这样做过?
我的样式表中也有多个通道,这会使实现变得更加棘手吗?
这在一定程度上取决于您要如何识别多个输入文档。如果要处理目录中的所有文件,2.0 的 collection() 函数可能会很有用(Saxon 和可能的其他处理器提供了一种将 collection() 映射到文件存储目录的方法)。或者,有时最好有一个主目录文件,一个带有指向所有其他文件的链接的 XML 文件,在这种情况下,您可以提供目录作为主要样式表输入,并使用 doc() 函数来跟踪链接。
没有理由说多次传球会很困难。我有一个应用程序,其中目录不仅标识输入文件,而且还指示每个文件的文件类型,因此第一个转换取决于文件类型,然后无论文件类型如何,都应用第二个标准转换。这些主题的许多变化是可能的。
只需按照所需顺序将所有转换作为单个转换的一部分执行。