/*******************************************************************************
 * Copyright (c) 2006 Sybase, Inc. and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Sybase, Inc. - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.pagedesigner.jsp.core;

/**
 * @author mengbo
 * @version 1.5
 */
public interface IJSPCoreConstants 
{
    /**
     * JSP tag name
     */
    final static public String TAG_ATTRIBUTE = "attribute"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_BODY = "body"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_ELEMENT = "element"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_EXPRESSION = "expression"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_DECLARATION = "declaration"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_DIRECTIVE_INCLUDE = "directive.include"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_DIRECTIVE_PAGE = "directive.page"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_DIRECTIVE_TAGLIB = "directive.taglib"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_DOBODY = "doBody"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_FORWARD = "forward"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_GETPROPERTY = "getProperty"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_INCLUDE = "include"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_INVOKE = "invoke"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_OUTPUT = "output"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_PLUGIN = "plugin"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_ROOT = "root"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_SCRIPTLET = "scriptlet"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_SETPROPERTY = "setProperty"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_TEXT = "text"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_USEBEAN = "useBean"; //$NON-NLS-1$

    /**
     * JSP tag name
     */
	final static public String TAG_LEADING_DIRECTIVE = "directive."; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_ALIGN = "align"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_ARCHIVE = "archive"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_BEANNAME = "beanName"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_CLASS = "class"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_CODE = "code"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_CODEBASE = "codebase"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_DOCTYPEROOTELEMENT = "doctype-root-element"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_DOCTYPESYSTEM = "doctype-system"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_DOCTYPEPUBLIC = "doctype-public"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_FILE = "file"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_FRAGMENT = "fragment"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_HEIGHT = "height"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_HSPACE = "hspace"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_ID = "id"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_IEPLUGINURL = "iepluginurl"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_JREVERSION = "jreversion"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_NAME = "name"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_NSPLUGINURL = "nspluginurl"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_OMITXMLDECLARATION = "omit-xml-declaration"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_PAGE = "page"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_PROPERTY = "property"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_SCOPE = "scope"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_TRIM = "trim"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_TYPE = "type"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_URI = "uri"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final public static String ATTR_TAGDIR = "tagdir"; //$NON-NLS-1$
    /**
     * JSP tag attribute name
     */
	final static public String ATTR_VALUE = "value"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_VAR = "var"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_VARREADER = "varReader"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_VERSION = "version"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_XMLNSJSP = "xmlns:jsp"; //$NON-NLS-1$

    /**
     * JSP tag attribute name
     */
	final static public String ATTR_XMLNSTAGLIBPREFIX = "xmlns:taglibPrefix"; //$NON-NLS-1$

}
