0

Python で libxslt を使用して、XSL スタイルシートを適用する XML データ ファイルを取得しました。<hr/>ほぼ完璧ですが、XSL ファイル内の のすべてのインスタンスが<hr>からの出力に変換されていますunicode(applyStylesheet())。これは私がやっていることのほとんどすべてです:

style = libxslt.parseStylesheetDoc(libxml2.parseFile('template.xsl'))
xmlDoc = libxml2.parseFile('data.xml')
data = unicode(self.style.applyStylesheet(xmlDoc, None))
xmlDoc.freeDoc()

私は何か間違ったことをしていますか?出力を有効な XHTML にするために欠落しているオプションはありますか?

(私の現在の計画は、行に追加.replace('<hr>','<hr/>')してdata =機能させることですが、もっと良い方法があるはずです。)

4

1 に答える 1

2

ファイルを見ることができtemplate.xslますか?<xsl:output/>タグが含まれていますか?methodこのタグの属性は に設定されていhtmlますか?

そうである場合、libxsl は自動的にすべて/の自己終了タグを取り除きます。

xml出力メソッドが常に正しい html を出力するとは限らないことに注意してください。<xsl:output> の xml、html、または xhtml を参照してください。詳細については。

リンクされた質問の回答で説明されているように、最良の選択は ですがxhtml、バージョン 2 以降の xsl でのみサポートされています。

于 2011-06-18T23:30:54.797 に答える