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    /*
019     * Please note: This file was automatically generated from the source of the
020     * MathML specification. Do not edit it. If there are errors or missing
021     * elements, please correct the stylesheet instead.
022     */
023    
024    /**
025     * This interface extends the MathMLElement interface to include access for
026     * attributes specific to text presentation. It serves as the base class for
027     * all MathML presentation token elements. Access to the body of the element
028     * is via the nodeValue attribute inherited from Node. Elements that expose
029     * only the core presentation token attributes are directly supported by this
030     * object. These elements are:
031     * 
032     * mi
033     * 
034     * 
035     * mn
036     * 
037     * 
038     * mtext
039     * 
040     * 
041     * 
042     * 
043     * 
044     */
045    public interface MathMLPresentationToken extends MathMLPresentationElement {
046        /**
047         * The mathvariant attribute for the element, if specified. One of the
048         * values normal, bold, italic, bold-italic, double-struck, bold-fraktur,
049         * script, bold-script, fraktur, sans-serif, bold-sans-serif,
050         * sans-serif-italic, sans-serif-bold-italic, or monospace.
051         * 
052         * @return value of the mathvariant attribute.
053         */
054        String getMathvariant();
055    
056        /**
057         * setter for the mathvariant attribute.
058         * 
059         * @param mathvariant
060         *            new value for mathvariant.
061         * @see #getMathvariant()
062         */
063        void setMathvariant(String mathvariant);
064    
065        /**
066         * The mathsize attribute for the element, if specified. Either small,
067         * normal or big, or of the form number v-unit.
068         * 
069         * @return value of the mathsize attribute.
070         */
071        String getMathsize();
072    
073        /**
074         * setter for the mathsize attribute.
075         * 
076         * @param mathsize
077         *            new value for mathsize.
078         * @see #getMathsize()
079         */
080        void setMathsize(String mathsize);
081    
082        /**
083         * The mathcolor attribute for the element, if specified. The DOMString
084         * returned should be in one of the forms "#rgb" or "#rrggbb", or should
085         * be an html-color-name, as specified in .
086         * 
087         * @return value of the mathcolor attribute.
088         */
089        String getMathcolor();
090    
091        /**
092         * setter for the mathcolor attribute.
093         * 
094         * @param mathcolor
095         *            new value for mathcolor.
096         * @see #getMathcolor()
097         */
098        void setMathcolor(String mathcolor);
099    
100        /**
101         * The mathbackground attribute for the element, if specified. The
102         * DOMString returned should be in one of the forms "#rgb" or "#rrggbb",
103         * or an html-color-name, as specified in , or the keyword "transparent".
104         * 
105         * @return value of the mathbackground attribute.
106         */
107        String getMathbackground();
108    
109        /**
110         * setter for the mathbackground attribute.
111         * 
112         * @param mathbackground
113         *            new value for mathbackground.
114         * @see #getMathbackground()
115         */
116        void setMathbackground(String mathbackground);
117    
118        /**
119         * Returns the child Nodes of the element. These should consist only of
120         * Text nodes, MathMLGlyphElements, and MathMLAlignMarkElements. Should
121         * behave the same as the base class's Node::childNodes attribute;
122         * however, it is provided here for clarity.
123         * 
124         * @return value of the contents attribute.
125         */
126        MathMLNodeList getContents();
127    };