у меня есть xml с форматом
<graph id=1>
<nodes>
<node id =2>
<name value=node1/>
</node>
<node id =3>
<name value=node3/>
</node>
<edges>
<edge id=11 source=2 target=3/>
</edges>
</graph>
Теперь я хочу изменить идентификатор узла, используя generate-id (), но это должно измениться и во всех ребрах. Например, я изменяю идентификатор узла 1 на «1a1», поэтому он должен изменить источник ребра на «1a1» везде в XML.
Это должно быть сделано для всех узлов и ребер. Оставшийся xml должен быть таким, какой он есть.
Мой xsl
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@id[parent::node]">
<xsl:attribute name="id">
<xsl:value-of select="generate-id()"/>
</xsl:attribute>
</xsl:template>
это меняет идентификатор узла, но я хочу сравнить источник и цель ребер, а также изменить их.
Источник края и цель - это некоторые узлы с идентификатором.
Любая помощь будет принята с благодарностью.
Спасибо