XSLT: xsltApplyStylesheet возвращает ноль

У меня есть XML и XSL-файл. Выходные данные из xsl - это просто текст, т. Е. Если некоторые условия не выполняются, результат - просто описание ошибки. Если все условия выполнены, результат равен нулю. Если я запускаю это в xsltproc, он работает нормально.

Однако, если я запускаю это, используя libxslt, используя функцию xsltApplyStylesheet, я вижу пустой результат. Входные данные xml в xsltApplyStylesheet создаются динамически в коде. Файл xsl читается с использованием xsltParseStylesheetFile. (Я использовал xmlDocDumpFormatMemory как для xml, так и для вывода xsltParseStylesheetFile->doc, оба, похоже, в порядке). Я попробовал xsltSaveResultToString после ApplyStylesheet, он также не работает.

В чем может быть проблема здесь?

Фрагмент кода:

  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 ответ

Использование xmlDocDumpMemory перед применением таблицы стилей сохраните файл, как в похожем вопросе, и посмотрите, работает ли он.

Рекомендации

Другие вопросы по тегам