Мне нужно выяснить, существует ли что-нибудь между двумя узлами. Мой XML выглядит так:
<event value1="1" value2="2" value3="3" info="some info here">
Line 1.<lb/>
Line 2.<lb/><lb/>
Line 3.<lb/>
Line 4.<lb/>
</event>
Моя цель - преобразовать узлы <lb/>
в <br/>
теги HTML с помощью XSLT. Есть одно дополнительное требование, чтобы выполнить все же. Если есть один <lb/>
непосредственно , следующий за другим <lb/>
, я хочу вывести только один <br/>
.
Мой XSLT выглядит так:
<xsl:template match="lb">
<xsl:if test="not(preceding-sibling::lb[1])">
<br/>
</xsl:if>
</xsl:template>
Проблема с XSLT выше заключается в том, что он работает правильно только для строки 1, поскольку текст между обоими узлами игнорируется.
Может быть, кто-то здесь может помочь.