001 /* 002 * Copyright 2007 - 2007 JEuclid, http://jeuclid.sf.net 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.w3c.dom.mathml; 017 018 import org.w3c.dom.DOMException; 019 020 /* 021 * Please note: This file was automatically generated from the source of the 022 * MathML specification. Do not edit it. If there are errors or missing 023 * elements, please correct the stylesheet instead. 024 */ 025 026 /** 027 * This is an abstract interface containing functionality required by MathML 028 * elements that may contain arbitrarily many child elements. No elements are 029 * directly supported by this interface; all instances are instances of either 030 * MathMLPresentationContainer, MathMLContentContainer, or MathMLMathElement. 031 * 032 * 033 */ 034 public interface MathMLContainer { 035 /** 036 * The number of child elements of this element which represent arguments 037 * of the element, as opposed to qualifiers or declare elements. Thus for 038 * a MathMLContentContainer it does not contain elements representing 039 * bound variables, conditions, separators, degrees, or upper or lower 040 * limits (bvar, condition, sep, degree, lowlimit, or uplimit). 041 * 042 * @return value of the nArguments attribute. 043 */ 044 int getNArguments(); 045 046 /** 047 * This attribute accesses the child MathMLElements of this element which 048 * are arguments of it, as a MathMLNodeList. Note that this list does not 049 * contain any MathMLElements representing qualifier elements or declare 050 * elements. 051 * 052 * @return value of the arguments attribute. 053 */ 054 MathMLNodeList getArguments(); 055 056 /** 057 * Provides access to the declare elements which are children of this 058 * element, in a MathMLNodeList. All Nodes in this list must be 059 * MathMLDeclareElements. 060 * 061 * @return value of the declarations attribute. 062 */ 063 MathMLNodeList getDeclarations(); 064 065 /** 066 * This method returns the indexth child argument element of this element. 067 * This frequently differs from the value of 068 * Node::childNodes().item(index), as qualifier elements and declare 069 * elements are not counted. 070 * 071 * @param index 072 * The one-based index of the argument to be retrieved. 073 * @return A MathMLElement representing the index-th argument of this 074 * element. 075 * @throws DOMException 076 * INDEX_SIZE_ERR: Raised if index is greater than the number 077 * of child elements. 078 */ 079 MathMLElement getArgument(int index) throws DOMException; 080 081 /** 082 * This method sets newArgument as the index-th argument of this element. 083 * If there is currently an index-th argument, it is replaced by 084 * newArgument. This frequently differs from setting the node at 085 * Node::childNodes().item(index), as qualifier elements and declare 086 * elements are not counted. 087 * 088 * @param newArgument 089 * A MathMLElement representing the element that is to be set 090 * as the index-th argument of this element. 091 * @param index 092 * The index of the argument that is to be set to newArgument. 093 * The first argument is numbered 1. If index is one more than 094 * the current number of arguments, a new argument is appended. 095 * @return The MathMLElement child of this element that represents the new 096 * argument in the DOM. 097 * @throws DOMException 098 * HIERARCHY_REQUEST_ERR: Raised if this element does not 099 * 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 };