View Javadoc

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 };