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 interface supports the MathML Content elements that may contain child
028 * Content elements. The elements directly supported by MathMLContentContainer
029 * include: reln (deprecated), lambda, lowlimit, uplimit, degree,
030 * domainofapplication, and momentabout. Interfaces derived from
031 * MathMLContentContainer support the elements apply, fn, interval, condition,
032 * declare, bvar, set, list, vector, matrix, and matrixrow.
033 *
034 *
035 */
036 public interface MathMLContentContainer extends MathMLContentElement,
037 MathMLContainer {
038 /**
039 * The number of bvar child elements of this element.
040 *
041 * @return value of the nBoundVariables attribute.
042 */
043 int getNBoundVariables();
044
045 /**
046 * This attribute represents the condition child element of this node. See .
047 *
048 * @return value of the condition attribute.
049 */
050 MathMLConditionElement getCondition();
051
052 /**
053 * setter for the condition attribute.
054 *
055 * @param condition
056 * new value for condition.
057 * @see #getCondition()
058 * @throws DOMException
059 * HIERARCHY_REQUEST_ERR: Raised if this element does not
060 * permit a child condition element. In particular, raised if
061 * this element is not a apply, set, or list.
062 */
063 void setCondition(MathMLConditionElement condition);
064
065 /**
066 * This attribute represents the degree child element of this node. This
067 * expresses, for instance, the degree of differentiation if this element
068 * is a bvar child of an apply element whose first child is a diff or
069 * partialdiff. If this is an apply element whose first child is a
070 * partialdiff, the opDegree attribute, if present, represents the total
071 * degree of differentiation. See .
072 *
073 * @return value of the opDegree attribute.
074 */
075 MathMLElement getOpDegree();
076
077 /**
078 * setter for the opDegree attribute.
079 *
080 * @param opDegree
081 * new value for opDegree.
082 * @see #getOpDegree()
083 * @throws DOMException
084 * HIERARCHY_REQUEST_ERR: Raised if this element does not
085 * permit a child degree element. In particular, raised if
086 * this element is not a bvar or apply.
087 */
088 void setOpDegree(MathMLElement opDegree);
089
090 /**
091 * This attribute represents the domainofapplication child element of this
092 * node, if present. This may express, for instance, the domain of
093 * integration if this element is an apply element whose first child is an
094 * integral operator (int). See .
095 *
096 * @return value of the domainOfApplication attribute.
097 */
098 MathMLElement getDomainOfApplication();
099
100 /**
101 * setter for the domainOfApplication attribute.
102 *
103 * @param domainOfApplication
104 * new value for domainOfApplication.
105 * @see #getDomainOfApplication()
106 * @throws DOMException
107 * HIERARCHY_REQUEST_ERR: Raised if this element does not
108 * permit a child domainofapplication element.
109 */
110 void setDomainOfApplication(MathMLElement domainOfApplication);
111
112 /**
113 * This attribute represents the momentabout child element of this node,
114 * if present. This typically expresses the point about which a
115 * statistical moment is to be calculated, if this element is an apply
116 * element whose first child is a moment. See .
117 *
118 * @return value of the momentAbout attribute.
119 */
120 MathMLElement getMomentAbout();
121
122 /**
123 * setter for the momentAbout attribute.
124 *
125 * @param momentAbout
126 * new value for momentAbout.
127 * @see #getMomentAbout()
128 * @throws DOMException
129 * HIERARCHY_REQUEST_ERR: Raised if this element does not
130 * permit a child momentabout element. In particular, raised
131 * if this element is not an apply whose first child is a
132 * moment.
133 */
134 void setMomentAbout(MathMLElement momentAbout);
135
136 /**
137 * This method retrieves the index-th MathMLBvarElement child of the
138 * MathMLElement. Note that only bvar child elements are counted in
139 * determining the index-th bound variable.
140 *
141 * @param index
142 * The one-based index into the bound variable children of this
143 * element of the MathMLBvarElement to be retrieved.
144 * @return The MathMLBvarElement representing the index-th bvar child of
145 * this element.
146 */
147 MathMLBvarElement getBoundVariable(int index);
148
149 /**
150 * This method inserts a MathMLBvarElement as a child node before the
151 * current index-th bound variable child of this MathMLElement. If index
152 * is 0, newBVar is appended as the last bound variable child. This has
153 * the effect of adding a bound variable to the expression this element
154 * represents. Note that the new bound variable is inserted as the
155 * index-th bvar child node, not necessarily as the index-th child node.
156 * The point of the method is to allow insertion of bound variables
157 * without requiring the caller to calculate the exact order of child
158 * qualifier elements.
159 *
160 * @param newBVar
161 * A MathMLBvarElement representing the bvar element being
162 * added.
163 * @param index
164 * The one-based index into the bound variable children of this
165 * element before which newBVar is to be inserted.
166 * @return The MathMLBvarElement being added.
167 * @throws DOMException
168 * HIERARCHY_REQUEST_ERR: Raised if this element does not
169 * permit child bvar elements.
170 */
171 MathMLBvarElement insertBoundVariable(MathMLBvarElement newBVar, int index)
172 throws DOMException;
173
174 /**
175 * This method sets the index-th bound variable child of this
176 * MathMLElement to newBVar. This has the effect of setting a bound
177 * variable in the expression this element represents. Note that the new
178 * bound variable is inserted as the index-th bvar child node, not
179 * necessarily as the index-th child node. The point of the method is to
180 * allow insertion of bound variables without requiring the caller to
181 * calculate the exact order of child qualifier elements. If there is
182 * already a bvar at the index-th position, it is replaced by newBVar.
183 *
184 * @param newBVar
185 * The new MathMLBvarElement child of this element being set.
186 * @param index
187 * The one-based index into the bound variable children of this
188 * element at which newBVar is to be inserted.
189 * @return The MathMLBvarElement being set.
190 * @throws DOMException
191 * HIERARCHY_REQUEST_ERR: Raised if this element does not
192 * permit child bvar elements.
193 */
194 MathMLBvarElement setBoundVariable(MathMLBvarElement newBVar, int index)
195 throws DOMException;
196
197 /**
198 * This method deletes the index-th MathMLBvarElement child of the
199 * MathMLElement. This has the effect of removing this bound variable from
200 * the list of qualifiers affecting the element this represents.
201 *
202 * @param index
203 * The one-based index into the bound variable children of this
204 * element of the MathMLBvarElement to be removed.
205 */
206 void deleteBoundVariable(int index);
207
208 /**
209 * This method removes the index-th MathMLBvarElement child of the
210 * MathMLElement and returns it to the caller. This has the effect of
211 * removing this bound variable from the list of qualifiers affecting the
212 * element this represents.
213 *
214 * @param index
215 * The one-based index into the bound variable children of this
216 * element of the MathMLBvarElement to be removed.
217 * @return The MathMLBvarElement being removed.
218 */
219 MathMLBvarElement removeBoundVariable(int index);
220 };