2010-12-19 10 views
3

私は別のHTML文書の中にコンテンツとして組み込む必要のあるXMLファイルの特定の部分の変換を行うためにphp XSLTProcessorを使用しています。PHP :: XSLTProcessorが<html>と<body>というタグを生成しないようにするには?

問題はXSLTProcessorは、常にこのようなコードを発することである:

<head> 
<body> 
[what I need to incorporate] 
</body> 
</head> 

私はこれをどのように行うことができ、それらの周囲のタグを生成することを防止する必要がありますか?

+0

無効なHTML文書を作成するのは良い考えではないと思いますが、実際にはそれを行う方法はわかりません。 XSLTを使用してAJAXリクエストのレスポンスを変換する場合、JSを使用して結果ドキュメントの必要な部分のみを添付します。 PHPを使用する際には、これもオプションだと思います。 – Flack

+0

私はすでに自分のウェブサイト用にPHPテンプレートシステムを構築していますので、別のサーバーからXMLをフェッチしていますので、セキュリティ上の理由からトランスフォームサーバー側を作成する必要があり、テンプレートを台無しにしたくありません。変換されたデータを対応するプレースホルダに組み込む –

+0

良い質問、+1。可能な解決策については私の答えを見てください。 –

答えて

3

htmlの出力方法を使用すると、ではなく、を試しましたか?

私がしようとするだろう:

<xsl:output method="xml"/>

をあなたのXSLTプロセッサは、カスタムのXmlWriterクラスを許可している場合、あなたは、このような特定の要素が短い形式または書き込みを持っていないなど、特定の字句形式を(強制、このようなクラスを書くこと<br />と決して<br></br>)が必要な場合は、

+0

実際には、PHP関数をXSLT関数として使用できるようにするregisterPHPFunctionsというメソッドがあります(http://www.php.net/manual/en/xsltprocessor.registerphpfunctions.php)。私はまだそれを使用する方法がわかりませんが、私はそれを試してみましょう。私はDOMで結果のXMLを単純に再解析し、innerHTMLをというノードに戻すという簡単な作業を行っています –

関連する問題

 関連する問題