У меня есть xml со списком людей, их идентификаторами базы данных и списком отношений между ними. Это выглядит так:
<root>
<person>
<id>1000</id>
<name>p1</name>
</person>
<person>
<id>1001</id>
<name>p2</name>
</person>
<rel>
<personid>1001</personid>
<personid>1000</personid>
</rel>
</root>
Я хотел бы сгенерировать, используя xslt 1.0 из Java, следующее:
person 2 relates to person 1.
Логика состоит в том, чтобы показать индекс человека на основе порядка, в котором он указан в xml.
Мои текущие идеи:
- предварительно обрабатывает xml в java и отправляет карту как параметр в xsl с помощью [person_id, person_index], а затем для каждого отношения получает person_index из person_id
- создание xpath в xsl, который находит индекс человека по данному идентификатору (хотя я не знаю, как создать xpath для этого)
- предварительная обработка в java и создание карты, размещение ее в переменной ThreadLocal, а затем из xsl вызов другого метода, который использует этот ThreadLocal для получения индекса человека из идентификатора человека
Любые другие идеи, надеюсь, более простые, очень ценятся.
Спасибо!