org.apache.xmlbeans

## 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 `XmlError`XMLError class. The XML Validator contains extra attributes that can be used to construct the XML validation error programatically.

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

       xobj.validate(new XmlOptions().setErrorListener(errors))
       for (Iterator it = errors.iterator(); it.hasNext(); )
       {
            XmlError err = (XmlError)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:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ATTRIBUTE_TYPE_INVALID`
    `static int` | `ELEMENT_NOT_ALLOWED`
    `static int` | `ELEMENT_TYPE_INVALID`
    `static int` | `INCORRECT_ATTRIBUTE`
    `static int` | `INCORRECT_ELEMENT`
    `static int` | `LIST_INVALID`
    `static int` | `NIL_ELEMENT`
    `static int` | `UNDEFINED`
    `static int` | `UNION_INVALID`

    - ### Fields inherited from class org.apache.xmlbeans.XmlError

      `SEVERITY_ERROR, SEVERITY_INFO, SEVERITY_WARNING`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static XmlValidationError` | `forCursorWithDetails(String message, String code, Object[] args, int severity, XmlCursor cursor, QName fieldQName, QName offendingQname, SchemaType expectedSchemaType, List expectedQNames, int errorType, SchemaType badSchemaType)`
    `static XmlValidationError` | `forLocationWithDetails(String message, String code, Object[] args, int severity, Location location, QName fieldQName, QName offendingQname, SchemaType expectedSchemaType, List expectedQNames, int errorType, SchemaType badSchemaType)`
    `SchemaType` | `getBadSchemaType()`
    `int` | `getErrorType()`
    `List` | `getExpectedQNames()`
    `SchemaType` | `getExpectedSchemaType()`
    `QName` | `getFieldQName()`
    `String` | `getMessage()` Returns the error message without location information.
    `QName` | `getOffendingQName()`
    `void` | `setBadSchemaType(SchemaType _badSchemaType)`
    `void` | `setErrorType(int _errorType)`
    `void` | `setExpectedQNames(List _expectedQNames)`
    `void` | `setExpectedSchemaType(SchemaType _expectedSchemaType)`
    `void` | `setFieldQName(QName _fieldQName)`
    `void` | `setOffendingQName(QName _offendingQName)`

    - ### Methods inherited from class org.apache.xmlbeans.XmlError

      `forCursor, forCursor, forCursor, forCursor, forLocation, forLocation, forLocation, forLocation, forLocationAndCursor, formattedFileName, formattedMessage, forMessage, forMessage, forMessage, forMessage, forObject, forObject, forObject, forObject, forSource, forSource, forSource, getColumn, getCursorLocation, getErrorCode, getLine, getLocation, getObjectLocation, getOffset, getSeverity, getSourceName, severityAsString, toString, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### INCORRECT_ELEMENT

          public static final int INCORRECT_ELEMENT

      See Also:
        Constant Field Values

    - #### ELEMENT_NOT_ALLOWED

          public static final int ELEMENT_NOT_ALLOWED

      See Also:
        Constant Field Values

    - #### ELEMENT_TYPE_INVALID

          public static final int ELEMENT_TYPE_INVALID

      See Also:
        Constant Field Values

    - #### NIL_ELEMENT

          public static final int NIL_ELEMENT

      See Also:
        Constant Field Values

    - #### INCORRECT_ATTRIBUTE

          public static final int INCORRECT_ATTRIBUTE

      See Also:
        Constant Field Values

    - #### ATTRIBUTE_TYPE_INVALID

          public static final int ATTRIBUTE_TYPE_INVALID

      See Also:
        Constant Field Values

    - #### LIST_INVALID

          public static final int LIST_INVALID

      See Also:
        Constant Field Values

    - #### UNION_INVALID

          public static final int UNION_INVALID

      See Also:
        Constant Field Values

    - #### UNDEFINED

          public static final int UNDEFINED

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### forCursorWithDetails

          public static XmlValidationError forCursorWithDetails(String message,
                                                                String code,
                                                                Object[] args,
                                                                int severity,
                                                                XmlCursor cursor,
                                                                QName fieldQName,
                                                                QName offendingQname,
                                                                SchemaType expectedSchemaType,
                                                                List 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 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 getExpectedQNames()

    - #### setExpectedQNames

          public void setExpectedQNames(List _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)