1

私はxmlとxslファイルを持っています。xsl からの出力は単なるテキストです。つまり、いくつかの条件が失敗した場合、結果は単に失敗の説明になります。すべての条件に合格すると、結果は null になります。これを xsltproc で実行すると、問題なく動作します。

ただし、関数 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とあなたの助けに感謝します!

4

1 に答える 1

0

スタイルシートを適用する前に同様の質問のようxmlDocDumpMemoryにファイルを保存し、それが機能するかどうかを確認するために使用します。

参考文献

于 2012-08-21T02:43:06.807 に答える