Есть ли способ получить текущие XML-данные, когда мы создаем нашу собственную функцию XPath (см. Здесь).
Я знаю, что у вас есть доступ к XPathContext, но достаточно ли этого?
Пример:
Наш XML:
<foo>
<bar>smang</bar>
<fizz>buzz</fizz>
</foo>
Наш XSL:
<xsl:template match = "/">
<xsl:value-of select = "ourFunction()" />
</xsl:template>
Как получить все XML-дерево?
Редактировать: Чтобы уточнить: я создаю пользовательскую функцию, которая в конечном итоге выполняет статический код Java (это функция Saxon). Итак, в этом коде Java я хочу иметь возможность получать элементы из дерева XML, такие как bar и fizz, и их CDATA, такие как smang и buzz.




А как насчет выберите текущий узел выбора соответствующих данных из текущего узла в параметр XSL и передачи этого параметра функции? Нравиться:
<xsl:value-of select = "ourFunction($data)" />
Попробуйте изменить свой XSL так, чтобы вы вызывали "ourFunction (/)". Это должно передать корневой узел функции. Вы также можете попробовать. или же ..
Предположительно вам нужно будет изменить подпись реализующей функции, я позволю кому-нибудь помочь с этим.