У меня есть XML-документ, структурированный следующим образом
<items>
<item>
<name>item1</name>
<attributes>a,b,c,d</attributes>
</item>
<item>
<name>item2</name>
<attributes>c,d,e</attributes>
</item>
</items>
Для каждого уникального значения атрибута (разделенного запятыми) мне нужно перечислить все имена элементов, связанные с этим значением, например:
a : item1
b : item1
c : item1, item2
d : item1, item2
e : item2
Мой первоначальный план состоял в том, чтобы использовать шаблон для разбора атрибутов на узлы атрибутов, окружая каждый соответствующими тегами, а затем разделяя уникальные значения с помощью выражения XPATH, например
Attribute[not(.=following::Attribute)]
но поскольку результат шаблона не является набором узлов, который когда-либо проходил через синтаксический анализатор XML, я не могу его пройти. Я также попробовал функцию exslt node-set () только для того, чтобы понять, что она также не позволяет мне перемещаться по отдельным узлам атрибутов.
На данный момент я не могу найти простой способ сделать это и был бы очень признателен за любую помощь или идеи о том, как действовать дальше. Спасибо!