XSL:何时-应用多个属性

时间:2019-05-09 19:37:42

标签: css xml class xslt

我试图通过测试将多个类应用于属性。

这可能真的很简单,但是我不知道该怎么做。我试过将类分隔成一行,并像这样堆叠它们:

<xsl:when test="@name = 'Example' and @status = 'Example2'">
     <xsl:attribute name="class">style1</xsl:attribute>
     <xsl:attribute name="class">style2</xsl:attribute>
</xsl:when>

当我以此方式尝试时,它适用于第二堂课,但不适用于第一堂课。当我将两个类放在同一行中时,它根本不起作用。

想法将不胜感激!

2 个答案:

答案 0 :(得分:0)

一个元素不能有两个具有相同名称的属性。来自XML specification

  

属性名称不得在同一开始标签或空元素标签中多次出现。

答案 1 :(得分:0)

HTML“ class”属性应包含所有类的列表,并用空格分隔:

<xsl:when test="@name = 'Example' and @status = 'Example2'">
    <xsl:attribute name="class">style1 style2</xsl:attribute>
</xsl:when>

如果您使用多个具有相同名称的<xsl:attribute>,则XSLT处理器将仅使用最后一个。