Мне очень нужен ответ на этот вопрос. Я работаю над проектом, который использует XML для создания страниц, а затем XSLT для создания его на веб-странице. Вот пример кода:
public function transform ($xml) {
$proc = new XSLTProcessor;
$proc->importStyleSheet ($this->xsl);
$output = $proc->transformToXML ($xml);
return $output;
}
$ xml содержит веб-страницу в формате XML, например:
<?xml version="1.0" encoding="utf-8"?>
<page>
<meta>
<language>en</language>
<title>Main page</title>
<content>
<![CDATA[
lot's of content here along with <p>html</p>.
]]>
</content>
</page>
Итак, веб-страница находится в формате XML и передается в функцию преобразования, которая загружает файл XSL для преобразования XML в веб-страницу HTML. Однако приведенные выше сценарии не смогут правильно загрузить тег содержимого, потому что XSLT по какой-то причине не понимает CDATA и кодирует HTML в сущности.
Итак, вопрос в том, как я могу вывести, используя XSLT, HTML как HTML, не закодировав его в сущности?