Class XmlValidationError

java.lang.Object
org.apache.xmlbeans.XmlError
org.apache.xmlbeans.XmlValidationError
All Implemented Interfaces:
Serializable

public class XmlValidationError extends XmlError
The XmlValidationError class extends the XmlErrorXMLError class. The XML Validator contains extra attributes that can be used to construct the XML validation error programmatically.

To extract the validation error cast the errors to XmlValidationError instead of XmlError for example:

 xobj.validate(new XmlOptions().setErrorListener(errors))
 for (Iterator<XmlError> it = errors.iterator(); it.hasNext(); )
 {
      XmlError err = it.next());
      if (err instanceof XmlValidationError)
      {
          XmlValidationError validationError = (XmlValidationError) err;
     }
 }
Whenever an XmlValidationError is retrieved it will always be populated with the following information:
  • Message
  • Severity
  • Error Type

The error type is very important because the other attributes of the XMLValidationError are populated based on the error type.

if errortype == INCORRECT_ELEMENT then
offendingQName, badSchemaType will always be present, however expectedSchemaType and expectedQNames are available only if it is possible to determine them during vaildation.

if errortype == ELEMENT_NOT_ALLOWED then
badSchemaType will always be present, however expectedSchemaType and offendingQName are available only if it is possible to determine them during vaildation.

if errortype == INCORRECT_ATTRIBUTE then
offendingQName, badSchemaType will always be present

if errortype == ATTRIBUTE_TYPE_INVALID then
no other addtional attributes are populated

if errortype == LIST_INVALID then
expectedSchemaType will always be present

if errortype == UNION_INVALID then
expectedSchemaType will always be present

if errortype == NIL_ELEMENT then
offendingQName, expectedSchemaType and badSchemaType will always be present

if errortype == ELEMENT_TYPE_INVALID then
offendingQName will always be present, other attributes may be available

See Also:
  • Field Details

  • Method Details

    • forCursorWithDetails

      public static XmlValidationError forCursorWithDetails(String message, String code, Object[] args, int severity, XmlCursor cursor, QName fieldQName, QName offendingQname, SchemaType expectedSchemaType, List<QName> expectedQNames, int errorType, SchemaType badSchemaType)
    • forLocationWithDetails

      public static XmlValidationError forLocationWithDetails(String message, String code, Object[] args, int severity, Location location, QName fieldQName, QName offendingQname, SchemaType expectedSchemaType, List<QName> expectedQNames, int errorType, SchemaType badSchemaType)
    • getMessage

      public String getMessage()
      Description copied from class: XmlError
      Returns the error message without location information.
      Overrides:
      getMessage in class XmlError
    • getBadSchemaType

      public SchemaType getBadSchemaType()
    • setBadSchemaType

      public void setBadSchemaType(SchemaType _badSchemaType)
    • getErrorType

      public int getErrorType()
    • setErrorType

      public void setErrorType(int _errorType)
    • getExpectedQNames

      public List<QName> getExpectedQNames()
    • setExpectedQNames

      public void setExpectedQNames(List<QName> _expectedQNames)
    • getFieldQName

      public QName getFieldQName()
    • setFieldQName

      public void setFieldQName(QName _fieldQName)
    • getOffendingQName

      public QName getOffendingQName()
    • setOffendingQName

      public void setOffendingQName(QName _offendingQName)
    • getExpectedSchemaType

      public SchemaType getExpectedSchemaType()
    • setExpectedSchemaType

      public void setExpectedSchemaType(SchemaType _expectedSchemaType)