XSLT:xsltApplyStylesheet返回null

时间:2012-03-06 23:06:04

标签: libxslt

我有一个xml和xsl文件。 xsl的输出只是一个文本,即如果某些条件失败,结果只是失败的描述。如果所有条件都通过,则结果为null。如果我在xsltproc中运行它,它工作正常。

但是,如果我使用函数xsltApplyStylesheet使用libxslt运行它,我会看到空结果。输入xml到xsltApplyStylesheet是在代码中动态创建的。使用xsltParseStylesheetFile读取xsl文件。 (我使用xml的xmlDocDumpFormatMemory和xsltParseStylesheetFile-> doc的输出,两者似乎都很好)。我在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,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在应用样式表之前,使用xmlDocDumpMemory将文件另存为a similar question,然后查看是否有效。

<强>参考