Вы должны исправить XML так, чтобы желаемый HTML (и он должен быть правильно сформированным XML) не содержался в разделе CDATA .
Любой раздел CDATA является лишь частью узла text (), и процессор XSLT рассматривает его как таковой.
Размещение разметки в CDATA общепризнанно считается плохой практикой, и сообщаемая проблема является одним из типичных результатов.
DOE (отключение-выход-экранирование) - это дополнительная функция в XSLT, которая не гарантируется для реализации и дает одинаковые ожидаемые результаты на разных процессорах XSLT.
Цитировать W3C XSLT Spec .:
"An XSLT processor is not required to support disabling output escaping. If an xsl:value-of or xsl:text specifies that output escaping should be disabled and the XSLT processor does not support this, the XSLT processor may signal an error; if it does not signal an error, it must recover by not disabling output escaping.
"
и
"Since disabling output escaping may not work with all XSLT processors and can result in XML that is not well-formed, it should be used only when there is no alternative."