This appendix contains the complete OMG IDL [OMGIDL] for the Level 3 Document Object Model Content Model and Load and Save definitions.
The IDL files are also available as: http://www.w3.org/TR/2000/WD-DOM-Level-3-Content-Models-and-Load-Save-20001101/idl.zip
// File: content-models.idl
#ifndef _CONTENT-MODELS_IDL_
#define _CONTENT-MODELS_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module content-models
{
typedef dom::DOMString DOMString;
typedef dom::int int;
typedef dom::Node Node;
typedef dom::nsElement nsElement;
typedef dom::namedCMNodeMap namedCMNodeMap;
typedef dom::Document Document;
typedef dom::DomImplementation DomImplementation;
typedef dom::Element Element;
typedef dom::Text Text;
typedef dom::DocumentType DocumentType;
interface DOMLocator;
interface CMObject {
};
interface CMExternalObject {
};
interface CMNode {
};
interface CMNodeList {
};
interface NamedCMNodeMap {
};
interface CMDataType {
};
interface CMType {
};
interface ElementDeclaration {
readonly attribute DOMString elementName;
attribute DOMString contentType;
attribute NamedCMNodeMap attributes;
};
interface CMElement {
attribute DOMString listOperator;
attribute CMDataType elementType;
attribute int multiplicity;
attribute int lowValue;
attribute int highValue;
attribute NamedCMNodeMap subModels;
attribute CMNodeList definingElement;
};
interface AttributeDeclaration {
readonly attribute DOMString attrName;
attribute CMDataType attrType;
attribute DOMString defaultValue;
attribute DOMString enumAttr;
attribute CMNodeList ownerElement;
};
interface EntityDeclaration {
};
interface ErrorHandler {
void warning(in DOMLocator where,
in DOMString how,
in DOMString why)
raises(dom::DOMException2);
void fatalError(in DOMLocator where,
in DOMString how,
in DOMString why)
raises(dom::DOMException2);
void error(in DOMLocator where,
in DOMString how,
in DOMString why)
raises(dom::DOMException2);
};
interface DOMLocator {
int getColumnNumber();
int getLineNumber();
DOMString getPublicID();
DOMString getSystemID();
Node getNode();
};
interface CMObject {
readonly attribute boolean isNamespaceAware;
nsElement getCMNamespace();
namedCMNodeMap getCMElements();
boolean removeCMNode(in CMNode node);
boolean insertbeforeCMNode(in CMNode newnode,
in CMNode parentnode);
};
interface CMNode {
CMType getCMNodeType();
};
interface ElementDeclaration {
int getContentType();
CMElement getCMElement();
namedCMNodeMap getCMAttributes();
namedCMNodeMap getCMElementsChildren();
};
interface CMElement {
CMElement setCMElementCardinality(in CMNode node,
in int high,
in int low);
CMElement getCMElementCardinality(in CMNode node,
out int high,
out int low);
};
interface DocumentCM : Document {
boolean isValid();
int numCMs();
CMObject getInternalCM();
CMExternalObject getCMs();
CMObject getActiveCM();
void addCM(in CMObject cm);
void removeCM(in CMObject cm);
boolean activateCM(in CMObject cm);
void setErrorHandler(in ErrorHandler handler);
};
interface DomImplementationCM : DomImplementation {
boolean validate();
CMObject createCM();
CMExternalObject createExternalCM();
CMObject cloneCM(in CMObject cm);
CMExternalObject cloneExternalCM(in CMExternalObject cm);
};
interface NodeCM : Node {
boolean canInsertBefore(in Node newChild,
in Node refChild)
raises(dom::DOMException);
boolean canRemoveChild(in Node oldChild)
raises(dom::DOMException);
boolean canReplaceChild(in Node newChild,
in Node oldChild)
raises(dom::DOMException);
boolean canAppendChild(in Node newChild)
raises(dom::DOMException);
};
interface ElementCM : Element {
boolean isValid();
int contentType();
boolean canSetAttribute(in DOMString attrname,
in DOMString attrval);
boolean canSetAttributeNode(in Node node);
boolean canSetAttributeNodeNS(in Node node,
in DOMString namespaceURI,
in DOMString localName);
boolean canSetAttributeNS(in DOMString attrname,
in DOMString attrval,
in DOMString namespaceURI,
in DOMString localName);
};
interface CharacterDataCM : Text {
boolean isWhitespaceOnly();
boolean canSetData(in unsigned long offset,
in DOMString arg)
raises(dom::DOMException);
boolean canAppendData(in DOMString arg)
raises(dom::DOMException);
boolean canReplaceData(in unsigned long offset,
in unsigned long count,
in DOMString arg)
raises(dom::DOMException);
boolean canInsertData(in unsigned long offset,
in DOMString arg)
raises(dom::DOMException);
boolean canDeleteData(in unsigned long offset,
in DOMString arg)
raises(dom::DOMException);
};
interface DocumentTypeCM : DocumentType {
boolean isElementDefined(in DOMString elemTypeName);
boolean isElementDefinedNS(in DOMString elemTypeName,
in DOMString namespaceURI,
in DOMString localName);
boolean isAttributeDefined(in DOMString elemTypeName,
in DOMString attrName);
boolean isAttributeDefinedNS(in DOMString elemTypeName,
in DOMString attrName,
in DOMString namespaceURI,
in DOMString localName);
boolean isEntityDefined(in DOMString entName);
};
};
#endif // _CONTENT-MODELS_IDL_
// File: load-save.idl
#ifndef _LOAD-SAVE_IDL_
#define _LOAD-SAVE_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module load-save
{
typedef dom::DOMErrorHandler DOMErrorHandler;
typedef dom::DOMString DOMString;
typedef dom::Document Document;
typedef dom::DOMInputStream DOMInputStream;
typedef dom::DOMReader DOMReader;
typedef dom::DOMString DOMString ;
typedef dom::Element Element;
typedef dom::DOMOutputStream DOMOutputStream;
typedef dom::Node Node;
typedef dom::TreeWalker TreeWalker;
interface DOMBuilder;
interface DOMWriter;
interface DOMEntityResolver;
interface DOMBuilderFilter;
interface DOMInputSource;
interface DOMFormatter;
interface DOMImplementationLS {
DOMBuilder createDOMBuilder();
DOMWriter createDOMWriter();
};
interface DOMBuilder {
attribute DOMEntityResolver entityResolver;
attribute DOMErrorHandler errorHandler;
attribute DOMBuilderFilter filter;
void setFeature(in DOMString name,
in boolean state)
raises(dom::DOMException);
boolean supportsFeature(in DOMString name);
boolean canSetFeature(in DOMString name,
in boolean state);
boolean getFeature(in DOMString name)
raises(dom::DOMException);
Document parseURI(in DOMString uri)
raises(dom::DOMException,
dom::DOMSystemException);
Document parseDOMInputSource(in DOMInputSource is)
raises(dom::DOMException,
dom::DOMSystemException);
};
interface DOMInputSource {
attribute DOMInputStream byteStream;
attribute DOMReader characterStream;
attribute DOMString encoding;
attribute DOMString publicId;
attribute DOMString systemId;
};
interface DOMEntityResolver {
DOMInputSource resolveEntity(in DOMString publicId,
in DOMString systemId )
raises(dom::DOMSystemException);
};
interface DOMBuilderFilter {
boolean endElement(in Element element);
};
interface DOMWriter {
attribute DOMFormatter formatter;
void writeNode(in DOMOutputStream destination,
in Node node)
raises(dom::DOMSystemException);
void writeTreeWalker(in DOMOutputStream destination,
in TreeWalker tree)
raises(dom::DOMSystemException);
void writeString(in DOMOutputStream destination,
in DOMString aString)
raises(dom::DOMSystemException);
};
interface DOMFormatter {
attribute DOMString encoding;
readonly attribute DOMString lastEncoding;
attribute DOMString substituteChars;
attribute unsigned short format;
void formatNode(in Node rootNode,
in DOMOutputStream destination)
raises(dom::DOMSystemException);
void formatTreeWalker(in TreeWalker tree,
in DOMOutputStream destination)
raises(dom::DOMSystemException);
};
};
#endif // _LOAD-SAVE_IDL_