diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/Tag20ElementCollection.java')
-rw-r--r-- | bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/Tag20ElementCollection.java | 693 |
1 files changed, 0 insertions, 693 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/Tag20ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/Tag20ElementCollection.java deleted file mode 100644 index 8dd86bc99a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/Tag20ElementCollection.java +++ /dev/null @@ -1,693 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.html.core.internal.contentmodel; - - - -import java.lang.reflect.Field; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Factory for element declarations of JSP 2.0 Tag files. - */ -final class Tag20ElementCollection extends JSPElementCollection implements JSP20Namespace.ElementName { - // element IDs - private static class TagIds20 { - public static final int ID_SCRIPTLET = 0; - public static final int ID_EXPRESSION = 1; - public static final int ID_DECLARATION = 2; - public static final int ID_DIRECTIVE_TAG = 3; - public static final int ID_DIRECTIVE_INCLUDE = 4; - public static final int ID_DIRECTIVE_TAGLIB = 5; - public static final int ID_USEBEAN = 6; - public static final int ID_SETPROPERTY = 7; - public static final int ID_GETPROPERTY = 8; - public static final int ID_INCLUDE = 9; - public static final int ID_FORWARD = 10; - public static final int ID_PLUGIN = 11; - public static final int ID_PARAMS = 12; - public static final int ID_FALLBACK = 13; - public static final int ID_PARAM = 14; - public static final int ID_ROOT = 15; - public static final int ID_TEXT = 16; - public static final int ID_DIRECTIVE_VARIABLE = 17; - public static final int ID_DIRECTIVE_ATTRIBUTE = 18; - public static final int ID_BODY = 19; - public static final int ID_ATTRIBUTE = 20; - public static final int ID_ELEMENT = 21; - public static final int ID_DOBODY = 22; - public static final int ID_INVOKE = 23; - public static final int ID_OUTPUT = 24; - - // chache the result of the reflection. - private static int numofids = -1; - - public static int getNumOfIds() { - if (numofids != -1) - return numofids; - - // NOTE: If the reflection is too slow, this method should - // just return the literal value, like 105. - // -- 5/25/2001 - Class clazz = TagIds20.class; - Field[] fields = clazz.getFields(); - numofids = 0; - for (int i = 0; i < fields.length; i++) { - String name = fields[i].getName(); - if (name.startsWith("ID_"))//$NON-NLS-1$ - numofids++; - } - return numofids; - } - } - - // attribute creater - private class TACreater20 extends JACreater { - - public TACreater20() { - super(); - } - - private void createForAttribute() { - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_TRIM); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_TRIM, adec); - } - - private void createForBody() { - } - - private void createForDirAttribute() { - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_REQUIRED); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = new String[]{ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_REQUIRED, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_FRAGMENT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - values = new String[]{ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_FRAGMENT, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_RTEXPRVALUE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - values = new String[]{ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_RTEXPRVALUE, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_TYPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_TYPE, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DESCRIPTION); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DESCRIPTION, adec); - } - - private void createForDirTag() { - // ("import" URI optional) - AttrDecl adec = new AttrDecl(ATTR_NAME_IMPORT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(ATTR_NAME_IMPORT, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DISPLAY_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ID); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DISPLAY_NAME, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_BODY_CONTENT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {JSP20Namespace.ATTR_VALUE_EMPTY, JSP20Namespace.ATTR_VALUE_TAGDEPENDENT, JSP20Namespace.ATTR_VALUE_SCRIPTLESS}; - adec.type.setEnumValues(values); - adec.usage = CMAttributeDeclaration.OPTIONAL; - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_SCRIPTLESS); - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_BODY_CONTENT, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DYNAMIC_ATTRIBUTES); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DYNAMIC_ATTRIBUTES, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_SMALL_ICON); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_SMALL_ICON, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_LARGE_ICON); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_LARGE_ICON, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DESCRIPTION); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DESCRIPTION, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_EXAMPLE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_EXAMPLE, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_LANGUAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_JAVA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_LANGUAGE, adec); - - adec = new AttrDecl(JSP11Namespace.ATTR_NAME_IMPORT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP11Namespace.ATTR_NAME_IMPORT, adec); - - adec = new AttrDecl(JSP11Namespace.ATTR_NAME_PAGE_ENCODING); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_ENCODING_DEFAULT); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP11Namespace.ATTR_NAME_PAGE_ENCODING, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_ISELIGNORED); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - values = new String[]{ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_ISELIGNORED, adec); - } - - /** - * Changed in 2.0 (tagdir added) - */ - void createForDirTaglib() { - // ("uri" URI OPTIONAL) - AttrDecl adec = new AttrDecl(ATTR_NAME_URI); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(ATTR_NAME_URI, adec); - - // ("tagdir" URI OPTIONAL) - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_TAGDIR); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_TAGDIR, adec); - - // ("prefix" CDATA REQUIRED) - adec = new AttrDecl(ATTR_NAME_PREFIX); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_PREFIX, adec); - } - - private void createForDirVariable() { - AttrDecl adec = new AttrDecl(JSP20Namespace.ATTR_NAME_NAME_GIVEN); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_NAME_GIVEN, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_NAME_FROM_ATTRIBUTE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_NAME_FROM_ATTRIBUTE, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_ALIAS); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_ALIAS, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_VARIABLE_CLASS); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_VARIABLE_CLASS_DEFAULT); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_VARIABLE_CLASS, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DECLARE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = new String[]{ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DECLARE, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DESCRIPTION); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DESCRIPTION, adec); - - adec = new AttrDecl(JSP11Namespace.ATTR_NAME_SCOPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - values = new String[]{JSP20Namespace.ATTR_VALUE_SCOPE_NESTED, JSP20Namespace.ATTR_VALUE_SCOPE_AT_BEGIN, JSP20Namespace.ATTR_VALUE_SCOPE_AT_END}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_SCOPE_NESTED); - declarations.putNamedItem(JSP11Namespace.ATTR_NAME_SCOPE, adec); - } - - private void createForDoBody() { - AttrDecl adec = new AttrDecl(JSP20Namespace.ATTR_NAME_VAR); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_VAR, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_VARREADER); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_VARREADER, adec); - - adec = new AttrDecl(JSP11Namespace.ATTR_NAME_SCOPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_PAGE, ATTR_VALUE_REQUEST, ATTR_VALUE_SESSION, ATTR_VALUE_APPLICATION}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_PAGE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP11Namespace.ATTR_NAME_SCOPE, adec); - } - - private void createForElement() { - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - } - - private void createForInvoke() { - AttrDecl adec = new AttrDecl(JSP20Namespace.ATTR_NAME_FRAGMENT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_FRAGMENT, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_VAR); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_VAR, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_VARREADER); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_VARREADER, adec); - - adec = new AttrDecl(JSP11Namespace.ATTR_NAME_SCOPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_PAGE, ATTR_VALUE_REQUEST, ATTR_VALUE_SESSION, ATTR_VALUE_APPLICATION}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_PAGE); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP11Namespace.ATTR_NAME_SCOPE, adec); - } - - private void createForOutput() { - AttrDecl adec = new AttrDecl(JSP20Namespace.ATTR_NAME_OMIT_XML_DECL); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE, JSP20Namespace.ATTR_VALUE_YES, JSP20Namespace.ATTR_VALUE_NO}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_NO); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_OMIT_XML_DECL, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DOCTYPE_ROOT_ELEMENT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DOCTYPE_ROOT_ELEMENT, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DOCTYPE_SYSTEM); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DOCTYPE_SYSTEM, adec); - - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_DOCTYPE_PUBLIC); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.OPTIONAL; - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_DOCTYPE_PUBLIC, adec); - } - - private void createForRoot() { - // ("xmlns:jsp" CDATA "http://java.sun.com/JSP/Page") - AttrDecl adec = new AttrDecl(ATTR_NAME_XMLNS_JSP); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_XMLNS_JSP); - declarations.putNamedItem(ATTR_NAME_XMLNS_JSP, adec); - // ("version" CDATA REQUIRED) - adec = new AttrDecl(ATTR_NAME_VERSION); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_JSP_VER_20); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_VERSION, adec); - } - - private void createForPlugin() { - // ("type" ENUM REQUIRED (bean|applet)) - AttrDecl adec = new AttrDecl(ATTR_NAME_TYPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - adec.usage = CMAttributeDeclaration.REQUIRED; - String[] values = {ATTR_VALUE_BEAN, ATTR_VALUE_APPLET}; - adec.type.setEnumValues(values); - declarations.putNamedItem(ATTR_NAME_TYPE, adec); - - // ("code" CDATA REQUIRED) - adec = new AttrDecl(ATTR_NAME_CODE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_CODE, adec); - - // ("codebase" URI REQUIRED) - adec = new AttrDecl(ATTR_NAME_CODEBASE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_CODEBASE, adec); - - // ("align" ENUM IMPLIED (top|middle|bottom|left|right)) - adec = new AttrDecl(ATTR_NAME_ALIGN); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] aligns = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT}; - adec.type.setEnumValues(aligns); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_BOTTOM); - declarations.putNamedItem(ATTR_NAME_ALIGN, adec); - - // ("archive" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_ARCHIVE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_ARCHIVE, adec); - - // ("height" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_HEIGHT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_HEIGHT, adec); - - // ("hspace" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_HSPACE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_HSPACE, adec); - - // ("jreversion" CDATA DECLARED "1.1") - adec = new AttrDecl(ATTR_NAME_JREVERSION); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_JVER12); - declarations.putNamedItem(ATTR_NAME_JREVERSION, adec); - - // ("name" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - // ("vspace" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_VSPACE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_VSPACE, adec); - - // ("width" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_WIDTH); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_WIDTH, adec); - - // ("nspluginurl" URI IMPLIED) - adec = new AttrDecl(ATTR_NAME_NSPLUGINURL); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - declarations.putNamedItem(ATTR_NAME_NSPLUGINURL, adec); - - // ("iepluginurl" URI IMPLIED) - adec = new AttrDecl(ATTR_NAME_IEPLUGINURL); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - declarations.putNamedItem(ATTR_NAME_IEPLUGINURL, adec); - - // ("mayscript" ENUM IMPLIED (true | false) - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_MAYSCRIPT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - adec.type.setEnumValues(new String[] {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}); - declarations.putNamedItem(JSP20Namespace.ATTR_NAME_MAYSCRIPT, adec); - } - - public CMNamedNodeMapImpl getDeclarations(int eid) { - switch (eid) { - case TagIds20.ID_DIRECTIVE_TAG : - createForDirTag(); - break; - case TagIds20.ID_DIRECTIVE_VARIABLE : - createForDirVariable(); - break; - case TagIds20.ID_DIRECTIVE_ATTRIBUTE : - createForDirAttribute(); - break; - case TagIds20.ID_DIRECTIVE_TAGLIB : - createForDirTaglib(); - break; - case TagIds20.ID_ATTRIBUTE : - createForAttribute(); - break; - case TagIds20.ID_ELEMENT : - createForElement(); - break; - case TagIds20.ID_BODY : - createForBody(); - break; - case TagIds20.ID_DOBODY : - createForDoBody(); - break; - case TagIds20.ID_INVOKE : - createForInvoke(); - break; - case TagIds20.ID_OUTPUT : - createForOutput(); - break; - case TagIds20.ID_ROOT : - createForRoot(); - break; - case TagIds20.ID_PLUGIN : - createForPlugin(); - break; - default : - super.getDeclarations(eid); - break; - } - return declarations; - } - } - - private static String[] names = null; - - static { - names = new String[TagIds20.getNumOfIds()]; - names[TagIds20.ID_SCRIPTLET] = JSP11Namespace.ElementName.SCRIPTLET; - names[TagIds20.ID_EXPRESSION] = JSP11Namespace.ElementName.EXPRESSION; - names[TagIds20.ID_DECLARATION] = JSP11Namespace.ElementName.DECLARATION; - names[TagIds20.ID_DIRECTIVE_TAG] = JSP20Namespace.ElementName.DIRECTIVE_TAG; - names[TagIds20.ID_DIRECTIVE_INCLUDE] = JSP11Namespace.ElementName.DIRECTIVE_INCLUDE; - names[TagIds20.ID_DIRECTIVE_TAGLIB] = JSP11Namespace.ElementName.DIRECTIVE_TAGLIB; - names[TagIds20.ID_USEBEAN] = JSP11Namespace.ElementName.USEBEAN; - names[TagIds20.ID_SETPROPERTY] = JSP11Namespace.ElementName.SETPROPERTY; - names[TagIds20.ID_GETPROPERTY] = JSP11Namespace.ElementName.GETPROPERTY; - names[TagIds20.ID_INCLUDE] = JSP11Namespace.ElementName.INCLUDE; - names[TagIds20.ID_FORWARD] = JSP11Namespace.ElementName.FORWARD; - names[TagIds20.ID_PLUGIN] = JSP11Namespace.ElementName.PLUGIN; - names[TagIds20.ID_PARAMS] = JSP11Namespace.ElementName.PARAMS; - names[TagIds20.ID_FALLBACK] = JSP11Namespace.ElementName.FALLBACK; - names[TagIds20.ID_PARAM] = JSP11Namespace.ElementName.PARAM; - names[TagIds20.ID_ROOT] = JSP11Namespace.ElementName.ROOT; - names[TagIds20.ID_TEXT] = JSP11Namespace.ElementName.TEXT; - names[TagIds20.ID_DIRECTIVE_VARIABLE] = JSP20Namespace.ElementName.DIRECTIVE_VARIABLE; - names[TagIds20.ID_DIRECTIVE_ATTRIBUTE] = JSP20Namespace.ElementName.DIRECTIVE_ATTRIBUTE; - names[TagIds20.ID_BODY] = JSP20Namespace.ElementName.BODY; - names[TagIds20.ID_ATTRIBUTE] = JSP20Namespace.ElementName.ATTRIBUTE; - names[TagIds20.ID_ELEMENT] = JSP20Namespace.ElementName.ELEMENT; - names[TagIds20.ID_DOBODY] = JSP20Namespace.ElementName.DOBODY; - names[TagIds20.ID_INVOKE] = JSP20Namespace.ElementName.INVOKE; - names[TagIds20.ID_OUTPUT] = JSP20Namespace.ElementName.OUTPUT; - } - - /** - */ - public Tag20ElementCollection() { - super(Tag20ElementCollection.names, TOLERANT_CASE); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param elementName - * java.lang.String - */ - protected CMNode create(String elementName) { - return createElemDecl(getID(elementName)); - } - - /** - * @param eid - * int - */ - CMGroupImpl createContent(int eid) { - if (eid == ID_UNKNOWN) - return null; - - CMGroupImpl content = null; - CMNode child = null; - - switch (eid) { - case Ids.ID_ROOT : - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - int validChildren[] = { - // %Directives; - Ids.ID_TEXT, Ids.ID_DIRECTIVE_PAGE, Ids.ID_DIRECTIVE_INCLUDE, TagIds20.ID_DIRECTIVE_TAG, TagIds20.ID_DIRECTIVE_VARIABLE, TagIds20.ID_DIRECTIVE_ATTRIBUTE, TagIds20.ID_BODY, TagIds20.ID_ATTRIBUTE, - // %Scripts; - Ids.ID_SCRIPTLET, Ids.ID_DECLARATION, Ids.ID_EXPRESSION, - // %Actions; - Ids.ID_USEBEAN, Ids.ID_SETPROPERTY, Ids.ID_GETPROPERTY, Ids.ID_INCLUDE, Ids.ID_FORWARD, Ids.ID_PLUGIN}; - for (int i = 0; i < validChildren.length; i++) { - child = item(validChildren[i]); - if (child != null) - content.appendChild(child); - } - break; - default : - content = super.createContent(eid); - break; - } - - return content; - } - - /** - * @param eid - * int - */ - HTMLElementDeclaration createElemDecl(int eid) { - if (eid == ID_UNKNOWN) - return null; - - TypePacket packet = new TypePacket(); - switch (eid) { - case TagIds20.ID_DIRECTIVE_TAG : - // directive.taglib - packet.name = DIRECTIVE_TAG; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case TagIds20.ID_DIRECTIVE_VARIABLE : - // directive.taglib - packet.name = DIRECTIVE_VARIABLE; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case TagIds20.ID_DIRECTIVE_ATTRIBUTE : - // directive.taglib - packet.name = DIRECTIVE_ATTRIBUTE; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case TagIds20.ID_DIRECTIVE_TAGLIB : - // directive.taglib - packet.name = DIRECTIVE_TAGLIB; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case TagIds20.ID_BODY : - // declaration - packet.name = BODY; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_ELEMENT : - // declaration - packet.name = JSP20Namespace.ElementName.ELEMENT; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_ATTRIBUTE : - // declaration - packet.name = JSP20Namespace.ElementName.ATTRIBUTE; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_DOBODY : - // declaration - packet.name = JSP20Namespace.ElementName.DOBODY; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_INVOKE : - // declaration - packet.name = JSP20Namespace.ElementName.INVOKE; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_OUTPUT : - // declaration - packet.name = JSP20Namespace.ElementName.OUTPUT; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case TagIds20.ID_ROOT : - packet.name = ROOT; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; // same as HTML - break; - case TagIds20.ID_PLUGIN : - // plugin - packet.name = PLUGIN; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - break; - default : - return super.createElemDecl(eid); - } - ElemDecl decl = new ElemDecl(packet); - - CMGroupImpl content = createContent(eid); - if (content != null) - decl.setContent(content); - - TACreater20 creater = new TACreater20(); - decl.setAttributes(creater.getDeclarations(eid)); - - return decl; - } -} |