REC-DOM-Level-1-19981001


Nota: Este documento es parte de una traducci�n al castellano de la Recomendaci�n del W3C "Document Object Model (DOM) Level 1" (m�s informaci�n). Puede consultar la versi�n original del mismo. Para cualquier comentario o correcci�n acerca de la traducci�n p�ngase en contacto con el traductor en jrpozo arroba conclase punto net. Gracias por su colaboraci�n.
V�ase el Aviso de copyright de la traducci�n.

Ap�ndice C: Definiciones IDL

Este ap�ndice contiene todas las definiciones IDL OMG para el Nivel 1 del Modelo de Objetos del Documento. Las definiciones se dividen en N�cleo y HTML.

Los ficheros IDL tambi�n est�n disponibles en: http://www.w3.org/DOM/updates/REC-DOM-Level-1-idl-19990107.zip

C.1: Modelo de Objetos del Documento, N�cleo del Nivel 1

Esta secci�n contiene las definiciones IDL OMG de las interfaces de la especificaci�n del N�cleo del Modelo de Objetos del Documento, incluyendo las interfaces extendidas (XML).

/*
 * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of
 * Technology, Institut National de Recherche en Informatique et en
 * Automatique, Keio University).
 * All Rights Reserved. http://www.w3.org/Consortium/Legal/
 */

// File: dom.idl
#ifndef _DOM_IDL_
#define _DOM_IDL_

#pragma prefix "w3c.org"
module dom
{
  typedef sequence<unsigned short> DOMString;

  interface NodeList;
  interface NamedNodeMap;
  interface Document;

  exception DOMException {
    unsigned short   code;
  };

  // ExceptionCode
  const unsigned short      INDEX_SIZE_ERR     = 1;
  const unsigned short      DOMSTRING_SIZE_ERR = 2;
  const unsigned short      HIERARCHY_REQUEST_ERR = 3;
  const unsigned short      WRONG_DOCUMENT_ERR = 4;
  const unsigned short      INVALID_CHARACTER_ERR = 5;
  const unsigned short      NO_DATA_ALLOWED_ERR = 6;
  const unsigned short      NO_MODIFICATION_ALLOWED_ERR = 7;
  const unsigned short      NOT_FOUND_ERR      = 8;
  const unsigned short      NOT_SUPPORTED_ERR  = 9;
  const unsigned short      INUSE_ATTRIBUTE_ERR = 10;


  interface DOMImplementation {
    boolean                   hasFeature(in DOMString feature, 
                                         in DOMString version);
  };

  interface Node {
    // NodeType
    const unsigned short      ELEMENT_NODE       = 1;
    const unsigned short      ATTRIBUTE_NODE     = 2;
    const unsigned short      TEXT_NODE          = 3;
    const unsigned short      CDATA_SECTION_NODE = 4;
    const unsigned short      ENTITY_REFERENCE_NODE = 5;
    const unsigned short      ENTITY_NODE        = 6;
    const unsigned short      PROCESSING_INSTRUCTION_NODE = 7;
    const unsigned short      COMMENT_NODE       = 8;
    const unsigned short      DOCUMENT_NODE      = 9;
    const unsigned short      DOCUMENT_TYPE_NODE = 10;
    const unsigned short      DOCUMENT_FRAGMENT_NODE = 11;
    const unsigned short      NOTATION_NODE      = 12;

    readonly attribute  DOMString            nodeName;
             attribute  DOMString            nodeValue;
                                         // raises(DOMException) on setting
                                         // raises(DOMException) on retrieval
    readonly attribute  unsigned short       nodeType;
    readonly attribute  Node                 parentNode;
    readonly attribute  NodeList             childNodes;
    readonly attribute  Node                 firstChild;
    readonly attribute  Node                 lastChild;
    readonly attribute  Node                 previousSibling;
    readonly attribute  Node                 nextSibling;
    readonly attribute  NamedNodeMap         attributes;
    readonly attribute  Document             ownerDocument;
    Node                      insertBefore(in Node newChild, 
                                           in Node refChild)
                                           raises(DOMException);
    Node                      replaceChild(in Node newChild, 
                                           in Node oldChild)
                                           raises(DOMException);
    Node                      removeChild(in Node oldChild)
                                          raises(DOMException);
    Node                      appendChild(in Node newChild)
                                          raises(DOMException);
    boolean                   hasChildNodes();
    Node                      cloneNode(in boolean deep);
  };

  interface NodeList {
    Node                      item(in unsigned long index);
    readonly attribute  unsigned long        length;
  };

  interface NamedNodeMap {
    Node                      getNamedItem(in DOMString name);
    Node                      setNamedItem(in Node arg)
                                           raises(DOMException);
    Node                      removeNamedItem(in DOMString name)
                                              raises(DOMException);
    Node                      item(in unsigned long index);
    readonly attribute  unsigned long        length;
  };

  interface CharacterData : Node {
             attribute  DOMString            data;
                                   // raises(DOMException) on setting
                                   // raises(DOMException) on retrieval
    readonly attribute  unsigned long        length;
    DOMString                 substringData(in unsigned long offset, 
                                            in unsigned long count)
                                            raises(DOMException);
    void                      appendData(in DOMString arg)
                                         raises(DOMException);
    void                      insertData(in unsigned long offset, 
                                         in DOMString arg)
                                         raises(DOMException);
    void                      deleteData(in unsigned long offset, 
                                         in unsigned long count)
                                         raises(DOMException);
    void                      replaceData(in unsigned long offset, 
                                          in unsigned long count, 
                                          in DOMString arg)
                                          raises(DOMException);
  };

  interface Attr : Node {
    readonly attribute  DOMString            name;
    readonly attribute  boolean              specified;
             attribute  DOMString            value;
  };

  interface Element : Node {
    readonly attribute  DOMString            tagName;
    DOMString                 getAttribute(in DOMString name);
    void                      setAttribute(in DOMString name, 
                                           in DOMString value)
                                           raises(DOMException);
    void                      removeAttribute(in DOMString name)
                                              raises(DOMException);
    Attr                      getAttributeNode(in DOMString name);
    Attr                      setAttributeNode(in Attr newAttr)
                                               raises(DOMException);
    Attr                      removeAttributeNode(in Attr oldAttr)
                                                  raises(DOMException);
    NodeList                  getElementsByTagName(in DOMString name);
    void                      normalize();
  };

  interface Text : CharacterData {
    Text                      splitText(in unsigned long offset)
                                        raises(DOMException);
  };

  interface Comment : CharacterData {
  };

  interface CDATASection : Text {
  };

  interface DocumentType : Node {
    readonly attribute  DOMString            name;
    readonly attribute  NamedNodeMap         entities;
    readonly attribute  NamedNodeMap         notations;
  };

  interface Notation : Node {
    readonly attribute  DOMString            publicId;
    readonly attribute  DOMString            systemId;
  };

  interface Entity : Node {
    readonly attribute  DOMString            publicId;
    readonly attribute  DOMString            systemId;
    readonly attribute  DOMString            notationName;
  };

  interface EntityReference : Node {
  };

  interface ProcessingInstruction : Node {
    readonly attribute  DOMString            target;
             attribute  DOMString            data;
                                        // raises(DOMException) on setting
  };

  interface DocumentFragment : Node {
  };

  interface Document : Node {
    readonly attribute  DocumentType         doctype;
    readonly attribute  DOMImplementation    implementation;
    readonly attribute  Element              documentElement;
    Element                   createElement(in DOMString tagName)
                                            raises(DOMException);
    DocumentFragment          createDocumentFragment();
    Text                      createTextNode(in DOMString data);
    Comment                   createComment(in DOMString data);
    CDATASection              createCDATASection(in DOMString data)
                                                 raises(DOMException);
    ProcessingInstruction     createProcessingInstruction(in DOMString target, 
                                                          in DOMString data)
                                                          raises(DOMException);
    Attr                      createAttribute(in DOMString name)
                                              raises(DOMException);
    EntityReference           createEntityReference(in DOMString name)
                                                    raises(DOMException);
    NodeList                  getElementsByTagName(in DOMString tagname);
  };

};

#endif // _DOM_IDL_

C.2: Modelo de Objetos del Documento, Nivel 1 HTML

/*
 * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of
 * Technology, Institut National de Recherche en Informatique et en
 * Automatique, Keio University).
 * All Rights Reserved. http://www.w3.org/Consortium/Legal/
 */

// File: html.idl
#ifndef _HTML_IDL_
#define _HTML_IDL_

#include "dom.idl"

#pragma prefix "dom.w3c.org"
module html
{
  typedef dom::DOMString DOMString;
  typedef dom::Node Node;
  typedef dom::Document Document;
  typedef dom::Element Element;
  typedef dom::NodeList NodeList;

  interface HTMLElement;
  interface HTMLFormElement;
  interface HTMLTableCaptionElement;
  interface HTMLTableSectionElement;

  interface HTMLCollection {
    readonly attribute  unsigned long        length;
    Node                      item(in unsigned long index);
    Node                      namedItem(in DOMString name);
  };

  interface HTMLDocument : Document {
             attribute  DOMString            title;
    readonly attribute  DOMString            referrer;
    readonly attribute  DOMString            domain;
    readonly attribute  DOMString            URL;
             attribute  HTMLElement          body;
    readonly attribute  HTMLCollection       images;
    readonly attribute  HTMLCollection       applets;
    readonly attribute  HTMLCollection       links;
    readonly attribute  HTMLCollection       forms;
    readonly attribute  HTMLCollection       anchors;
             attribute  DOMString            cookie;
    void                      open();
    void                      close();
    void                      write(in DOMString text);
    void                      writeln(in DOMString text);
    Element                   getElementById(in DOMString elementId);
    NodeList                  getElementsByName(in DOMString elementName);
  };

  interface HTMLElement : Element {
             attribute  DOMString            id;
             attribute  DOMString            title;
             attribute  DOMString            lang;
             attribute  DOMString            dir;
             attribute  DOMString            className;
  };

  interface HTMLHtmlElement : HTMLElement {
             attribute  DOMString            version;
  };

  interface HTMLHeadElement : HTMLElement {
             attribute  DOMString            profile;
  };

  interface HTMLLinkElement : HTMLElement {
             attribute  boolean              disabled;
             attribute  DOMString            charset;
             attribute  DOMString            href;
             attribute  DOMString            hreflang;
             attribute  DOMString            media;
             attribute  DOMString            rel;
             attribute  DOMString            rev;
             attribute  DOMString            target;
             attribute  DOMString            type;
  };

  interface HTMLTitleElement : HTMLElement {
             attribute  DOMString            text;
  };

  interface HTMLMetaElement : HTMLElement {
             attribute  DOMString            content;
             attribute  DOMString            httpEquiv;
             attribute  DOMString            name;
             attribute  DOMString            scheme;
  };

  interface HTMLBaseElement : HTMLElement {
             attribute  DOMString            href;
             attribute  DOMString            target;
  };

  interface HTMLIsIndexElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            prompt;
  };

  interface HTMLStyleElement : HTMLElement {
             attribute  boolean              disabled;
             attribute  DOMString            media;
             attribute  DOMString            type;
  };

  interface HTMLBodyElement : HTMLElement {
             attribute  DOMString            aLink;
             attribute  DOMString            background;
             attribute  DOMString            bgColor;
             attribute  DOMString            link;
             attribute  DOMString            text;
             attribute  DOMString            vLink;
  };

  interface HTMLFormElement : HTMLElement {
    readonly attribute  HTMLCollection       elements;
    readonly attribute  long                 length;
             attribute  DOMString            name;
             attribute  DOMString            acceptCharset;
             attribute  DOMString            action;
             attribute  DOMString            enctype;
             attribute  DOMString            method;
             attribute  DOMString            target;
    void                      submit();
    void                      reset();
  };

  interface HTMLSelectElement : HTMLElement {
    readonly attribute  DOMString            type;
             attribute  long                 selectedIndex;
             attribute  DOMString            value;
    readonly attribute  long                 length;
    readonly attribute  HTMLFormElement      form;
    readonly attribute  HTMLCollection       options;
             attribute  boolean              disabled;
             attribute  boolean              multiple;
             attribute  DOMString            name;
             attribute  long                 size;
             attribute  long                 tabIndex;
    void                      add(in HTMLElement element, 
                                  in HTMLElement before);
    void                      remove(in long index);
    void                      blur();
    void                      focus();
  };

  interface HTMLOptGroupElement : HTMLElement {
             attribute  boolean              disabled;
             attribute  DOMString            label;
  };

  interface HTMLOptionElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  boolean              defaultSelected;
    readonly attribute  DOMString            text;
             attribute  long                 index;
             attribute  boolean              disabled;
             attribute  DOMString            label;
    readonly attribute  boolean              selected;
             attribute  DOMString            value;
  };

  interface HTMLInputElement : HTMLElement {
             attribute  DOMString            defaultValue;
             attribute  boolean              defaultChecked;
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            accept;
             attribute  DOMString            accessKey;
             attribute  DOMString            align;
             attribute  DOMString            alt;
             attribute  boolean              checked;
             attribute  boolean              disabled;
             attribute  long                 maxLength;
             attribute  DOMString            name;
             attribute  boolean              readOnly;
             attribute  DOMString            size;
             attribute  DOMString            src;
             attribute  long                 tabIndex;
    readonly attribute  DOMString            type;
             attribute  DOMString            useMap;
             attribute  DOMString            value;
    void                      blur();
    void                      focus();
    void                      select();
    void                      click();
  };

  interface HTMLTextAreaElement : HTMLElement {
             attribute  DOMString            defaultValue;
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            accessKey;
             attribute  long                 cols;
             attribute  boolean              disabled;
             attribute  DOMString            name;
             attribute  boolean              readOnly;
             attribute  long                 rows;
             attribute  long                 tabIndex;
    readonly attribute  DOMString            type;
             attribute  DOMString            value;
    void                      blur();
    void                      focus();
    void                      select();
  };

  interface HTMLButtonElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            accessKey;
             attribute  boolean              disabled;
             attribute  DOMString            name;
             attribute  long                 tabIndex;
    readonly attribute  DOMString            type;
             attribute  DOMString            value;
  };

  interface HTMLLabelElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            accessKey;
             attribute  DOMString            htmlFor;
  };

  interface HTMLFieldSetElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
  };

  interface HTMLLegendElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            accessKey;
             attribute  DOMString            align;
  };

  interface HTMLUListElement : HTMLElement {
             attribute  boolean              compact;
             attribute  DOMString            type;
  };

  interface HTMLOListElement : HTMLElement {
             attribute  boolean              compact;
             attribute  long                 start;
             attribute  DOMString            type;
  };

  interface HTMLDListElement : HTMLElement {
             attribute  boolean              compact;
  };

  interface HTMLDirectoryElement : HTMLElement {
             attribute  boolean              compact;
  };

  interface HTMLMenuElement : HTMLElement {
             attribute  boolean              compact;
  };

  interface HTMLLIElement : HTMLElement {
             attribute  DOMString            type;
             attribute  long                 value;
  };

  interface HTMLBlockquoteElement : HTMLElement {
             attribute  DOMString            cite;
  };

  interface HTMLDivElement : HTMLElement {
             attribute  DOMString            align;
  };

  interface HTMLParagraphElement : HTMLElement {
             attribute  DOMString            align;
  };

  interface HTMLHeadingElement : HTMLElement {
             attribute  DOMString            align;
  };

  interface HTMLQuoteElement : HTMLElement {
             attribute  DOMString            cite;
  };

  interface HTMLPreElement : HTMLElement {
             attribute  long                 width;
  };

  interface HTMLBRElement : HTMLElement {
             attribute  DOMString            clear;
  };

  interface HTMLBaseFontElement : HTMLElement {
             attribute  DOMString            color;
             attribute  DOMString            face;
             attribute  DOMString            size;
  };

  interface HTMLFontElement : HTMLElement {
             attribute  DOMString            color;
             attribute  DOMString            face;
             attribute  DOMString            size;
  };

  interface HTMLHRElement : HTMLElement {
             attribute  DOMString            align;
             attribute  boolean              noShade;
             attribute  DOMString            size;
             attribute  DOMString            width;
  };

  interface HTMLModElement : HTMLElement {
             attribute  DOMString            cite;
             attribute  DOMString            dateTime;
  };

  interface HTMLAnchorElement : HTMLElement {
             attribute  DOMString            accessKey;
             attribute  DOMString            charset;
             attribute  DOMString            coords;
             attribute  DOMString            href;
             attribute  DOMString            hreflang;
             attribute  DOMString            name;
             attribute  DOMString            rel;
             attribute  DOMString            rev;
             attribute  DOMString            shape;
             attribute  long                 tabIndex;
             attribute  DOMString            target;
             attribute  DOMString            type;
    void                      blur();
    void                      focus();
  };

  interface HTMLImageElement : HTMLElement {
             attribute  DOMString            lowSrc;
             attribute  DOMString            name;
             attribute  DOMString            align;
             attribute  DOMString            alt;
             attribute  DOMString            border;
             attribute  DOMString            height;
             attribute  DOMString            hspace;
             attribute  boolean              isMap;
             attribute  DOMString            longDesc;
             attribute  DOMString            src;
             attribute  DOMString            useMap;
             attribute  DOMString            vspace;
             attribute  DOMString            width;
  };

  interface HTMLObjectElement : HTMLElement {
    readonly attribute  HTMLFormElement      form;
             attribute  DOMString            code;
             attribute  DOMString            align;
             attribute  DOMString            archive;
             attribute  DOMString            border;
             attribute  DOMString            codeBase;
             attribute  DOMString            codeType;
             attribute  DOMString            data;
             attribute  boolean              declare;
             attribute  DOMString            height;
             attribute  DOMString            hspace;
             attribute  DOMString            name;
             attribute  DOMString            standby;
             attribute  long                 tabIndex;
             attribute  DOMString            type;
             attribute  DOMString            useMap;
             attribute  DOMString            vspace;
             attribute  DOMString            width;
  };

  interface HTMLParamElement : HTMLElement {
             attribute  DOMString            name;
             attribute  DOMString            type;
             attribute  DOMString            value;
             attribute  DOMString            valueType;
  };

  interface HTMLAppletElement : HTMLElement {
             attribute  DOMString            align;
             attribute  DOMString            alt;
             attribute  DOMString            archive;
             attribute  DOMString            code;
             attribute  DOMString            codeBase;
             attribute  DOMString            height;
             attribute  DOMString            hspace;
             attribute  DOMString            name;
             attribute  DOMString            object;
             attribute  DOMString            vspace;
             attribute  DOMString            width;
  };

  interface HTMLMapElement : HTMLElement {
    readonly attribute  HTMLCollection       areas;
             attribute  DOMString            name;
  };

  interface HTMLAreaElement : HTMLElement {
             attribute  DOMString            accessKey;
             attribute  DOMString            alt;
             attribute  DOMString            coords;
             attribute  DOMString            href;
             attribute  boolean              noHref;
             attribute  DOMString            shape;
             attribute  long                 tabIndex;
             attribute  DOMString            target;
  };

  interface HTMLScriptElement : HTMLElement {
             attribute  DOMString            text;
             attribute  DOMString            htmlFor;
             attribute  DOMString            event;
             attribute  DOMString            charset;
             attribute  boolean              defer;
             attribute  DOMString            src;
             attribute  DOMString            type;
  };

  interface HTMLTableElement : HTMLElement {
             attribute  HTMLTableCaptionElement caption;
             attribute  HTMLTableSectionElement tHead;
             attribute  HTMLTableSectionElement tFoot;
    readonly attribute  HTMLCollection       rows;
    readonly attribute  HTMLCollection       tBodies;
             attribute  DOMString            align;
             attribute  DOMString            bgColor;
             attribute  DOMString            border;
             attribute  DOMString            cellPadding;
             attribute  DOMString            cellSpacing;
             attribute  DOMString            frame;
             attribute  DOMString            rules;
             attribute  DOMString            summary;
             attribute  DOMString            width;
    HTMLElement               createTHead();
    void                      deleteTHead();
    HTMLElement               createTFoot();
    void                      deleteTFoot();
    HTMLElement               createCaption();
    void                      deleteCaption();
    HTMLElement               insertRow(in long index);
    void                      deleteRow(in long index);
  };

  interface HTMLTableCaptionElement : HTMLElement {
             attribute  DOMString            align;
  };

  interface HTMLTableColElement : HTMLElement {
             attribute  DOMString            align;
             attribute  DOMString            ch;
             attribute  DOMString            chOff;
             attribute  long                 span;
             attribute  DOMString            vAlign;
             attribute  DOMString            width;
  };

  interface HTMLTableSectionElement : HTMLElement {
             attribute  DOMString            align;
             attribute  DOMString            ch;
             attribute  DOMString            chOff;
             attribute  DOMString            vAlign;
    readonly attribute  HTMLCollection       rows;
    HTMLElement               insertRow(in long index);
    void                      deleteRow(in long index);
  };

  interface HTMLTableRowElement : HTMLElement {
             attribute  long                 rowIndex;
             attribute  long                 sectionRowIndex;
             attribute  HTMLCollection       cells;
             attribute  DOMString            align;
             attribute  DOMString            bgColor;
             attribute  DOMString            ch;
             attribute  DOMString            chOff;
             attribute  DOMString            vAlign;
    HTMLElement               insertCell(in long index);
    void                      deleteCell(in long index);
  };

  interface HTMLTableCellElement : HTMLElement {
             attribute  long                 cellIndex;
             attribute  DOMString            abbr;
             attribute  DOMString            align;
             attribute  DOMString            axis;
             attribute  DOMString            bgColor;
             attribute  DOMString            ch;
             attribute  DOMString            chOff;
             attribute  long                 colSpan;
             attribute  DOMString            headers;
             attribute  DOMString            height;
             attribute  boolean              noWrap;
             attribute  long                 rowSpan;
             attribute  DOMString            scope;
             attribute  DOMString            vAlign;
             attribute  DOMString            width;
  };

  interface HTMLFrameSetElement : HTMLElement {
             attribute  DOMString            cols;
             attribute  DOMString            rows;
  };

  interface HTMLFrameElement : HTMLElement {
             attribute  DOMString            frameBorder;
             attribute  DOMString            longDesc;
             attribute  DOMString            marginHeight;
             attribute  DOMString            marginWidth;
             attribute  DOMString            name;
             attribute  boolean              noResize;
             attribute  DOMString            scrolling;
             attribute  DOMString            src;
  };

  interface HTMLIFrameElement : HTMLElement {
             attribute  DOMString            align;
             attribute  DOMString            frameBorder;
             attribute  DOMString            height;
             attribute  DOMString            longDesc;
             attribute  DOMString            marginHeight;
             attribute  DOMString            marginWidth;
             attribute  DOMString            name;
             attribute  DOMString            scrolling;
             attribute  DOMString            src;
             attribute  DOMString            width;
  };

};

#endif // _HTML_IDL_