我有一个 xml 和 xsl 文件。xsl 的输出只是一个文本,即如果某些条件失败,结果只是对失败的描述。如果所有条件都通过,则结果为空。如果我在 xsltproc 中运行它,它工作正常。
但是,如果我使用函数 xsltApplyStylesheet 使用 libxslt 运行它,我会看到空结果。xsltApplyStylesheet 的输入 xml 是在代码中动态创建的。使用 xsltParseStylesheetFile 读取 xsl 文件。(我使用了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 并感谢您的帮助!