Я занимаюсь разработкой xforms и имею шаблон, соответствующий выбранным элементам. Если это один выбор вместо нескольких, я хочу добавить пустое значение в начало списка:
<xsl:template match="xforms:select1|xforms:select">
<xsl:apply-templates select="node()" />
<xsl:if test=".[name()='xf:select1'] and not (@appearance eq 'full')">
<xforms:item>
<xforms:label />
<xforms:value />
</xforms:item>
</xsl:if>
...
Проблема в том, что это работало для одной из моих форм, у которой xf:select1
(так как match
распознает пространство имен), но элементы управления xforms:select1
в другой форме были сломаны, так как тест name()
только для струнных.
Есть ли способ сделать это, если оператор работает, независимо от того, какой префикс я задаю для пространства имен http://www.w3.org/2002/xforms
?