Annotation of DOM/dom-core.idl, revision 1.1.1.1
1.1 daniel 1: //
2: // Document Object Model (Core) Level 1 ISL
3: // As of Tue Jun 9 16:52:45 EDT 1998
4: //
5:
6: //
7: // Modifs:
8: // replaced interface by raise for exceptions;
9: // "interface NotMyChildException {}" => "raises NotMyChildException".
10: //
11: // replaced "wstring" (Unicode) for simple "string".
12: //
13: // replaced "int" by "long".
14: //
15: // Reordered interface list and added forward references.
16: //
17: // Added a definition for NotMyChildException, NoSuchNodeException,
18: // NoSuchAttributeException.
19: //
20: // Renamed Node:PI to Node:PIS due to clash with PI interface.
21: //
22:
23: interface Document;
24: interface Node;
25: interface NodeIterator;
26: interface Element;
27: interface Text;
28: interface Comment;
29: interface PI;
30: interface Attribute;
31: interface AttributeList;
32: interface TreeIterator;
33:
34: interface DOM {
35: Document createDocument(in string type); // wstring
36: boolean hasFeature(in string feature); // wstring
37: };
38:
39: interface DocumentContext {
40: attribute Document document;
41: };
42:
43: exception NotMyChildException {
44: };
45: exception NoSuchNodeException {
46: };
47: exception NoSuchAttributeException {
48: };
49:
50: interface Node {
51: // NodeType
52: const long DOCUMENT = 1;
53: const long ELEMENT = 2;
54: const long ATTRIBUTE = 3;
55: const long PIS = 4;
56: const long COMMENT = 5;
57: const long TEXT = 6;
58:
59: long getNodeType();
60: Node getParentNode();
61: NodeIterator getChildNodes();
62: boolean hasChildNodes();
63: Node getFirstChild();
64: Node getPreviousSibling();
65: Node getNextSibling();
66: Node insertBefore(in Node newChild, in Node refChild)
67: raises (NotMyChildException);
68: Node replaceChild(in Node newChild, in Node oldChild)
69: raises (NotMyChildException);
70: Node removeChild(in Node oldChild)
71: raises (NotMyChildException);
72: };
73:
74: interface DocumentFragment : Node {
75: attribute Document masterDoc;
76: };
77:
78: interface Document : DocumentFragment {
79: attribute Node documentType;
80: attribute Element documentElement;
81: attribute DocumentContext contextInfo;
82: DocumentContext createDocumentContext();
83: Element createElement(in string tagName, // wstring
84: in AttributeList attributes);
85: Text createTextNode(in string data); // wstring
86: Comment createComment(in string data); // wstring
87: PI createPI(in string name, // wstring
88: in string data); // wstring
89: Attribute createAttribute(in string name, // wstring
90: in Node value);
91: AttributeList createAttributeList();
92: TreeIterator createTreeIterator(in Node node);
93: NodeIterator getElementsByTagName(in string tagname); // wstring
94: };
95:
96: interface NodeIterator {
97: unsigned long getLength();
98: unsigned long getCurrentPos();
99: boolean atFirst();
100: boolean atLast();
101: Node toNextNode();
102: Node toPrevNode();
103: Node toFirstNode();
104: Node toLastNode();
105: Node moveTo(in long n);
106: };
107:
108:
109: interface TreeIterator : NodeIterator {
110: unsigned long numChildren();
111: unsigned long numPreviousSiblings();
112: unsigned long numNextSiblings();
113: Node toParent();
114: Node toPreviousSibling();
115: Node toNextSibling();
116: Node toFirstChild();
117: Node toLastChild();
118: Node toNthChild(in long n) raises (NoSuchNodeException);
119: };
120:
121: interface Attribute {
122: string getName(); // wstring
123: string getValue(); // wstring
124: attribute boolean specified;
125: string toString(); // wstring
126: };
127:
128: interface AttributeList {
129: Attribute getAttribute(in string attrName); // wstring
130: Attribute setAttribute(in Attribute attr);
131: Attribute remove(in string attrName) // wstring
132: raises (NoSuchAttributeException);
133: Attribute item(in unsigned long index)
134: raises (NoSuchAttributeException);
135: unsigned long getLength();
136: };
137:
138: interface Element : Node {
139: string getTagName(); // wstring
140: NodeIterator getAttributes();
141: string getAttribute(in string name); // wstring
142: void setAttribute(in string name, // wstring
143: in string value);// wstring
144: void removeAttribute(in string name); // wstring
145: Attribute getAttributeNode(in string name);
146: void setAttributeNode(in Attribute newAttr);
147: void removeAttributeNode(in Attribute oldAttr);
148: void getElementsByTagName(in string tagname); // wstring
149: void normalize();
150: };
151:
152: interface Text : Node {
153: attribute string data; // wstring
154: void append(in string data); // wstring
155: void insert(in long offset,
156: in string data); // wstring
157: void delete(in long offset,
158: in long count);
159: void replace(in long offset,
160: in long count,
161: in string data); // wstring
162: void splice(in Element element,
163: in long offset,
164: in long count);
165: };
166:
167: interface Comment : Node {
168: attribute string data; // wstring
169: };
170:
171: interface PI : Node {
172: attribute string name; // wstring
173: attribute string data; // wstring
174: };
175:
Webmaster