Я боролся с этой проблемой весь день и вот-вот сошел с ума.
У меня есть файл XML, в котором определенные части данных хранятся в виде экранированного текста, но сами по себе являются правильно сформированным XML. Я хочу преобразовать всю иерархию в этом текстовом узле в набор узлов и извлечь из него данные. Никакой комбинации переменных и функций я не могу придумать.
Я бы ожидал, что это сработает:
<xsl:variable name="a" select="InnerXML">
<xsl:for-each select="exsl:node-set($a)/*">
'do something
</xsl:for-each>
Элемент ввода InnerXML содержит текст вида
<root><elementa>text</elementa><elementb><elementc/><elementd>text</elementd></elementb></root>
но это не имеет значения. Я просто хочу перемещаться по XML, как обычный набор узлов.
Куда я иду не так?