Мне нужно выбрать копию следующих узлов:
<xsl:copy-of select="node1/node2/*" />
и мне нужно передать значение этой копии в функцию ProcessNodes, которая получает строку в качестве входного параметра, возвращает строку для некоторой обработки и записывает результат в виде:
<Data>
Result of the function
</Data>
Я думал, что могу поставить
<Data>
<xsl:copy-of select="myfunction:ProcessNodes(node1/node2/*)" />
</Data>
но это неверно.
Могу ли я знать правильный синтаксис для этого?
PS : На самом деле документ представляет собой XML, который выглядит примерно так:
<Node1>
<Node2>
<html>
<body>
<p>My first paragraph.</p>
<p>My 2nd paragraph. And this paragrah
has 2 lines.</p>
</body>
</html>
</Node2>
</Node1>
и мне нужно написать их как
<Data>
My first paragraph.
My 2nd paragraph. And this paragrah has 2 lines.
</Data>
Обратите внимание, что 2 строки во втором абзаце объединены в 1 строку.
Вот почему мне нужна копия, чтобы теги <p>
могли быть сохранены, и я могу выполнить расположение абзаца, который я хочу.
Я не знаю, есть ли что-нибудь попроще.