-2

XSDに対してXMLを検証しています。しかし、私のJava検証エラーメッセージはXMLSpyの検証エラーメッセージとは異なります。ここで、XMLSpyは正しく、Java検証メッセージは誤解を招く可能性があります。XMLを検証するために次のコードを使用しています。

SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);
factory.setNamespaceAware(true);
SAXParser saxParser = factory.newSAXParser();
saxParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);

saxParser.setProperty(JAXP_SCHEMA_SOURCE,new File("TXLife2.26.00.xsd"));
MySAXHandler dh = new MySAXHandler();
saxParser.parse(new File("test.xml"), dh);

Java検証メッセージには次のように書かれています。

cvc-complex-type.2.4.a:要素'<element>'で始まる無効なコンテンツが見つかりました。

しかし、XMLSpyは次のように述べています。

要素<element>は、要素<parent_element>の下のこの場所では許可されていません

4

1 に答える 1

1

表示されるエラーメッセージは、使用しているバリデーターによって異なります。どちらも同じエラーを報告しています。より良いエラーメッセージを備えたJavaXSDバリデーターが必要な場合は、Saxonを試してみてください。しかし、エラー報告は不正確な技術です。エラーメッセージを設計する際、実装者は、(a)ユーザーが意図したこと、および(b)ユーザーがテクノロジについてどの程度理解しているかについての限られた情報を処理します。

于 2012-04-10T07:40:40.040 に答える