質問

Xerces-Cを使用しようとしています。 .XSDスキームがあり、XMLファイルを検証するためにそれを使用したいと考えています。 XSDファイルとエラーハンドラーを定義していますが、何らかの理由でXSDはエラーをスローしていません。私が欠けているかもしれないものへの洞察はありますか?

    XercesDOMParser* parser = new XercesDOMParser();
    parser->setExternalNoNamespaceSchemaLocation("parser.xsd");
    parser->setExitOnFirstFatalError(true);
    parser->setValidationConstraintFatal(true);
    parser->setValidationScheme(XercesDOMParser::Val_Auto);
    parser->setDoNamespaces(true);    
    parser->setDoSchema(true);      

    ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
    parser->setErrorHandler(errHandler);

    char* xmlFile = "sample.xml";

    try {
         ....
    } catch (const DOMException& e) {
         cout << "Exception.." << endl;
    }

ありがとう。

役に立ちましたか?

解決

あなたがエラーが見られないと言うとき、あなたはどういう意味ですか?例外がスローされると予想していますか?それがあなたの期待である場合、これは以下のようにエラーハンドラーを設定したために起こりません。メソッドを実装して、エラーをコンソールに印刷してみてください。また、XSDとXMLを投稿してください

parser->setErrorHandler(errHandler);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top