在另一个内部引用XSL样式表

时间:2010-07-05 00:18:02

标签: xslt compiled

我有一个XSL样式表,我希望使用xsltc.exe命令将其编译成dll。我面临的问题是有一个常用的样式表正在使用,我的样式表使用xsl:include标记引用该样式表,如下所示:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href ="../objectTemplates.xslt"/></xsl:stylesheet>

是否可以将引用的样式表编译到另一个dll中并使用它进行编译。

所以如果我将原始样式表编译成“SomeStylesheet.dll”并将引用的样式表编译成“ObjectTemplate.dll”

我是否需要将objectTemplates.xslt文件的代码复制到第一个XSLT文件中并删除xsl:include引用,或者我仍然可以为它们分别使用xsl文件,并且仍然使用已编译的XSLT文件。

任何指针都会非常有用。

1 个答案:

答案 0 :(得分:1)

在撰写本答案时,XSLT (1.0,2.0和2.1的可用第一工作草案),如相应的W3C规范中所定义,没有能力从外部编译样式表中使用对象(样式表,全局变量,......等)

也就是说,如果给定的XSLT处理器可以编译样式表,则此样式表只能作为主样式表执行,并且其编译的表单不能用于未在同一编译模块中编译的其他样式表导入/包含。

如果有必要超越这个,可以尝试编写自己的扩展函数,以便在编译样式表中的任何转换和模板之间实现至少一些基本的通信。