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>の下のこの場所では許可されていません