Я думаю, что вы говорите, когда вы просматриваете результирующий вывод в браузере, вы видите что-то вроде этого ...
<weatherdata>
<weather entityid="32226" alert="" ....
</weatherdata>
Но когда вы делаете 'View Source', вы видите это
<weatherdata>
<weather entityid="32226" alert=""
</weatherdata>
То есть он был «экранирован» для демонстрации.Проблема в том, что ваш тег cp: abstract содержит строку текста, а не строку XML, и поэтому, поскольку вы выводите XML, процессор XSLT будет экранировать текст, чтобы он не мог повлиять на основнойXML-документ.
Решение состоит в том, чтобы использовать отключение-вывод-экранирование в элементе xsl: value-of
<xslt:template match="cp:abstract">
<xslt:value-of select="." disable-output-escaping="yes" />
</xslt:template>
Когда это будет сделано, будет выведен следующий текст в формате XML
<weatherdata>
<weather entityid="32226" alert="" ....
</weatherdata>
В качестве альтернативы вы можете изменить атрибут method в xsl: вывод оператора в text , и это должно иметь тот же эффект
<xslt:output omit-xml-declaration="yes" method="text"/>