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
перед применением таблицы стилей сохраните файл, как в похожем вопросе, и посмотрите, работает ли он.
Рекомендации