/* * This file alters the W3C DOM Level 1 Core specification to allow mark associations (Alternative 4). * Modifications are tagged by comments starting with the string "Sixml" * * This file: http://dom.sixml.org/a4/dom-1.idl * * Modified by: Sudarshan Murthy. smurthy period cs period pdx period edu. * Modified on: July 11, 2007 * For more information on Sixml DOM, visit http://dom.sixml.org. * * Modifications (c) Sudarshan Murthy. All rights reserved. * Permission to use modifications for non-commercial purpose. Use at your own risk. No warranties expressed or implied. */ #ifndef _DOM_IDL_ #define _DOM_IDL_ #pragma prefix "w3c.org" module dom { valuetype DOMString sequence; interface DocumentType; interface Document; interface NodeList; interface NamedNodeMap; interface Element; //Sixml Sudarshan Murthy August 07, 2007 //Introduced to support mark associations interface Mark; interface MarkAssociation; 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; //Sixml Sudarshan Murthy August 07, 2007 //Introduced to support mark associations const unsigned short INSUFFICIENT_INFO_ERR = 18; 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); //Sixml Sudarshan Murthy August 07, 2007 //Introduced to support mark associations readonly attribute NodeList markAssociations; boolean hasMarkAssociations(); boolean isValueFromMarks(); MarkAssociation insertMarkAssociationBefore(in Node newMarkAssociation, in Node refMarkAssociation) raises(DOMException); MarkAssociation replaceMarkAssociation(in Node newMarkAssociation, in Node oldMarkAssociation) raises(DOMException); MarkAssociation removeMarkAssociation(in Node oldMarkAssociation) raises(DOMException); MarkAssociation appendMarkAssociation(in Node newMarkAssociation) raises(DOMException); NodeList getMarkAssociationsByName(in DOMString name); }; 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; // raises(DOMException) on setting }; 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); //Sixml Sudarshan Murthy August 07, 2007 //Introduced to support mark associations Mark getMark(in DOMString markId, in DOMString descriptor) raises(DOMException); MarkAssociation createMarkAssociation(in DOMString name, in DOMString markId, in DOMString descriptor) raises(DOMException); }; interface Mark { readonly attribute DOMString markId; readonly attribute DOMString descriptor; DOMString getValue(in DOMString valueExpression) raises(DOMException); }; interface MarkFactory { readonly attribute DOMString markType; Mark createMark(in DOMString markId, in DOMString descriptor) raises(DOMException); }; interface MarkRepository { readonly attribute DOMString name; Mark getMark(in DOMString markId, in DOMString descriptor) raises(DOMException); }; interface MarkAssociation : Element { readonly attribute DOMString markID; readonly attribute DOMString descriptor; attribute boolean isValueSource; attribute DOMString valueExpression; Element getDescriptorElement() raises(DOMException); Element getContextElement() raises(DOMException); }; }; #endif // _DOM_IDL_