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 extends the MathMLPresentationElement interface for the
028     * MathML subscript, superscript and subscript-superscript pair elements msub,
029     * msup, and msubsup.
030     * 
031     * 
032     */
033    public interface MathMLScriptElement extends MathMLPresentationElement {
034        /**
035         * A string representing the minimum amount to shift the baseline of the
036         * subscript down, if specified; this is the element's subscriptshift
037         * attribute. This must return null for an msup.
038         * 
039         * @return value of the subscriptshift attribute.
040         */
041        String getSubscriptshift();
042    
043        /**
044         * setter for the subscriptshift attribute.
045         * 
046         * @param subscriptshift
047         *            new value for subscriptshift.
048         * @see #getSubscriptshift()
049         */
050        void setSubscriptshift(String subscriptshift);
051    
052        /**
053         * A string representing the minimum amount to shift the baseline of the
054         * superscript up, if specified; this is the element's superscriptshift
055         * attribute. This must return null for a msub.
056         * 
057         * @return value of the superscriptshift attribute.
058         */
059        String getSuperscriptshift();
060    
061        /**
062         * setter for the superscriptshift attribute.
063         * 
064         * @param superscriptshift
065         *            new value for superscriptshift.
066         * @see #getSuperscriptshift()
067         */
068        void setSuperscriptshift(String superscriptshift);
069    
070        /**
071         * A MathMLElement representing the base of the script. This is the first
072         * child of the element.
073         * 
074         * @return value of the base attribute.
075         */
076        MathMLElement getBase();
077    
078        /**
079         * setter for the base attribute.
080         * 
081         * @param base
082         *            new value for base.
083         * @see #getBase()
084         */
085        void setBase(MathMLElement base);
086    
087        /**
088         * A MathMLElement representing the subscript of the script. This is the
089         * second child of a msub or msubsup; retrieval must return null for an
090         * msup.
091         * 
092         * @return value of the subscript attribute.
093         */
094        MathMLElement getSubscript();
095    
096        /**
097         * setter for the subscript attribute.
098         * 
099         * @param subscript
100         *            new value for subscript.
101         * @see #getSubscript()
102         * @throws DOMException
103         *             HIERARCHY_REQUEST_ERR: Raised when the element is a msup.
104         */
105        void setSubscript(MathMLElement subscript);
106    
107        /**
108         * A MathMLElement representing the superscript of the script. This is the
109         * second child of a msup or the third child of a msubsup; retrieval must
110         * return null for an msub.
111         * 
112         * @return value of the superscript attribute.
113         */
114        MathMLElement getSuperscript();
115    
116        /**
117         * setter for the superscript attribute.
118         * 
119         * @param superscript
120         *            new value for superscript.
121         * @see #getSuperscript()
122         * @throws DOMException
123         *             HIERARCHY_REQUEST_ERR: Raised when the element is a msub.
124         */
125        void setSuperscript(MathMLElement superscript);
126    };