/** @constant {number} */
export const SEVERITY_NONE = 0;
/** @constant {number} */
export const SEVERITY_INVALID_REFERENCE = 1;
/** @constant {number} */
export const SEVERITY_SEMANTIC_WARNING = 2;
/** @constant {number} */
export const SEVERITY_SEMANTIC_ERROR = 3;
/** @constant {number} */
export const SEVERITY_INVALID_DATA = 4;
/** @constant {number} */
export const SEVERITY_INVALID_STRUCTURE = 5;
/**
* {@link XMLEditorEvent} sent after the document being edited
* in an {@link XMLEditor} is validated, either automatically
* (for example, when the document is opened or saved) or
* on demand by the user.
*
* <p>This event contains all the information needed to a update
* a validity state indicator or a pane listing validity errors.
*/
export class DocumentValidatedEvent extends XMLEditorEvent {
constructor(xmlEditor, data) {
super(xmlEditor, data, "documentValidated");
this._severity = this._diagnostics.severity;
this._diagnostics = this._diagnostics.diagnostics;
}
/**
* Get the <code>severity</code> property of this event:
* the overall severity of the diagnostics.
*
* @type {number}
*/
get severity() {
return this._severity;
}
/**
* Get the <code>diagnostics</code> property of this event:
* a possibly empty array of <dfn>diagnostic objects</dfn>.
*
* <p>A <dfn>diagnostic object</dfn> has the following keys:
* <dl>
* <dt><code>elementUID</code></dt>
* <dd>UID of the element where this error was found.</dd>
* <dt><code>message</code></dt>
* <dd>Message describing the error.</dd>
* <dt><code>severity</code></dt>
* <dd>The severity of the error.
* An integer between {@link SEVERITY_NONE} and
* {@link SEVERITY_INVALID_STRUCTURE}</dd>
* <dt><code>detail</code></dt>
* <dd>A <dfn>detail</dfn> about the error; generally <code>null</code>.
* <p>Otherwise an array starting with a key and following by one or
* more values. <dfn>Detail</dfn> keys are strings:
* <dl>
* <dt><code>"BROKEN_IDREF"</code></dt>
* <dd>An IDREF pointing to an unknown ID.
* Value is the unknown ID.</dd>
* <dt><code>"BROKEN_LINK"</code></dt>
* <dd>Similar to BROKEN_IDREF but applies to a link which is
* a generalization of an IDREF.</dd>
* <dt><code>"DUPLICATE_ID"</code></dt>
* <dd>Mutiply-defined ID. Value is the duplicate ID, plus, optionally,
* the UID of the element bearing the original ID.</dd>
* <dt><code>"DUPLICATE_ANCHOR"</code></dt>
* <dd>Similar to DUPLICATE_ID but applies to an anchor which is
* a generalization of an ID.</dd>
* <dt><code>"ORIGINAL_ID"</code></dt>
* <dd><code>elementUID</code> specifies the element bearing
* the original ID. Value is this original ID.</dd>
* <dt><code>"ORIGINAL_ANCHOR"</code></dt>
* <dd>Similar to ORIGINAL_ID but applies to an anchor which is
* a generalization of an ID.</dd>
* <dt><code>"BAD_ATTRIBUTE_NAME"</code></dt>
* <dd>An attribute having an invalid value.
* Value is the qualified name of the attribute.</dd>
* </dl>
* </dd>
* </dl>
*
* @type {array}
*/
get diagnostics() {
return this._diagnostics;
}
}