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 interface extends the MathMLPresentationElement interface for the
28 * MathML table or matrix element mtable.
29 *
30 *
31 */
32 public interface MathMLTableElement extends MathMLPresentationElement {
33 /**
34 * A string representing the vertical alignment of the table with the
35 * adjacent text. Allowed values are (top | bottom | center | baseline |
36 * axis)[rownumber], where rownumber is between 1 and n (for a table with
37 * n rows) or -1 and -n.
38 *
39 * @return value of the align attribute.
40 */
41 String getAlign();
42
43 /**
44 * setter for the align attribute.
45 *
46 * @param align
47 * new value for align.
48 * @see #getAlign()
49 */
50 void setAlign(String align);
51
52 /**
53 * A string representing the alignment of entries in each row, consisting
54 * of a space-separated sequence of alignment specifiers, each of which
55 * can have the following values: top, bottom, center, baseline, or axis.
56 *
57 * @return value of the rowalign attribute.
58 */
59 String getRowalign();
60
61 /**
62 * setter for the rowalign attribute.
63 *
64 * @param rowalign
65 * new value for rowalign.
66 * @see #getRowalign()
67 */
68 void setRowalign(String rowalign);
69
70 /**
71 * A string representing the alignment of entries in each column,
72 * consisting of a space-separated sequence of alignment specifiers, each
73 * of which can have the following values: left, center, or right.
74 *
75 * @return value of the columnalign attribute.
76 */
77 String getColumnalign();
78
79 /**
80 * setter for the columnalign attribute.
81 *
82 * @param columnalign
83 * new value for columnalign.
84 * @see #getColumnalign()
85 */
86 void setColumnalign(String columnalign);
87
88 /**
89 * A string specifying how the alignment groups within the cells of each
90 * row are to be aligned with the corresponding items above or below them
91 * in the same column. The string consists of a sequence of braced group
92 * alignment lists. Each group alignment list is a space-separated
93 * sequence, each of which can have the following values: left, right,
94 * center, or decimalpoint.
95 *
96 * @return value of the groupalign attribute.
97 */
98 String getGroupalign();
99
100 /**
101 * setter for the groupalign attribute.
102 *
103 * @param groupalign
104 * new value for groupalign.
105 * @see #getGroupalign()
106 */
107 void setGroupalign(String groupalign);
108
109 /**
110 * A string consisting of the values true or false indicating, for each
111 * column, whether it can be used as an alignment scope.
112 *
113 * @return value of the alignmentscope attribute.
114 */
115 String getAlignmentscope();
116
117 /**
118 * setter for the alignmentscope attribute.
119 *
120 * @param alignmentscope
121 * new value for alignmentscope.
122 * @see #getAlignmentscope()
123 */
124 void setAlignmentscope(String alignmentscope);
125
126 /**
127 * A string consisting of a space-separated sequence of specifiers, each
128 * of which can have one of the following forms: auto, number h-unit,
129 * namedspace, or fit. (A value of the form namedspace is one of
130 * veryverythinmathspace, verythinmathspace, thinmathspace,
131 * mediummathspace, thickmathspace, verythickmathspace, or
132 * veryverythickmathspace.) This represents the element's columnwidth
133 * attribute.
134 *
135 * @return value of the columnwidth attribute.
136 */
137 String getColumnwidth();
138
139 /**
140 * setter for the columnwidth attribute.
141 *
142 * @param columnwidth
143 * new value for columnwidth.
144 * @see #getColumnwidth()
145 */
146 void setColumnwidth(String columnwidth);
147
148 /**
149 * A string that is either of the form number h-unit or is the string
150 * auto. This represents the element's width attribute.
151 *
152 * @return value of the width attribute.
153 */
154 String getWidth();
155
156 /**
157 * setter for the width attribute.
158 *
159 * @param width
160 * new value for width.
161 * @see #getWidth()
162 */
163 void setWidth(String width);
164
165 /**
166 * A string consisting of a space-separated sequence of specifiers of the
167 * form number v-unit representing the space to be added between rows.
168 *
169 * @return value of the rowspacing attribute.
170 */
171 String getRowspacing();
172
173 /**
174 * setter for the rowspacing attribute.
175 *
176 * @param rowspacing
177 * new value for rowspacing.
178 * @see #getRowspacing()
179 */
180 void setRowspacing(String rowspacing);
181
182 /**
183 * A string consisting of a space-separated sequence of specifiers of the
184 * form number h-unit representing the space to be added between columns.
185 *
186 * @return value of the columnspacing attribute.
187 */
188 String getColumnspacing();
189
190 /**
191 * setter for the columnspacing attribute.
192 *
193 * @param columnspacing
194 * new value for columnspacing.
195 * @see #getColumnspacing()
196 */
197 void setColumnspacing(String columnspacing);
198
199 /**
200 * A string specifying whether and what kind of lines should be added
201 * between each row. The string consists of a space-separated sequence of
202 * specifiers, each of which can have the following values: none, solid,
203 * or dashed.
204 *
205 * @return value of the rowlines attribute.
206 */
207 String getRowlines();
208
209 /**
210 * setter for the rowlines attribute.
211 *
212 * @param rowlines
213 * new value for rowlines.
214 * @see #getRowlines()
215 */
216 void setRowlines(String rowlines);
217
218 /**
219 * A string specifying whether and what kind of lines should be added
220 * between each column. The string consists of a space-separated sequence
221 * of specifiers, each of which can have the following values: none,
222 * solid, or dashed.
223 *
224 * @return value of the columnlines attribute.
225 */
226 String getColumnlines();
227
228 /**
229 * setter for the columnlines attribute.
230 *
231 * @param columnlines
232 * new value for columnlines.
233 * @see #getColumnlines()
234 */
235 void setColumnlines(String columnlines);
236
237 /**
238 * A string specifying a frame around the table. Allowed values are (none |
239 * solid | dashed).
240 *
241 * @return value of the frame attribute.
242 */
243 String getFrame();
244
245 /**
246 * setter for the frame attribute.
247 *
248 * @param frame
249 * new value for frame.
250 * @see #getFrame()
251 */
252 void setFrame(String frame);
253
254 /**
255 * A string of the form number h-unit number v-unit specifying the spacing
256 * between table and its frame.
257 *
258 * @return value of the framespacing attribute.
259 */
260 String getFramespacing();
261
262 /**
263 * setter for the framespacing attribute.
264 *
265 * @param framespacing
266 * new value for framespacing.
267 * @see #getFramespacing()
268 */
269 void setFramespacing(String framespacing);
270
271 /**
272 * A string with the values true or false.
273 *
274 * @return value of the equalrows attribute.
275 */
276 String getEqualrows();
277
278 /**
279 * setter for the equalrows attribute.
280 *
281 * @param equalrows
282 * new value for equalrows.
283 * @see #getEqualrows()
284 */
285 void setEqualrows(String equalrows);
286
287 /**
288 * A string with the values true or false.
289 *
290 * @return value of the equalcolumns attribute.
291 */
292 String getEqualcolumns();
293
294 /**
295 * setter for the equalcolumns attribute.
296 *
297 * @param equalcolumns
298 * new value for equalcolumns.
299 * @see #getEqualcolumns()
300 */
301 void setEqualcolumns(String equalcolumns);
302
303 /**
304 * A string with the values true or false.
305 *
306 * @return value of the displaystyle attribute.
307 */
308 String getDisplaystyle();
309
310 /**
311 * setter for the displaystyle attribute.
312 *
313 * @param displaystyle
314 * new value for displaystyle.
315 * @see #getDisplaystyle()
316 */
317 void setDisplaystyle(String displaystyle);
318
319 /**
320 * A string with the values left, right, leftoverlap, or rightoverlap.
321 *
322 * @return value of the side attribute.
323 */
324 String getSide();
325
326 /**
327 * setter for the side attribute.
328 *
329 * @param side
330 * new value for side.
331 * @see #getSide()
332 */
333 void setSide(String side);
334
335 /**
336 * A string of the form number h-unit, specifying the minimum space
337 * between a label and the adjacent entry in the labeled row.
338 *
339 * @return value of the minlabelspacing attribute.
340 */
341 String getMinlabelspacing();
342
343 /**
344 * setter for the minlabelspacing attribute.
345 *
346 * @param minlabelspacing
347 * new value for minlabelspacing.
348 * @see #getMinlabelspacing()
349 */
350 void setMinlabelspacing(String minlabelspacing);
351
352 /**
353 * A MathMLNodeList consisting of MathMLTableRowElements and
354 * MathMLLabeledRowElements representing the rows of the table. This is a
355 * live object.
356 *
357 * @return value of the rows attribute.
358 */
359 MathMLNodeList getRows();
360
361 /**
362 * A convenience method to insert a new (empty) row (mtr) in the table
363 * before the current index-th row. If index is less than 0, the new row
364 * is inserted before the -index-th row counting up from the current last
365 * row; if index is equal to the current number of rows, the new row is
366 * appended as the last row.
367 *
368 * @param index
369 * Position before which to insert the new row, where 0
370 * represents the first row. Negative numbers are used to count
371 * backwards from the last row.
372 * @return Returns the MathMLTableRowElement child of this
373 * MathMLTableElement that represents the new mtr element being
374 * inserted.
375 * @throws DOMException
376 * INDEX_SIZE_ERR: Raised if index is greater than the current
377 * number of rows of this mtable element or less than minus
378 * this number.
379 */
380 MathMLTableRowElement insertEmptyRow(long index) throws DOMException;
381
382 /**
383 * A convenience method to insert a new (empty) labeled row (mlabeledtr)
384 * in the table before the current index-th row. If index is less than 0,
385 * the new row is inserted before the -index-th row counting up from the
386 * current last row; if index is equal to the current number of rows, the
387 * new row is appended as the last row.
388 *
389 * @param index
390 * Position before which to insert the new row, where 0
391 * represents the first row. Negative numbers are used to count
392 * backwards from the last row.
393 * @return Returns the MathMLLabeledRowElement child of this
394 * MathMLTableElement representing the mtr element being inserted.
395 * @throws DOMException
396 * INDEX_SIZE_ERR: Raised if index is greater than the current
397 * number of rows of this mtable element or less than minus
398 * this number.
399 */
400 MathMLLabeledRowElement insertEmptyLabeledRow(long index)
401 throws DOMException;
402
403 /**
404 * A convenience method to retrieve the index-th row from the table. If
405 * index is less than 0, the -index-th row from the bottom of the table is
406 * retrieved. (So, for instance, if index is -2, the next-to-last row is
407 * retrieved.) If index is not a valid value (i.e. is greater than or
408 * equal to the number of rows, or is less than minus the number of rows),
409 * a null MathMLTableRowElement is returned.
410 *
411 * @param index
412 * Index of the row to be returned, where 0 represents the
413 * first row. Negative numbers are used to count backwards from
414 * the last row.
415 * @return Returns the MathMLTableRowElement representing the index-th row
416 * of the table.
417 */
418 MathMLTableRowElement getRow(long index);
419
420 /**
421 * A convenience method to insert the new row or labeled row (mtr or
422 * mlabeledtr) represented by newRow in the table before the current
423 * index-th row. If index is equal to the current number of rows, newRow
424 * is appended as the last row in the table. If index is less than 0, the
425 * new row is inserted before the -index-th row from the bottom of the
426 * table. (So, for instance, if index is -2, the new row is inserted
427 * before the next-to-last current row.)
428 *
429 * @param index
430 * Index before which to insert newRow, where 0 represents the
431 * first row. Negative numbers are used to count backwards from
432 * the current last row.
433 * @param newRow
434 * A MathMLTableRowElement or MathMLLabeledRowElement
435 * representing the row to be inserted.
436 * @return The MathMLTableRowElement or MathMLLabeledRowElement child of
437 * this MathMLTableElement representing the mtr element being
438 * inserted.
439 * @throws DOMException
440 * HIERARCHY_REQUEST_ERR: Raised if newRow is not a
441 * MathMLTableRowElement or MathMLLabeledRowElement.
442 * INDEX_SIZE_ERR: Raised if index is greater than the current
443 * number of rows or less than minus the current number of
444 * rows of this mtable element.
445 */
446 MathMLTableRowElement insertRow(long index, MathMLTableRowElement newRow)
447 throws DOMException;
448
449 /**
450 * A method to set the value of the row in the table at the specified
451 * index to the mtr or mlabeledtr represented by newRow. If index is less
452 * than 0, the -index-th row counting up from the last is replaced by
453 * newRow; if index is one more than the current number of rows, the new
454 * row is appended as the last row in the table.
455 *
456 * @param index
457 * Index of the row to be set to newRow, where 0 represents the
458 * first row. Negative numbers are used to count backwards from
459 * the last row.
460 * @param newRow
461 * A MathMLTableRowElement representing the row that is to be
462 * the new index-th row.
463 * @return Returns the MathMLTableRowElement or MathMLLabeledRowElement
464 * child of this element that represents the new row in the DOM.
465 * @throws DOMException
466 * HIERARCHY_REQUEST_ERR: Raised if newRow is not a
467 * MathMLTableRowElement or MathMLLabeledRowElement.
468 * INDEX_SIZE_ERR: Raised if index is greater than the current
469 * number of rows of this mtable element or less than minus
470 * this number.
471 */
472 MathMLTableRowElement setRow(long index, MathMLTableRowElement newRow)
473 throws DOMException;
474
475 /**
476 * A convenience method to delete the row of the table at the specified
477 * index. If index is less than 0, the -index-th row from the bottom of
478 * the table is deleted. (So, for instance, if index is -2, the
479 * next-to-last row is deleted.)
480 *
481 * @param index
482 * Index of row to be deleted, where 0 represents the first
483 * row.
484 * @throws DOMException
485 * INDEX_SIZE_ERR: Raised if index is greater than or equal to
486 * the current number of rows of this mtable element or less
487 * than minus this number.
488 */
489 void deleteRow(long index) throws DOMException;
490
491 /**
492 * A convenience method to delete the row of the table at the specified
493 * index and return it to the caller. If index is less than 0, the
494 * -index-th row from the bottom of the table is deleted. (So, for
495 * instance, if index is -2, the next-to-last row is deleted.)
496 *
497 * @param index
498 * Index of row to be removed, where 0 represents the first
499 * row.
500 * @return A MathMLTableRowElement representing the row being deleted.
501 * @throws DOMException
502 * INDEX_SIZE_ERR: Raised if index is greater than or equal to
503 * the number of rows of this mtable element or less than
504 * minus this number.
505 */
506 MathMLTableRowElement removeRow(long index) throws DOMException;
507 };