Я использую построитель формы orbeon и хочу добавить значение к атрибуту class для некоторых элементов. Для этого я использую код ниже, но я хотел бы знать, как оптимизировать этот код. Должно быть возможно объединить два тега шаблона, потому что единственное различие заключается в том, что в случае 1 я устанавливаю атрибут класса на значение, а в случае 2 добавляю текст в атрибут класса.Оптимизация моего селектора XSLT
Возможно, это даже возможно объединить весь этот код в 1 тег шаблона? (Один с несколькими селекторами (матч) и с набором/добавить атрибут класса?
Case 1:
<xsl:template match="xforms:input/@id">
<xsl:attribute name="id" select="."/>
<xsl:attribute name="class">tsbinput-<xsl:value-of select="."/></xsl:attribute>
</xsl:template>
Case 2:
<xsl:template match="xforms:input/@class">
<xsl:attribute name="class"><xsl:value-of select="."/> tsbinput-<xsl:value-of select="../@id"/></xsl:attribute>
</xsl:template>
Case 1:
<xsl:template match="fr:number/@id">
<xsl:attribute name="id" select="."/>
<xsl:attribute name="class">tsbinput-<xsl:value-of select="."/></xsl:attribute>
</xsl:template>
Case 2:
<xsl:template match="fr:number/@class">
<xsl:attribute name="class"><xsl:value-of select="."/> tsbinput-<xsl:value-of select="../@id"/></xsl:attribute>
</xsl:template>
Case 1:
<xsl:template match="fr:textcount/@id">
<xsl:attribute name="id" select="."/>
<xsl:attribute name="class">tsbinput-<xsl:value-of select="."/></xsl:attribute>
</xsl:template>
Case 2:
<xsl:template match="fr:textcount/@class">
<xsl:attribute name="class"><xsl:value-of select="."/> tsbinput-<xsl:value-of select="../@id"/></xsl:attribute>
</xsl:template>
Пожалуйста, помогите мне. Спасибо, Нико
Не могли бы Вы скажите мне, как добавить id родительского раздела fr:? Что-то вроде: ? ' xsl: attribute> xsl: template>' –
nickoooname
Вместо 'parent :: fr: section/@ id', попробуйте:' ../ parent :: fr: section/@ id' или 'ancestor :: fr: section/@ id'. – JLRishe