当我在下面匹配 A 或 A1 模板时,我想获得以下同级 C,仅用于第二个 A 或 A1:
<root>
<A/> <!-- first A -->
<B/>
<A/> <!-- second A -->
<C/>
<A1/>
<B/>
<A1/>
<B/>
<C/>
</root>
如果我匹配第一个 A,我不必检索任何内容,因为在我的 C 标记之前还有另一个 A。
如果我匹配第二个 A,我必须检索 C 标记。
我尝试了以下但没有成功:
<xsl:template match="A|A1">
<xsl:if test="following-sibling::C[preceding-sibling::A|A1[1] = .]">
在每种情况下似乎都是正确的,但为什么呢?