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     * The declare construct has two primary roles. The first is to change or set
026     * the default attribute values for a specific mathematical object. The second
027     * is to establish an association between a name and an object.
028     * 
029     * 
030     */
031    public interface MathMLDeclareElement extends MathMLContentElement {
032        /**
033         * A string indicating the type of the identifier. It must be compatible
034         * with the type of the constructor, if a constructor is present. The type
035         * is inferred from the constructor if present, otherwise it must be
036         * specified.
037         * 
038         * @return value of the type attribute.
039         */
040        String getType();
041    
042        /**
043         * setter for the type attribute.
044         * 
045         * @param type
046         *            new value for type.
047         * @see #getType()
048         */
049        void setType(String type);
050    
051        /**
052         * If the identifier is a function, this attribute specifies the number of
053         * arguments the function takes. This represents the declare element's
054         * nargs attribute; see .
055         * 
056         * @return value of the nargs attribute.
057         */
058        int getNargs();
059    
060        /**
061         * setter for the nargs attribute.
062         * 
063         * @param nargs
064         *            new value for nargs.
065         * @see #getNargs()
066         */
067        void setNargs(int nargs);
068    
069        /**
070         * A string with the values prefix, infix, postfix, or function-model.
071         * 
072         * @return value of the occurrence attribute.
073         */
074        String getOccurrence();
075    
076        /**
077         * setter for the occurrence attribute.
078         * 
079         * @param occurrence
080         *            new value for occurrence.
081         * @see #getOccurrence()
082         */
083        void setOccurrence(String occurrence);
084    
085        /**
086         * A URI specifying the detailed semantics of the element.
087         * 
088         * @return value of the definitionURL attribute.
089         */
090        String getDefinitionURL();
091    
092        /**
093         * setter for the definitionURL attribute.
094         * 
095         * @param definitionURL
096         *            new value for definitionURL.
097         * @see #getDefinitionURL()
098         */
099        void setDefinitionURL(String definitionURL);
100    
101        /**
102         * A description of the syntax used in definitionURL.
103         * 
104         * @return value of the encoding attribute.
105         */
106        String getEncoding();
107    
108        /**
109         * setter for the encoding attribute.
110         * 
111         * @param encoding
112         *            new value for encoding.
113         * @see #getEncoding()
114         */
115        void setEncoding(String encoding);
116    
117        /**
118         * A MathMLCiElement representing the name being declared.
119         * 
120         * @return value of the identifier attribute.
121         */
122        MathMLCiElement getIdentifier();
123    
124        /**
125         * setter for the identifier attribute.
126         * 
127         * @param identifier
128         *            new value for identifier.
129         * @see #getIdentifier()
130         */
131        void setIdentifier(MathMLCiElement identifier);
132    
133        /**
134         * An optional MathMLElement providing an initial value for the object
135         * being declared.
136         * 
137         * @return value of the constructor attribute.
138         */
139        MathMLElement getConstructor();
140    
141        /**
142         * setter for the constructor attribute.
143         * 
144         * @param constructor
145         *            new value for constructor.
146         * @see #getConstructor()
147         */
148        void setConstructor(MathMLElement constructor);
149    };