Учитывая приведенный ниже упрощенный XML, мне нужно подсчитать количество узлов, где в / root / a / находится более 1 узла. Поэтому, несмотря на то, что в общей сложности 8 узлов, правильный ответ для меня - 3, поскольку первый и последний / root / a имеют более 1,3. У меня здесь xslt просто даст мне значение 8. Я безуспешно смотрел на использование клавиш, функции положения и т. Д. ... но я думаю, что, возможно, есть более простые ответы. Спасибо за любую помощь.
<root>
<a>
<b>
<c>valuex</c>
</b>
<b>
<c>valuey</c>
</b>
</a>
<a>
<b>
<c>valuez</c>
</b>
</a>
<a>
<b>
<c>valuex</c>
</b>
</a>
<a>
<b>
<c>valuex</c>
</b>
</a>
<a>
<b>
<c>valuex</c>
</b>
<b>
<c>valuey</c>
</b>
<b>
<c>valuey</c>
</b>
</a>
<a>
</a>
</root>
Моя таблица стилей
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="addCount">
<xsl:choose>
<xsl:when test="/root/a/b">
<xsl:value-of select="count(/root/a/b)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="0"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$addCount"/>
</xsl:template>
</xsl:stylesheet>