Добавление объявления о таблице стилей в моем XML с использованием Xerces-C

StackOverflow https://stackoverflow.com/questions/4747646

Вопрос

У меня есть приложение в C ++ с использованием Xerces-C в качестве основной библиотеки манипуляций XML.

У меня есть мой Domdocument* и мой анализатор, и я хочу установить объявления.

Я делаю следующее:

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

Я хочу добавить:

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

Как мне это сделать?

Это было полезно?

Решение

Вам нужно использовать CreateProcessingInstruction на Domdocumenthttp://xerces.apache.org/xerces-c/apidocs-3/classdomdocument.html#ce898787ba20c00c85be63f28a358507

После того, как вы создали его, добавьте его к документированию.

Другие советы

Вот код для этого:

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