![]() |
1
16
可以使用XSL样式表合并样式表。但是,这相当于使用xsl:include元素,而不是xsl:import(正如azat-razettinov已经指出的那样)。你可以读懂区别 here . 因此,您应该首先用xsl:include替换xsl:import,解决任何冲突,并测试您是否仍然获得正确的结果。之后,您可以使用下面的样式表将现有的样式表合并为一个样式表。只需将其应用于主样式表:
第一个模板使用document函数将所有xsl:include替换为包含的样式表,该函数读取在href属性中引用的文件。第二个模板是 identity transformation . 我已经用Xalan测试过了,它看起来工作得很好。 |
![]() |
2
2
在不破坏主文件的情况下,不可能将导入的样式表包含在主文件中。 import precedence . 例如,在导入的样式表中定义顶级变量,并在主文件中重新定义它。如果将两个文件合并为一个文件,将得到两个具有相同名称和导入优先级的变量,这将导致错误。 解决方法是用xsl:include替换xsl:imports并解决 conflicts . 之后,您可以安全地将xsl:include指令替换为相应的文件内容,因为这就是 XSLT-processor does :
|
![]() |
3
1
手动合并可能是最好的选择。 主要考虑的可能是确保匹配模板的逻辑在组合样式表中起作用。 |
![]() |
4
0
你为什么要这么做?它们通常是因为某种原因而分开的(通常是可维护性)。 您可以自己编写合并-在中读取XSL文件,选择您感兴趣的模板项,然后写入新的主XSL文件… |
![]() |
5
-1
|
![]() |
Pjoern · 在XSLT中包装没有属性的节点组 6 年前 |
![]() |
user2093335 · XSLT:基于现有属性值替换属性值 6 年前 |
![]() |
Leth · 字符串串联functoid不将映射值返回到目标记录 6 年前 |
![]() |
shawn · XSLT 3.0在应用模板中使用变量进行动态选择? 6 年前 |
|
user9238790 · 将XML转换为数据帧 6 年前 |
![]() |
Vanessa · xsl:当两个节点相等时,显示第一个节点的子节点 6 年前 |
![]() |
Adi · 并行读取大型XSLT字符串 6 年前 |
![]() |
Brian Arthur · XSLT从另一个上下文获取信息 6 年前 |