インラインで指定された DTD に対して XML を検証する必要がある libxml ライブラリを使用して、C++ で XML パーサーを作成しています。プログラムで system() を使用したくありません。そうでなければ、xmllint コマンドを使用できたはずです。
http://xmlsoft.org/ API ページで指定されているxmlValidateDtd(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlDtdPtr dtd)関数を見つけました。しかし、SAX 解析には xmlDocPtr がないため、これは DOM ベースの関数だと思います。
インライン DTD に対して XML ドキュメントを検証する他の方法はありますか?