This appendix contains the complete OMG IDL [OMG IDL] for the Level 3 Document Object Model Validation definitions.
The IDL files are also available as: http://www.w3.org/TR/2004/REC-DOM-Level-3-Val-20040127/idl.zip
// File: validation.idl #ifndef _VALIDATION_IDL_ #define _VALIDATION_IDL_ #include "dom.idl" #pragma prefix "dom.w3c.org" module validation { typedef dom::DOMString DOMString; typedef dom::DOMStringList DOMStringList; typedef dom::Node Node; typedef dom::NameList NameList; typedef dom::Attr Attr; typedef dom::DOMConfiguration DOMConfiguration; exception ExceptionVAL { unsigned short code; }; // ExceptionVALCode const unsigned short NO_SCHEMA_AVAILABLE_ERR = 71; interface NodeEditVAL { // validationType const unsigned short VAL_WF = 1; const unsigned short VAL_NS_WF = 2; const unsigned short VAL_INCOMPLETE = 3; const unsigned short VAL_SCHEMA = 4; // validationState const unsigned short VAL_TRUE = 5; const unsigned short VAL_FALSE = 6; const unsigned short VAL_UNKNOWN = 7; readonly attribute DOMString defaultValue; readonly attribute DOMStringList enumeratedValues; unsigned short canInsertBefore(in Node newChild, in Node refChild); unsigned short canRemoveChild(in Node oldChild); unsigned short canReplaceChild(in Node newChild, in Node oldChild); unsigned short canAppendChild(in Node newChild); unsigned short nodeValidity(in unsigned short valType); }; interface ElementEditVAL : NodeEditVAL { // ContentTypeVAL const unsigned short VAL_EMPTY_CONTENTTYPE = 1; const unsigned short VAL_ANY_CONTENTTYPE = 2; const unsigned short VAL_MIXED_CONTENTTYPE = 3; const unsigned short VAL_ELEMENTS_CONTENTTYPE = 4; const unsigned short VAL_SIMPLE_CONTENTTYPE = 5; readonly attribute NameList allowedChildren; readonly attribute NameList allowedFirstChildren; readonly attribute NameList allowedParents; readonly attribute NameList allowedNextSiblings; readonly attribute NameList allowedPreviousSiblings; readonly attribute NameList allowedAttributes; readonly attribute NameList requiredAttributes; readonly attribute unsigned short contentType; unsigned short canSetTextContent(in DOMString possibleTextContent); unsigned short canSetAttribute(in DOMString attrname, in DOMString attrval); unsigned short canSetAttributeNode(in Attr attrNode); unsigned short canSetAttributeNS(in DOMString namespaceURI, in DOMString qualifiedName, in DOMString value); unsigned short canRemoveAttribute(in DOMString attrname); unsigned short canRemoveAttributeNS(in DOMString namespaceURI, in DOMString localName); unsigned short canRemoveAttributeNode(in Node attrNode); unsigned short isElementDefined(in DOMString name); unsigned short isElementDefinedNS(in DOMString namespaceURI, in DOMString name); }; interface CharacterDataEditVAL : NodeEditVAL { unsigned short isWhitespaceOnly(); unsigned short canSetData(in DOMString arg); unsigned short canAppendData(in DOMString arg); unsigned short canReplaceData(in unsigned long offset, in unsigned long count, in DOMString arg) raises(dom::DOMException); unsigned short canInsertData(in unsigned long offset, in DOMString arg) raises(dom::DOMException); unsigned short canDeleteData(in unsigned long offset, in unsigned long count) raises(dom::DOMException); }; interface DocumentEditVAL : NodeEditVAL { attribute boolean continuousValidityChecking; // raises(dom::DOMException, // ExceptionVAL, // dom::DOMException) on setting readonly attribute DOMConfiguration domConfig; NameList getDefinedElements(in DOMString namespaceURI); unsigned short validateDocument(); }; }; #endif // _VALIDATION_IDL_