XSL: когда - применить несколько атрибутов - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь применить более одного класса к атрибуту с помощью теста.

Возможно, это действительно очень просто, но я не могу понять, как это сделать.Я попытался разделить классы в одну строку, а также сложить их так:

<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 голосов
/ 09 мая 2019

Атрибут HTML "class" должен содержать список всех классов, разделенных пробелами:

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

Если вы используете несколько <xsl:attribute> с одним и тем же именем, процессор XSLT будет использовать только последнее.

0 голосов
/ 09 мая 2019

Элемент не может иметь два атрибута с одинаковым именем. Из спецификации XML :

Имя атрибута НЕ ДОЛЖНО появляться более одного раза в одном и том же начальном теге или теге пустого элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...