Я пытаюсь добавить класс к <xsl:element>
при определенном условии, у меня есть тег xml с атрибутом def, мне нужно добавить класс, когда когда-либо этот атрибут существует.добавить атрибут класса к `<xsl:element>` при определенном условии
Вот элемент XSLT:
<xsl:element name="{if (@id='123') then 'th' else 'td'} >
<xsl:apply-template />
</xsl:element>
Что я пробовал:
<xsl:attribute name="class">def-
<xsl:if test="fn:exists(@def)">
<xsl:value-of select="@def"/>
</xsl:if>
</xsl:attribute>
<xsl:element name="{if (@role='rowhead') then 'th' else 'td'}" use-attribute-sets="{$class}" >
<xsl:apply-templates />
</xsl:element>
Я хотел бы выражение соответствия этого:
<th scope="row" class="def-{if (fn:exists(@def)) then @def else ''}">
<td scope="row" class="def-{if (fn:exists(@def)) then @def else ''}">
с помощью:
<xsl:element>
Можете ли вы привести пример того, что вы ожидаете от своего вывода? Кроме того, если вы также покажете свой входной XML, это тоже поможет. Благодаря! –
@TimC Я отредактировал мой вопрос, пожалуйста, проверьте его. Спасибо –