我有一个使用Xerces-C作为主要c++操作库的应用程序。
我有我的DOMDocument*和解析器,我想要设置声明。
我执行以下操作:
parser->setValidationScheme(xercesc::XercesDOMParser::Val_Never);
parser->setDoSchema(false);
parser->setLoadExternalDTD(false);
我想补充一下:
<?xml-stylesheet type="text/xsl" href="my_xslt.xsl"?>
我该怎么做呢?
发布于 2011-01-21 06:48:45
您需要在DOMDocument http://xerces.apache.org/xerces-c/apiDocs-3/classDOMDocument.html#ce898787ba20c00c85be63f28a358507上使用createProcessingInstruction
一旦创建了它,就将它附加到DocumentElement。
发布于 2018-06-10 06:40:42
下面是执行此操作的代码:
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);
这样,样式表信息就会出现在文档的prolog中,这是存放样式表信息的典型位置。X()
是将C样式的字符串编码为与Xerces兼容的XMLCh
-string的函数。
https://stackoverflow.com/questions/4747646
复制相似问题