2012-03-06 5 views
1

xml 및 xsl 파일이 있습니다. xsl의 출력은 텍스트 일뿐입니다. 즉, 일부 조건이 실패한 경우 결과는 실패에 대한 설명 일뿐입니다. 모든 조건이 통과하면 결과는 널입니다. xsltproc에서 이것을 실행하면 잘 작동합니다.XSLT : xsltApplyStylesheet가 null을 반환합니다.

그러나 xsltApplyStylesheet 함수를 사용하여 libxslt를 실행하면 빈 결과가 나타납니다. xsltApplyStylesheet에 대한 입력 xml은 코드에서 동적으로 작성됩니다. xsl 파일은 xsltParseStylesheetFile을 사용하여 읽습니다. (나는 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와 당신의 도움을 주셔서 감사합니다!

답변

관련 문제