XSLT: xsltApplyStylesheet возвращает ноль - PullRequest
1 голос
/ 07 марта 2012

У меня есть 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 Ответ

0 голосов
/ 21 августа 2012

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

Ссылки

...