|
1
3
否,当选择要执行的模板时,模板的匹配表达式中的任何变量/参数都必须在范围内(已定义/可见)。 因为模板是XSLT指令(在全局级别定义),所以范围内(它们可以看到)的唯一变量/参数是全局级别的变量/参数。 只有在选择执行模板之后,才将模板的参数传递给它,而不是在此之前。这意味着在执行模板选择过程时,该参数的值不存在。
为了明确这一点,以下代码更正了所提供代码中的问题 :
:
(我不能说“正确的输出”,因为没有定义任何要求,因此无法对其进行验证。我对此代码持保留意见:例如,使用
|
|
|
2
2
我认为这行不通。参数在您定义的模板内有效。但是,匹配表达式实际上不是模板的一部分。当myParam尚未定义时,必须从外部对其进行评估。 您必须将max(myNode/@myAttribute)的过滤移到应用模板调用的选择表达式。 |
|
|
ar1991 · XSLT 2.0-排序问题 8 年前 |
|
|
E. Xue · Java XSLT将csv转换为XML 8 年前 |
|
|
sanjay · 使用for each group从父级分解嵌套列表 8 年前 |
|
|
TheUltimateHack · 每个循环集变量的XSL 8 年前 |
|
|
jjanczur · 内存中具有外部函数(functx)的XSLT 8 年前 |
|
|
Kasun · 如何在XSL 1.0中设置拆分值 8 年前 |
|
|
Siddharth · 基于互斥元素的xslt排序 8 年前 |
|
|
pegasus · 当元素具有特定值时,从元素中删除属性 8 年前 |