我必须转换具有以下结构的 XML 文档
<NODEA d="8" m="1" xxxxx="WWWWWWWWWWWWWW"/>
<NODEA d="16" m="1" xxxxx="somethingelse"/>
<NODEB d="1" m="1" yyyyy="xx"/>
<NODEB d="2" m="1" yyyyy="xx"/>
<NODEB d="3" m="1" yyyyy="yy"/>
<NODEB d="4" m="1" yyyyy="zz"/>
<NODEB d="5" m="1" yyyyy="aa"/>
<NODEB d="6" m="1" yyyyy="ss"/>
<NODEB d="7" m="1" yyyyy="33"/>
<NODEB d="8" m="1" yyyyy="AAAAAAAAAAAAA"/>
<NODEB d="9" m="1" yyyyy="qq"/> etc
在 xslt 中,当属性“d”相等时,我尝试合并两个节点
<NewNode>
<d>8</d>
<m>1</m>
<xxxxx>WWWWWWWWWWWWWW</xxxxx>
<yyyyy>AAAAAAAAAAAAA</yyyyy>
</NewNode>
通过做这个
<xsl:template match="NODEB">
<xsl:element name="NewNode">
<xsl:apply-templates select="@d" />
<xsl:apply-templates select="@m" />
<xsl:apply-templates select="@yyyyy" />
<xsl:element name="xxxxx" >
<xsl:for-each select="//NODEA">
<xsl:if test=".@d eq @d">
<xsl:value-of select=".@xxxxx" />
</xsl:if>
</xsl:for-each>
</xsl:element>
</xsl:element>
所以 if 语句显然不起作用,但我怎么能这样做呢?