26 January 2001

Appendix A: IDL Definitions

This appendix contains the complete OMG IDL [OMGIDL] for the Level 3 Document Object Model Core definitions.

The IDL files are also available as: http://www.w3.org/TR/2001/WD-DOM-Level-3-Core-20010126/idl.zip

dom.idl:

// File: dom.idl

#ifndef _DOM_IDL_
#define _DOM_IDL_

#pragma prefix "w3c.org"
module dom
{

  typedef   Object DOMKey;


  interface Node3 {
    readonly attribute DOMString        baseURI;

    typedef enum _DocumentOrder {
      DOCUMENT_ORDER_PRECEDING,
      DOCUMENT_ORDER_FOLLOWING,
      DOCUMENT_ORDER_SAME,
      DOCUMENT_ORDER_UNORDERED
    };
 DocumentOrder;
    DocumentOrder      compareDocumentOrder(in Node other)
                                        raises(DOMException);

    typedef enum _TreePosition {
      TREE_POSITION_PRECEDING,
      TREE_POSITION_FOLLOWING,
      TREE_POSITION_ANCESTOR,
      TREE_POSITION_DESCENDANT,
      TREE_POSITION_SAME,
      TREE_POSITION_UNORDERED
    };
 TreePosition;
    TreePosition       compareTreePosition(in Node other)
                                        raises(DOMException);
             attribute DOMString        textContent;
    boolean            isSameNode(in Node other);
    DOMString          lookupNamespacePrefix(in DOMString namespaceURI);
    DOMString          lookupNamespaceURI(in DOMString prefix);
    void               normalizeNS();
    readonly attribute DOMKey           key;
    boolean            equalsNode(in Node arg, 
                                  in boolean deep);
  };

  interface Entity3 : Entity {
             attribute DOMString        actualEncoding;
             attribute DOMString        encoding;
             attribute DOMString        version;
  };

  interface Document3 : Document {
             attribute DOMString        actualEncoding;
             attribute DOMString        encoding;
             attribute boolean          standalone;
             attribute boolean          strictErrorChecking;
             attribute DOMString        version;
    Node               adoptNode(in Node source)
                                        raises(DOMException);
  };

  interface Text3 : Text {
    readonly attribute boolean          isWhitespaceInElementContent;
  };
};

#endif // _DOM_IDL_