Как понять XPath?
Есть шаблон:
<xsl:template match="a">
<xsl:variable name="context" select="."/>
<xsl:if test="$updates//Item/@key = $context/ancestor-or-self::Item[1]/@key">
<xsl:copy-of select="($updates//Item[@key = $context/ancestor-or-self::Item[1]/@key])//a"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Как понять строки XPath:
"$updates//Item/@key = $context/ancestor-or-self::Item[1]/@key"
"($updates//Item[@key = $context/ancestor-or-self::Item[1]/@key])//a"
Можно ли переписать этот шаблон, чтобы он работал так же, но не для тега 'a', а для его следующего, но не единственного потомка тега 'b', причем без упоминания в коде тега 'a':
...
<a>
<b>
</b>
<c>
</c>
<d>
</d>
</a>
...