質問

Xerces-CをメインXML操作ライブラリとして使用してC ++でアプリケーションを使用しています。

Domdocument*とパーサーがあり、宣言を設定したいと思います。

私は次のことをします:

parser->setValidationScheme(xercesc::XercesDOMParser::Val_Never);
parser->setDoSchema(false);
parser->setLoadExternalDTD(false);

追加したい:

<?xml-stylesheet type="text/xsl" href="my_xslt.xsl"?>

どうすればできますか?

役に立ちましたか?

解決

domdocumentでcreateprocessinginstructionを使用する必要がありますhttp://xerces.apache.org/xerces-c/apidocs-3/classdomdocument.html#ce898787ba20c00c85be63f28a358507

作成したら、documentlementに追加します。

他のヒント

これを行うためのコードは次のとおりです。

xercesc::DomDocument *doc;
// ... (initialize doc in some way)
auto root = doc->getDocumentElement();
auto stylesheet = doc->createProcessingInstruction
  (X("xml-stylesheet"), X("type=\"text/xsl\" href=\"custom.xsl\""));
doc->insertBefore(stylesheet, root);

このようにして、スタイルシート情報はドキュメントのプロログに表示されます。これは、典型的な場所です。 X() Cスタイルの文字列をXerces互換としてエンコードする関数です XMLCh-ストリング。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top