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-20030619/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 Object DOMWriter; typedef dom::DOMString DOMString; typedef dom::DOMConfiguration DOMConfiguration; typedef dom::Node Node; typedef dom::Document Document; typedef dom::Element Element; interface DOMParser; interface DOMSerializer; interface DOMInput; interface DOMParserFilter; interface DOMSerializerFilter; interface DOMOutput; interface DOMImplementationLS { // DOMImplementationLSMode const unsigned short MODE_SYNCHRONOUS = 1; const unsigned short MODE_ASYNCHRONOUS = 2; DOMParser createDOMParser(in unsigned short mode, in DOMString schemaType) raises(dom::DOMException); DOMSerializer createDOMSerializer(); DOMInput createDOMInput(); }; interface DOMParser { readonly attribute DOMConfiguration config; attribute DOMParserFilter filter; readonly attribute boolean async; readonly attribute boolean busy; Document parse(in DOMInput 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 DOMInput input, in Node context, in unsigned short action) raises(dom::DOMException); void abort(); }; interface DOMInput { // Depending on the language binding in use, // this attribute may not be available. attribute DOMReader characterStream; attribute DOMInputStream byteStream; attribute DOMString stringData; attribute DOMString systemId; attribute DOMString encoding; attribute DOMString publicId; attribute DOMString baseURI; attribute boolean certified; }; interface DOMResourceResolver { DOMInput resolveResource(in DOMString publicId, in DOMString systemId, in DOMString baseURI); }; interface DOMParserFilter { // 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 element); unsigned short acceptNode(in Node node); readonly attribute unsigned long whatToShow; }; interface DOMSerializer { readonly attribute DOMConfiguration config; attribute DOMString newLine; attribute DOMSerializerFilter filter; boolean write(in Node node, in DOMOutput destination); boolean writeURI(in Node node, in DOMString URI); DOMString writeToString(in Node node) raises(dom::DOMException); }; interface DOMOutput { // Depending on the language binding in use, // this attribute may not be available. attribute DOMWriter characterStream; attribute DOMOutputStream byteStream; attribute DOMString systemId; attribute DOMString encoding; }; 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 node) raises(dom::DOMException); }; interface ElementLS { attribute DOMString markupContent; }; interface LSProgressEvent : events::Event { readonly attribute DOMInput input; readonly attribute unsigned long position; readonly attribute unsigned long totalSize; }; interface LSLoadEvent : events::Event { readonly attribute Document newDocument; readonly attribute DOMInput input; }; interface DOMSerializerFilter : traversal::NodeFilter { readonly attribute unsigned long whatToShow; }; }; #endif // _LS_IDL_