私はxmlとxslファイルを持っています。xsl からの出力は単なるテキストです。つまり、いくつかの条件が失敗した場合、結果は単に失敗の説明になります。すべての条件に合格すると、結果は null になります。これを xsltproc で実行すると、問題なく動作します。
ただし、関数 xsltApplyStylesheet を使用して libxslt を使用してこれを実行すると、空の結果が表示されます。xsltApplyStylesheet への入力 xml は、コード内で動的に作成されます。xsl ファイルは、xsltParseStylesheetFile を使用して読み取られます。(xml と xsltParseStylesheetFile->doc の出力の両方の xmlDocDumpFormatMemory を使用しましたが、どちらも問題ないようです)。ApplyStylesheet の後に xsltSaveResultToString を試しましたが、うまくいきません。
ここで何が問題になる可能性がありますか?
コードスニペット:
xmldoc = xmlNewDoc(BAD_CAST "1.0");
c = xmlNewNode(NULL, BAD_CAST "Company");
xmlAddChild(c, node); //node is another child in XML
xmlAddChild(c, d); //d is another child in xml
xmlDocSetRootElement(xmldoc, c);
.....
xsl = xsltParseStylesheetFile("xsl.file");
....
output = xsltApplyStylesheet(xsl, xmldoc, NULL);
....
//output has just "<?xml version="1.0"?>"
TIAとあなたの助けに感謝します!