/* * This file adds a module to W3C DOM Level 2 to allow mark associations (Alternative 2). * * This file: http://dom.sixml.org/a2/sixml-2.idl * * Created by: Sudarshan Murthy. smurthy period cs period pdx period edu. * Created on: July 11, 2007 * For more information on Sixml DOM, visit http://dom.sixml.org. * * (c) Sudarshan Murthy. All rights reserved. * Permission to use for non-commercial purpose. Use at your own risk. No warranties expressed or implied. */ #ifndef _SIXML_IDL_ #define _SIXML_IDL_ #include "dom.idl" #pragma prefix "dom.sixml.org" module sixml { typedef dom::DOMString DOMString; typedef dom::Node Node; typedef dom::NodeList NodeList; typedef dom::Element Element; typedef dom::Document Document; // ExceptionCode const unsigned short INSUFFICIENT_INFO_ERR = 18; interface MarkAssociation; interface SixmlNode : Node { readonly attribute NodeList markAssociations; boolean hasMarkAssociations(); MarkAssociation insertMarkAssociationBefore(in Node newMarkAssociation, in Node refMarkAssociation) raises(dom::DOMException); MarkAssociation replaceMarkAssociation(in Node newMarkAssociation, in Node oldMarkAssociation) raises(dom::DOMException); MarkAssociation removeMarkAssociation(in Node oldMarkAssociation) raises(dom::DOMException); MarkAssociation appendMarkAssociation(in Node newMarkAssociation) raises(dom::DOMException); NodeList getMarkAssociationsByName(in DOMString name); //Introduced in Level 2 NodeList getMarkAssociationByNameNS(in DOMString namespaceURI, in DOMString localName) raises(dom::DOMException); }; interface SixmlValueNode : SixmlNode { boolean isValueFromMarks(); }; interface SixmlElement : SixmlNode, dom::Element { }; interface SixmlAttr : SixmlValueNode, dom::Attr { }; interface SixmlText : SixmlValueNode, dom::Text { }; interface SixmlCDATASection : SixmlValueNode, dom::CDATASection { }; interface SixmlComment : SixmlValueNode, dom::Comment { }; interface SixmlProcessingInstruction : SixmlValueNode, dom::ProcessingInstruction { }; interface Mark { readonly attribute DOMString markId; readonly attribute DOMString descriptor; DOMString getValue(in DOMString valueExpression) raises(dom::DOMException); }; interface MarkFactory { readonly attribute DOMString markType; Mark createMark(in DOMString markId, in DOMString descriptor) raises(dom::DOMException); }; interface MarkRepository { readonly attribute DOMString name; Mark getMark(in DOMString markId, in DOMString descriptor) raises(dom::DOMException); }; interface MarkAssociation : Element { readonly attribute DOMString markID; readonly attribute DOMString descriptor; attribute boolean isValueSource; attribute DOMString valueExpression; Element getDescriptorElement() raises(dom::DOMException); Element getContextElement() raises(dom::DOMException); }; interface SixmlDocument : Document { Mark getMark(in DOMString markId, in DOMString descriptor) raises(dom::DOMException); MarkAssociation createMarkAssociation(in DOMString name, in DOMString markId, in DOMString descriptor) raises(dom::DOMException); //Intrroduced in Level 2 MarkAssociation createMarkAssociationNS(in DOMString namespaceURI, in DOMString qualifiedName, in DOMString markId, in DOMString descriptor) raises(dom::DOMException); }; }; #endif // _SIXML_IDL_