Используйте этот однострочный XPath :
/*/device[starts-with(., 'HTC')][1]
|
/*/device[1][not(/*/device[starts-with(., 'HTC')])]
Обычно , для выбора узла $n1
, когда некоторое $condition
равно true()
, и для выбора узла $n2
, когда это условие false()
:
$n1[$condition] | $n2[not($condition)]
Объяснение
Вышеприведенное выражение является объединением (|
) двух подвыражений, из которых только одно выбирает узел, в зависимости от значения конкретного $condition
.
Наконец , в XSLT вы будете использовать это выражение XPath так:
<xsl:apply-templates select=
" /*/device[starts-with(., 'HTC')][1]
|
/*/device[1][not(/*/device[starts-with(., 'HTC')])]
"/>