1 /* 2 * Copyright 2007 - 2007 JEuclid, http://jeuclid.sf.net 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.w3c.dom.mathml; 17 18 import org.w3c.dom.DOMException; 19 20 /* 21 * Please note: This file was automatically generated from the source of the 22 * MathML specification. Do not edit it. If there are errors or missing 23 * elements, please correct the stylesheet instead. 24 */ 25 26 /** 27 * This is an abstract interface containing functionality required by MathML 28 * elements that may contain arbitrarily many child elements. No elements are 29 * directly supported by this interface; all instances are instances of either 30 * MathMLPresentationContainer, MathMLContentContainer, or MathMLMathElement. 31 * 32 * 33 */ 34 public interface MathMLContainer { 35 /** 36 * The number of child elements of this element which represent arguments 37 * of the element, as opposed to qualifiers or declare elements. Thus for 38 * a MathMLContentContainer it does not contain elements representing 39 * bound variables, conditions, separators, degrees, or upper or lower 40 * limits (bvar, condition, sep, degree, lowlimit, or uplimit). 41 * 42 * @return value of the nArguments attribute. 43 */ 44 int getNArguments(); 45 46 /** 47 * This attribute accesses the child MathMLElements of this element which 48 * are arguments of it, as a MathMLNodeList. Note that this list does not 49 * contain any MathMLElements representing qualifier elements or declare 50 * elements. 51 * 52 * @return value of the arguments attribute. 53 */ 54 MathMLNodeList getArguments(); 55 56 /** 57 * Provides access to the declare elements which are children of this 58 * element, in a MathMLNodeList. All Nodes in this list must be 59 * MathMLDeclareElements. 60 * 61 * @return value of the declarations attribute. 62 */ 63 MathMLNodeList getDeclarations(); 64 65 /** 66 * This method returns the indexth child argument element of this element. 67 * This frequently differs from the value of 68 * Node::childNodes().item(index), as qualifier elements and declare 69 * elements are not counted. 70 * 71 * @param index 72 * The one-based index of the argument to be retrieved. 73 * @return A MathMLElement representing the index-th argument of this 74 * element. 75 * @throws DOMException 76 * INDEX_SIZE_ERR: Raised if index is greater than the number 77 * of child elements. 78 */ 79 MathMLElement getArgument(int index) throws DOMException; 80 81 /** 82 * This method sets newArgument as the index-th argument of this element. 83 * If there is currently an index-th argument, it is replaced by 84 * newArgument. This frequently differs from setting the node at 85 * Node::childNodes().item(index), as qualifier elements and declare 86 * elements are not counted. 87 * 88 * @param newArgument 89 * A MathMLElement representing the element that is to be set 90 * as the index-th argument of this element. 91 * @param index 92 * The index of the argument that is to be set to newArgument. 93 * The first argument is numbered 1. If index is one more than 94 * the current number of arguments, a new argument is appended. 95 * @return The MathMLElement child of this element that represents the new 96 * argument in the DOM. 97 * @throws DOMException 98 * HIERARCHY_REQUEST_ERR: Raised if this element does not 99 * permit a child element of the type of newArgument, if this 100 * is a MathMLContentContainer and newArgument is a qualifier 101 * element, or if newElement is a MathMLDeclareElement. 102 * INDEX_SIZE_ERR: Raised if index is greater than one more 103 * than the number of child elements. 104 */ 105 MathMLElement setArgument(MathMLElement newArgument, int index) 106 throws DOMException; 107 108 /** 109 * This method inserts newArgument before the current index-th argument of 110 * this element. If index is 0, or if index is one more than the current 111 * number of arguments, newArgument is appended as the last argument. This 112 * frequently differs from setting the node at 113 * Node::childNodes().item(index), as qualifier elements and declare 114 * elements are not counted. 115 * 116 * @param newArgument 117 * A MathMLElement representing the element that is to be 118 * inserted as a child argument of this element. 119 * @param index 120 * The one-based index of the position before which newArgument 121 * is to be inserted. The first argument is numbered 1. 122 * @return The MathMLElement child of this element that represents the new 123 * argument in the DOM. 124 * @throws DOMException 125 * HIERARCHY_REQUEST_ERR: Raised if this element does not 126 * permit a child argument of the type of newArgument, or, for 127 * MathMLContentContainers, if newArgument represents a 128 * qualifier element. INDEX_SIZE_ERR: Raised if index is 129 * greater than one more than the number of child arguments. 130 */ 131 MathMLElement insertArgument(MathMLElement newArgument, int index) 132 throws DOMException; 133 134 /** 135 * This method deletes the index-th child element that is an argument of 136 * this element. Note that child elements which are qualifier elements or 137 * declare elements are not counted in determining the index-th argument. 138 * 139 * @param index 140 * The one-based index of the argument to be deleted. 141 * @throws DOMException 142 * INDEX_SIZE_ERR: Raised if index is greater than the number 143 * of child elements. 144 */ 145 void deleteArgument(int index) throws DOMException; 146 147 /** 148 * This method deletes the index-th child element that is an argument of 149 * this element, and returns it to the caller. Note that child elements 150 * that are qualifier elements or declare elements are not counted in 151 * determining the index-th argument. 152 * 153 * @param index 154 * The one-based index of the argument to be removed. 155 * @return A MathMLElement representing the argument being removed. 156 * @throws DOMException 157 * INDEX_SIZE_ERR: Raised if index is greater than the number 158 * of child elements. 159 */ 160 MathMLElement removeArgument(int index) throws DOMException; 161 162 /** 163 * This method retrieves the index-th child declare element of this 164 * element. 165 * 166 * @param index 167 * A one-based index into the list of child declare elements of 168 * this element giving the position of the declare element to 169 * be retrieved. 170 * @return The MathMLDeclareElement representing the index-th child 171 * declare. 172 * @throws DOMException 173 * INDEX_SIZE_ERR: Raised if index is greater than the number 174 * of child declare elements. 175 */ 176 MathMLDeclareElement getDeclaration(int index) throws DOMException; 177 178 /** 179 * This method inserts newDeclaration as the index-th child declaration of 180 * this element. If there is already an index-th declare child element, it 181 * is replaced by newDeclaration. 182 * 183 * @param newDeclaration 184 * A MathMLDeclareElement to be inserted as the index-th child 185 * declare element. 186 * @param index 187 * A one-based index into the list of child declare elements of 188 * this element giving the position into which newDeclaration 189 * is to be inserted. If index is one more than the number of 190 * declare children of this element, newDeclaration is appended 191 * as the last declare child. 192 * @return The MathMLDeclareElement being inserted. 193 * @throws DOMException 194 * INDEX_SIZE_ERR: Raised if index is greater than one more 195 * than the number of child declare elements. 196 * HIERARCHY_REQUEST_ERR: Raised if this element does not 197 * permit child declare elements. 198 */ 199 MathMLDeclareElement setDeclaration(MathMLDeclareElement newDeclaration, 200 int index) throws DOMException; 201 202 /** 203 * This method inserts newDeclaration before the current index-th child 204 * declare element of this element. If index is 0, newDeclaration is 205 * appended as the last child declare element. 206 * 207 * @param newDeclaration 208 * A MathMLDeclareElement to be inserted as the index-th child 209 * declare element. 210 * @param index 211 * A one-based index into the list of child declare elements of 212 * this element giving the position before which newDeclaration 213 * is to be inserted. If index is 0 or if it is one more than 214 * the number of child declare children, newDeclaration is 215 * appended as the last child declare element. 216 * @return The MathMLDeclareElement child of this element representing 217 * newDeclaration in the DOM. 218 * @throws DOMException 219 * INDEX_SIZE_ERR: Raised if index is greater than one more 220 * than the number of child declare elements. 221 * HIERARCHY_REQUEST_ERR: Raised if this element does not 222 * permit child declare elements. 223 */ 224 MathMLDeclareElement insertDeclaration( 225 MathMLDeclareElement newDeclaration, int index) 226 throws DOMException; 227 228 /** 229 * This method removes the MathMLDeclareElement representing the index-th 230 * declare child element of this element, and returns it to the caller. 231 * Note that index is the position in the list of declare element 232 * children, as opposed to the position in the list of all child Nodes. 233 * 234 * @param index 235 * The one-based index of the declare element to be removed. 236 * @return The MathMLDeclareElement being removed as a child Node of this 237 * element. 238 * @throws DOMException 239 * INDEX_SIZE_ERR: Raised if index is greater than the number 240 * of child declare elements. 241 */ 242 MathMLDeclareElement removeDeclaration(int index) throws DOMException; 243 244 /** 245 * This method deletes the MathMLDeclareElement representing the index-th 246 * declare child element of this element. Note that index is the position 247 * in the list of declare element children, as opposed to the position in 248 * the list of all child Nodes. 249 * 250 * @param index 251 * The one-based index of the declare element to be removed. 252 * @throws DOMException 253 * INDEX_SIZE_ERR: Raised if index is greater than the number 254 * of child declare elements. 255 */ 256 void deleteDeclaration(int index) throws DOMException; 257 };