У меня есть следующие элементы в моем XMi файле:функция Имя в XPATH
<element1 id= 3 >
<element2 id= 3>
Я хочу, чтобы превратить их в нечто вроде:
<element1 id= 3 name =element2>
<element2 id= 3>
Я использую XSLT для преобразования:
<xsl:if test="@id = //*[@id]/@id">
<xsl:sequence
select="fn:createAtt('name',X)" />
</xsl:if>
Я хочу сравнить идентификатор двух элементов, и в случае, если они совпадают, я хочу сохранить имя второго элемента (elemen t2) в атрибут name первого элемента.
Сравнение работает нормально. Проблема в том, как прочитать имя второго элемента? Я попытался использовать функцию name(), но не смог точно прочитать это имя, которое соответствует сравнению.
Я нашел функцию имени. Я попытался использовать следующий способ: name (// * [@ id = @ id]), и он возвращает значение null, но если я использую имя (// * [@ id = 3]), он возвращает элемент2. Как я могу сделать это автоматически, используя идентификатор имени первого элемента, а не статическое значение? – user1495959