私は本当にこの質問に対する答えが必要です。XMLを使用してページを作成し、次にXSLTを使用してそれをWebページに作成するプロジェクトに取り組んでいます。コードサンプルは次のとおりです。
public function transform ($xml) {
$proc = new XSLTProcessor;
$proc->importStyleSheet ($this->xsl);
$output = $proc->transformToXML ($xml);
return $output;
}
$ xmlには、XML形式のWebページが含まれています。次に例を示します。
<?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>
したがって、WebページはXMLであり、変換関数に渡されます。この関数は、XSLファイルをロードしてXMLをHTMLWebページに変換します。ただし、XSLTは何らかの理由でCDATAを理解せず、HTMLをエンティティにエンコードするため、上記のスクリプトはコンテンツタグを正しくロードできません。
したがって、問題は、XSLTを使用して、エンティティにエンコードせずにHTMLをHTMLとして出力するにはどうすればよいかということです。