У меня есть 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 () только для того, чтобы понять, что она также не позволяет мне проходить через отдельные узлы атрибутов.
На данный момент я в растерянности из-за простого способа сделать это и буду очень признателен за любую помощь или идеи о том, как действовать. Спасибо!