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.Node; 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 the interface from which the interfaces representing the MathML 28 * Content token elements (ci, cn and csymbol) are derived. These elements may 29 * contain MathML Presentation elements, Text nodes, or a combination of both. 30 * Thus the getArgument and insertArgument methods have been provided to deal 31 * with this distinction between these elements and other MathML Content 32 * elements. 33 * 34 * 35 */ 36 public interface MathMLContentToken extends MathMLContentElement { 37 /** 38 * The arguments of this element, returned as a MathMLNodeList. Note that 39 * this is not necessarily the same as Node::childNodes, particularly in 40 * the case of the cn element. The reason is that the sep elements that 41 * are used to separate the arguments of a cn are not returned. 42 * 43 * @return value of the arguments attribute. 44 */ 45 MathMLNodeList getArguments(); 46 47 /** 48 * A URI pointing to a semantic definition for this content element. Note 49 * that there is no stipulation about the form this definition may take! 50 * 51 * @return value of the definitionURL attribute. 52 */ 53 String getDefinitionURL(); 54 55 /** 56 * setter for the definitionURL attribute. 57 * 58 * @param definitionURL 59 * new value for definitionURL. 60 * @see #getDefinitionURL() 61 */ 62 void setDefinitionURL(String definitionURL); 63 64 /** 65 * A string describing the syntax in which the definition located at 66 * definitionURL is given. 67 * 68 * @return value of the encoding attribute. 69 */ 70 String getEncoding(); 71 72 /** 73 * setter for the encoding attribute. 74 * 75 * @param encoding 76 * new value for encoding. 77 * @see #getEncoding() 78 */ 79 void setEncoding(String encoding); 80 81 /** 82 * A convenience method to retrieve the child argument at the position 83 * referenced by index. Note that this is not necessarily the same as the 84 * index-th child Node of this Element; in particular, sep elements will 85 * not be counted. 86 * 87 * @param index 88 * Position of desired argument in the list of arguments. The 89 * first argument is numbered 1. 90 * @return The Node retrieved. 91 */ 92 Node getArgument(int index); 93 94 /** 95 * A convenience method to insert newArgument before the current index-th 96 * argument child of this element. If index is 0, newArgument is appended 97 * as the last argument. 98 * 99 * @param newArgument 100 * Node to be inserted as the index-th argument. This will 101 * either be a MathMLElement or a Text node. 102 * @param index 103 * Position before which newArgument is to be inserted. The 104 * first argument is numbered 1.Note that this is not 105 * necessarily the index of the Node in the list of child 106 * nodes, as nodes representing such elements as sep are not 107 * counted as arguments. 108 * @param newArgument 109 * Node to be inserted as the index-th argument. This will 110 * either be a MathMLElement or a Text node. 111 * @return The Node inserted. This is the element within the DOM. 112 */ 113 Node insertArgument(Node newArgument, int index); 114 115 /** 116 * A convenience method to set an argument child at the position 117 * referenced by index. If there is currently an argument at this 118 * position, it is replaced by newArgument. 119 * 120 * @param newArgument 121 * Node to be inserted as the argument. This will either be a 122 * MathMLElement or a Text node. 123 * @param index 124 * Position of the argument that is to be set to newArgument in 125 * the list of arguments. The first argument is numbered 1. 126 * Note that this is not necessarily the index of the Node in 127 * the list of child nodes, as nodes representing such elements 128 * as sep are not counted as arguments. 129 * @param newArgument 130 * Node to be inserted as the argument. This will either be a 131 * MathMLElement or a Text node. 132 * @return The Node inserted. This is the element within the DOM. 133 */ 134 Node setArgument(Node newArgument, int index); 135 136 /** 137 * A convenience method to delete the argument child located at the 138 * position referenced by index. 139 * 140 * @param index 141 * Position of the argument to be deleted from the list of 142 * arguments. The first argument is numbered 1. 143 */ 144 void deleteArgument(int index); 145 146 /** 147 * A convenience method to delete the argument child located at the 148 * position referenced by index, and to return it to the caller. 149 * 150 * @param index 151 * Position of the argument to be deleted from the list of 152 * arguments. The first argument is numbered 1. 153 * @return A Node representing the deleted argument. 154 */ 155 Node removeArgument(int index); 156 };