xsl:variable元素不能同时包含content和select属性

时间:2012-05-31 08:23:36

标签: xslt xslt-1.0 xslt-2.0

我想知道这个文件是什么:

  

如果存在select属性,则该元素不能包含任何内容

关于xsl:variable元素:

[1]:http://www.w3schools.com/xsl/el_variable.asp%20w3%20schools表示?

我问的原因是因为我遇到了这个错误:

转型期间

JAXPSAXProcessorInvoker - java.lang.RuntimeException: ElemTemplateElement error: The xsl:variable element must not have both content and a select attribute.。奇怪的是它与eclipse默认处理器“运行”但不是xalan。

当它使用eclipse默认处理器运行时,我发现我转换的原始文档中的某些元素没有显示在结果文档中,我很好奇它是否与此相关。当xalan处理器出现故障时,eclipse处理器就会掩盖这个问题。

我认为这是违规行:

            <xsl:variable name="vSections" select="//*[local-name()='ItemDef']/*/*/*[local-name()='SectionLabel'][generate-id() = generate-id(key('kLabelsInForm', concat($vFormOID, '+', .))[1])]">
                <xsl:value-of select="concat(., ' ')" />
            </xsl:variable>

感谢您的解释。

1 个答案:

答案 0 :(得分:0)

此规则存在于XSLT 1.0和2.0中。如果您有一个包含此错误的样式表,并且您发现了一个不报告错误的处理器,那么这就是处理器中的错误(不符合)。这不是你需要担心的错误,只需修复样式表中的错误。