У меня есть XML:добавление атрибута, значение которого является значение атрибута чужого элемента
<graph>
<node id="a" />
<node id="b" />
<node id="c" />
<node id="d" />
<link from="a" id="link1" to="b"/>
<link from="b" id="link2" to="d"/>
<link from="d" id="link3" to="c"/>
</graph>
я хочу, чтобы преобразовать его XSLT к следующему XML:
<graph>
<node id="a">
<link id="link1" to="b">
</node>
<node id="b">
<link id="link2" to="d">
</node><node id="c">
<node id="c"/>
<node id="d">
<link id="link3" to="c">
</node>
</graph>
я написал XSLT, который включает все следующую часть:
<xsl:template match="//node">
<xsl:element name="link">
<xsl:attribute name="to">
<xsl:value-of select="//link[@from = self::node()/@id]/@to"></xsl:value-of>
</xsl:attribute>
<xsl:apply-templates />
</xsl:element>
</xsl:template>
но это не сработало. что я делаю неправильно?