合成xsl样式表

时间:2013-04-26 14:05:49

标签: xslt xslt-1.0

在这里寻找一点指导。我正在寻找将xsl管道组合成单个样式表。

让我提供一些背景知识。可以获取一个xml文件,并通过一系列转换传递它,以实现一些结果,因此:

a.xml -> AB.xsl -> BC.xsl -> CD.xsl = d.xml

当然,做这个服务器端是完全直截了当的,但我想要客户端。我知道我不能依赖浏览器来做这件事(because of this)所以我想提出一个组合转换,如下所示:

a.xml -> (AB.xsl -> BC.xsl -> CD.xsl) = d.xml
a.xml -> AD.xsl = d.xml

我知道编写xsl的技术,其中将中间结果放入变量,然后使用node-set()提取(最好的描述我发现是here),但我想避免因为我得到的印象是对节点集的支持有点不完整(我可能会支持一些非常不确定的客户端!)

但在我看来,如果(作为wikipedia claims)xslt是Turing-complete,那么应该可以将两个或更多个变换组合成一个单独的变换,即使结果比一个更复杂一点只是流水线化各个变换。一些摆弄表明,至少对于简单的情况,可以简单地使用另一个转换一个xsl然后将它们合并在一起以得到一个中途合理的结果(尽管我很确定有大量的陷阱在等待!)但是,我无法在任何地方找到任何解决这个问题的事情(这令我感到惊讶,因为即使它不可能或事实证明​​效率非常低,我也认为它至少可以证明一篇论文是合理的或者两个)。

那么,有没有人听说过这样的事情,能指出我正确的方向吗?即使证明xslt的图灵完整性也可能让我朝着正确的方向前进。如果可以的话,我只想避免重新发明轮子。

提前致谢。

0 个答案:

没有答案