This appendix contains the complete OMG IDL [OMG IDL] for the Level 3 Document Object Model Abstract Schemas and Load and Save definitions.
The IDL files are also available as: http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226/idl.zip
// File: ls.idl
#ifndef _LS_IDL_
#define _LS_IDL_
#include "dom.idl"
#include "events.idl"
#include "traversal.idl"
#pragma prefix "dom.w3c.org"
module ls
{
typedef Object DOMInputStream;
typedef Object DOMOutputStream;
typedef Object DOMReader;
typedef dom::DOMString DOMString;
typedef dom::DOMConfiguration DOMConfiguration;
typedef dom::Node Node;
typedef dom::Document Document;
typedef dom::Element Element;
interface DOMBuilder;
interface DOMWriter;
interface DOMInputSource;
interface DOMBuilderFilter;
interface DOMWriterFilter;
interface DOMImplementationLS {
// DOMIMplementationLSMode
const unsigned short MODE_SYNCHRONOUS = 1;
const unsigned short MODE_ASYNCHRONOUS = 2;
DOMBuilder createDOMBuilder(in unsigned short mode,
in DOMString schemaType)
raises(dom::DOMException);
DOMWriter createDOMWriter();
DOMInputSource createDOMInputSource();
};
interface DOMBuilder {
readonly attribute DOMConfiguration config;
attribute DOMBuilderFilter filter;
readonly attribute boolean async;
readonly attribute boolean busy;
Document parse(in DOMInputSource is)
raises(dom::DOMException);
Document parseURI(in DOMString uri)
raises(dom::DOMException);
// ACTION_TYPES
const unsigned short ACTION_APPEND_AS_CHILDREN = 1;
const unsigned short ACTION_REPLACE_CHILDREN = 2;
const unsigned short ACTION_INSERT_BEFORE = 3;
const unsigned short ACTION_INSERT_AFTER = 4;
const unsigned short ACTION_REPLACE = 5;
Node parseWithContext(in DOMInputSource is,
in Node cnode,
in unsigned short action)
raises(dom::DOMException);
void abort();
};
interface DOMInputSource {
attribute DOMInputStream byteStream;
// The attribute characterStream is not available in ECMAScript
attribute DOMReader characterStream;
attribute DOMString stringData;
attribute DOMString encoding;
attribute DOMString publicId;
attribute DOMString systemId;
attribute DOMString baseURI;
};
interface DOMEntityResolver {
DOMInputSource resolveEntity(in DOMString publicId,
in DOMString systemId,
in DOMString baseURI);
};
interface DOMBuilderFilter {
// Constants returned by startElement and acceptNode
const short FILTER_ACCEPT = 1;
const short FILTER_REJECT = 2;
const short FILTER_SKIP = 3;
const short FILTER_INTERRUPT = 4;
unsigned short startElement(in Element elt);
unsigned short acceptNode(in Node enode);
readonly attribute unsigned long whatToShow;
};
interface DOMWriter {
readonly attribute DOMConfiguration config;
attribute DOMString encoding;
attribute DOMString newLine;
attribute DOMWriterFilter filter;
boolean writeNode(in DOMOutputStream destination,
in Node wnode);
DOMString writeToString(in Node wnode)
raises(dom::DOMException);
};
interface DocumentLS {
attribute boolean async;
// raises(dom::DOMException) on setting
void abort();
boolean load(in DOMString uri);
boolean loadXML(in DOMString source);
DOMString saveXML(in Node snode)
raises(dom::DOMException);
};
interface ElementLS {
attribute DOMString markupContent;
};
interface LSProgressEvent : events::Event {
readonly attribute DOMInputSource inputSource;
readonly attribute unsigned long position;
readonly attribute unsigned long totalSize;
};
interface LSLoadEvent : events::Event {
readonly attribute Document newDocument;
readonly attribute DOMInputSource inputSource;
};
interface DOMWriterFilter : traversal::NodeFilter {
readonly attribute unsigned long whatToShow;
};
};
#endif // _LS_IDL_