2

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"?>

どうすればいいですか?

4

2 に答える 2

1

DOMDocument http://xerces.apache.org/xerces-c/apiDocs-3/classDOMDocument.html#ce898787ba20c00c85be63f28a358507で createProcessingInstruction を使用する必要があります。

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

于 2011-01-20T22:48:44.530 に答える
0

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

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

于 2018-06-09T22:40:41.600 に答える