У меня есть следующий xml-файл, в котором каждый элемент книги имеет три атрибута: @xml: id, @author и @info (в составе '#' + '@ xml: id' + '- ana' исовпадает с идентификатором соответствующего элемента жанра).
<?xml version="1.0" encoding="UTF-8"?>
<doc>
<Collection>
<books>
<book xml:id="d1" author="#e1" info="#d1-ana"/>
<book xml:id="d2" author="#e2" info="#d2-ana"/>
<book xml:id="d3" author="#e2" info="#d3-ana"/>
</books>
<genre xml:id="d1-ana"> autobiography </genre>
<genre xml:id="d2-ana"> romance </genre>
<genre xml:id="d3-ana"> horror </genre>
</Collection>
<authors>
<author xml:id="e1">Author1</author>
<author xml:id="e2">Author2</author>
</authors>
</doc>
Что я хотел бы сделать, это для тех случаев, когда @author имеет одинаковое значение (второй и третий элемент книги с @authorзначение # e2), поменяйте местами порядок жанров, то есть на первом месте будет элемент жанра со значением horror, а на втором - элемент со значением romance, например:
<?xml version="1.0" encoding="UTF-8"?>
<doc>
<Collection>
<books>
<book xml:id="d1" author="#e1" info="#d1-ana"/>
<book xml:id="d2" author="#e2" info="#d2-ana"/>
<book xml:id="d3" author="#e2" info="#d3-ana"/>
</books>
<genre xml:id="d1-ana"> autobiography </genre>
<genre xml:id="d3-ana"> horror </genre>
<genre xml:id="d2-ana"> romance </genre>
</Collection>
<authors>
<author xml:id="e1">Author1</author>
<author xml:id="e2">Author2</author>
</authors>
</doc>
Я не совсемубедитесь, как сравнить эти элементы книги и как создать ссылку на элементы жанра (@xml: id каждого элемента жанра равно # + значение @info элементов книги).