PHPでXSLTを使用してXMLファイル変換を正しく処理しています。実際に私はこのコードを使用:PHPで複数のXML/XSLTファイルをXSLTで変換して他を追加しますが、最初にPHPで処理します
$xml = new DOMDocument;
$xml->LoadXML($xml_contents);
$xsl = new DOMDocument;
$xsl->load($xsl_file);
$proc = new XSLTProcesoor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXml($xml);
$xml_contents
はPHPで処理XMLであり、これは、最初のXMLファイルを含む、次いで$xml_contents = ob_get_contents(); ob_end_clean();
を割り当てることによって行われます。これは、XML上でPHPコードを処理することを強制し、完全に動作します。
私の問題は、複数のXMLファイルを使用することです。このXMLファイルには、処理が必要なPHPコードがあり、データを処理するためのXSLTファイルが関連付けられています。私questiionは、私はこれを扱うことができる方法である
<!-- First I add the XML file -->
<xsl:param name="menu" select="document('menu.xml')" />
<!-- Next I add the transformations for menu.xml file -->
<xsl:include href="menu.xsl" />
<!-- Finally, I process it on the actual ("parent") XML -->
<xsl:apply-templates select="$menu/menu" />
:実は私は次のコードをXSLTでこのファイルを含めています。 PHPを含む最初のXMLファイルに複数のXML(+ XSLT)ファイルを追加して処理する必要があります。
ありがとうございます!
あなたは、プロセスチェーンの一部が欠落しています。私がこれを正しく理解していれば、XML + PHP - > PHP前処理 - > XSLTのチェーンがあり、最初のステップ**で利用可能な同じデータを知ることができます。 XMLとembeded PHPをビルドするときは、適用するスタイルシートが分かります。その後、それを適用します。 –
@Alejandro:私はそれを手に入れません。私はXMLと何を使用するのかを知っていますが、私が望むのは、余分なXMLと余分なXSLTを追加することです。ここでは、マスターXSLTから含まれるXMLをPHPで事前処理することができます。チェーンは次のようになります: "example.xml"をレンダリングするPHPコントローラ呼び出し - > PHPがXMLを読み込んで処理し、 "example.xslt"を自動的に関連付ける - >出力を出力します。 example.xsltが関連付けられているステップでは、このexample.xsltにはXMLおよびXSLTのさまざまなインクルードが含まれています。この余分なXMLファイルを前処理する必要があります。 – ipalaus
それから、質問がクリアされていないので、あなたの質問を再考する必要があります。 –