Hello everyone,
i've a problem with the result of the validation. I validate my xml file
against a xsd and everything is working fine, except that i can't get the
name of the element that was not correctly filled. That means if i've an
empty element "id" in my xml, which is from type integer, the error message
i got is
cvc-datatype-valid.1.2.1: '' is not a valid value for 'integer'.
which is correct, but i would like to print out the name of the element with
the invalid value.
All information my errorhandler gives me are
publicId: null
systemId: null
line number: 33
column number: 22
localized message: cvc-datatype-valid.1.2.1: '' is not a valid value for
'integer'.
message: cvc-datatype-valid.1.2.1: '' is not a valid value for 'integer'.
toString(): org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '' is
not a valid value for 'integer'.
<code>
public class MyErrorHandler implements ErrorHandler {
public void error(SAXParseException arg0) throws SAXException {
System.out.println("publicId: " + arg0.getPublicId());
System.out.println("systemId: " + arg0.getSystemId());
System.out.println("line number: " + arg0.getLineNumber());
System.out.println("column number: " + arg0.getColumnNumber());
System.out.println("localized message: " +
arg0.getLocalizedMessage());
System.out.println("message: " + arg0.getMessage());
System.out.println("toString(): " + arg0.toString());
System.out.print("Parsing XML failed due to a:\n" +
arg0.getClass().getName());
throw arg0;
}
public void fatalError(SAXParseException arg0) throws SAXException {
System.out.println("publicId: " + arg0.getPublicId());
System.out.println("systemId: " + arg0.getSystemId());
System.out.println("line number: " + arg0.getLineNumber());
System.out.println("column number: " + arg0.getColumnNumber());
System.out.println("localized message: " +
arg0.getLocalizedMessage());
System.out.println("message: " + arg0.getMessage());
throw arg0;
}
public void warning(SAXParseException arg0) throws SAXException {
System.out.println("publicId: " + arg0.getPublicId());
System.out.println("systemId: " + arg0.getSystemId());
System.out.println("line number: " + arg0.getLineNumber());
System.out.println("column number: " + arg0.getColumnNumber());
System.out.println("localized message: " +
arg0.getLocalizedMessage());
System.out.println("message: " + arg0.getMessage());
throw arg0;
}
}
</code>
The element definition in the xsd is
<xs:element name="ID" type="ID" />
<xs:simpleType name="ID">
<xs:restriction base="xs:integer">
<xs:totalDigits value="7" />
</xs:restriction>
</xs:simpleType>
Has somebody an idea how i can solve my problem?
Thanking you in advance for any help you can give me.
--
View this message in context:
http://old.nabble.com/missing-element-name-in-validation-result-tp29489740p29489740.html
Sent from the Xerces - J - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]