diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel')
212 files changed, 0 insertions, 22494 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/AttributeCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/AttributeCollection.java deleted file mode 100644 index ab2a71c236..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/AttributeCollection.java +++ /dev/null @@ -1,1285 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNode; - -/** - * Factory for attribute declarations. - */ -final class AttributeCollection extends CMNamedNodeMapImpl implements HTML40Namespace { - - /** bodycolors. */ - private static final String[] BODYCOLORS = {ATTR_NAME_BGCOLOR, ATTR_NAME_TEXT, ATTR_NAME_LINK, ATTR_NAME_VLINK, HTML40Namespace.ATTR_NAME_ALINK}; - /** coreattrs. */ - private static final String[] CORE = {ATTR_NAME_ID, ATTR_NAME_CLASS, ATTR_NAME_STYLE, ATTR_NAME_TITLE}; - /** events. */ - private static final String[] EVENTS = {ATTR_NAME_ONCLICK, ATTR_NAME_ONDBLCLICK, ATTR_NAME_ONMOUSEDOWN, ATTR_NAME_ONMOUSEUP, ATTR_NAME_ONMOUSEOVER, ATTR_NAME_ONMOUSEMOVE, ATTR_NAME_ONMOUSEOUT, ATTR_NAME_ONKEYPRESS, ATTR_NAME_ONKEYDOWN, ATTR_NAME_ONKEYUP, ATTR_NAME_ONHELP}; - /** i18n. lang, dir */ - private static final String[] I18N = {ATTR_NAME_LANG, ATTR_NAME_DIR}; - /** cellhaligh. */ - private static final String[] CELLHALIGN = {ATTR_NAME_CHAR, ATTR_NAME_CHAROFF}; - - /** - * constructor. - */ - public AttributeCollection() { - super(); - } - - /** - * Create an attribute declaration. - * - * @param attrName - * java.lang.String - */ - private HTMLAttrDeclImpl create(String attrName) { - HTMLAttrDeclImpl attr = null; - HTMLCMDataTypeImpl atype = null; - - if (attrName.equalsIgnoreCase(ATTR_NAME_ABBR)) { - // (abbr %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ABBR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCEPT)) { - // (accept %ContentTypes; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCEPT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCEPT_CHARSET)) { - // (accept-charset %Charsets;; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSETS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCEPT_CHARSET, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ACTION)) { - // (action %URI #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ACTION, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ARCHIVE)) { - // (archive CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ARCHIVE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ACCESSKEY)) { - // (accesskey %Character; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ACCESSKEY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ALINK)) { - // (alink %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ALINK, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ALT)) { - // (alt %Text; #REQUIRED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ALT, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOSTART)) { - // (autostart (true|false) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOSTART, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOPLAY)) { - // (autoplay (true|false) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOPLAY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOSIZE)) { - // (autosize (true|false) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOSIZE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_AXIS)) { - // (axis CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AXIS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BACKGROUND)) { - // (background %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BACKGROUND, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BEHAVIOR)) { - // (behavior (scroll|slide|alternate) scroll) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_SCROLL, ATTR_VALUE_SLIDE, ATTR_VALUE_ALTERNATE}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_SCROLL); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BEHAVIOR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BGCOLOR)) { - // (bgcolor %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BGCOLOR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDER)) { - // (border %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CELLSPACING)) { - // (cellspacing %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLSPACING, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CELLPADDING)) { - // (cellpadding %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLPADDING, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CGI)) { - // (cgi %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CGI, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHAR)) { - // (char %Character; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHAR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHAROFF)) { - // (charoff %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHAROFF, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHARSET)) { - // (charset %Charset; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHARSET, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CITE)) { - // (cite %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CITE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CLASS)) { - // (class CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CLASS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CLASSID)) { - // (classid %URI #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CLASSID, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CMD)) { - // (cmd CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CMD, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHECKED)) { - // (checked (checked) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_CHECKED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHECKED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CLEAR)) { - // (clear (left | all | right | none) none) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_ALL, ATTR_VALUE_RIGHT, ATTR_VALUE_NONE}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_NONE); - - attr = new HTMLAttrDeclImpl(ATTR_NAME_CLEAR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CODE)) { - // (code CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CODE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CODEBASE)) { - // (codebase %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CODEBASE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CODETYPE)) { - // (codetype %CotentType; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CODETYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COLOR)) { - // (color %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COLOR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COMPACT)) { - // (compact (compact) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_COMPACT}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COMPACT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COLS)) { - // (cols NUMBER #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COLS, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COLSPAN)) { - // (colspan NUMBER 1) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COLSPAN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTENT)) { - // (content CDATA #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTENT, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTROLLER)) { - // (controller (true|false) true) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTROLLER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COORDS)) { - // (coords %Coords; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COORDS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COORDS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DATA)) { - // (data %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DATA, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DATETIME)) { - // (datetime %Datetime; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.DATETIME); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DATETIME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DATAPAGESIZE)) { - // (datapagesize CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DATAPAGESIZE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DECLARE)) { - // (declare (declare) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_DECLARE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DECLARE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DEFER)) { - // (defer (defer) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_DEFER}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DEFER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DIR)) { - // (dir (ltr|rtl) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_LTR, ATTR_VALUE_RTL}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DIR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DIRECTION)) { - // (direction (left|right|up|down) left) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT, ATTR_VALUE_UP, ATTR_VALUE_DOWN}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DIRECTION, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DIRECTKEY)) { - // (directkey %Character; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DIRECTKEY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DISABLED)) { - // (disabled (disabled) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] values = {ATTR_NAME_DISABLED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DISABLED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ENCTYPE)) { - // (enctype %ContentType; "application/x-www-form-urlencoded") - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ENCTYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ERRMSG)) { - // (errmsg CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ERRMSG, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_EVENT)) { - // (event CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_EVENT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FACE)) { - // (face CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FACE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FILE)) { - // (file %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FILE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FOR)) { - // (for %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FOR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAME)) { - // (frame %TFrame; #IMPLIED) - // %TFrame; is - // (void|above|below|hsides|lhs|rhs|vsides|box|border). - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_VOID, ATTR_VALUE_ABOVE, ATTR_VALUE_BELOW, ATTR_VALUE_HSIDES, ATTR_VALUE_LHS, ATTR_VALUE_RHS, ATTR_VALUE_VSIDES, ATTR_VALUE_BOX, ATTR_VALUE_BORDER}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAMEBORDER)) { - // (frameborder (1|0) 1) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_1, ATTR_VALUE_0}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAMEBORDER, atype, CMAttributeDeclaration.OPTIONAL); - - // <<D215684 - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FRAMESPACING)) { - // (framespacing CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAMESPACING, atype, CMAttributeDeclaration.OPTIONAL); - // D215684 - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HEADERS)) { - // (HEADERS IDREFS; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.IDREFS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HEADERS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HEIGHT)) { - // (height %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HIDDEN)) { - // (hidden CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HIDDEN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HREF)) { - // (href %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HREF, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HREFLANG)) { - // (hreflang %LanguageCode; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LANGUAGE_CODE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HREFLANG, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HSPACE)) { - // (hspace %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HTTP_EQUIV)) { - // (http-equiv NAME #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HTTP_EQUIV, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ID)) { - // (id ID #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ID); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ID, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ISMAP)) { - // (ismap (ismap) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_ISMAP}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ISMAP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ISTYLE)) { - // (istyle CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ISTYLE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LABEL)) { - // (label %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LABEL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LANG)) { - // (lang %LanguageCode; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LANGUAGE_CODE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LANG, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LANGUAGE)) { - // (language %CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LANGUAGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LINK)) { - // (link %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LINK, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LONGDESC)) { - // (longdesc %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LONGDESC, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LOOP)) { - // (loop CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LOOP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MACRO)) { - // (macro CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MACRO, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MAPFILE)) { - // (mapfile %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAPFILE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MARGINWIDTH)) { - // (marginwidth %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINWIDTH, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MARGINHEIGHT)) { - // (marginheight %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINHEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MAXLENGTH)) { - // (maxlength NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAXLENGTH, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MAYSCRIPT)) { - // (mayscript (mayscript) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_MAYSCRIPT}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAYSCRIPT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MEDIA)) { - // (media %MediaDesc; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MEDIA_DESC); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MEDIA, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_METHOD)) { - // (method (GET|POST) GET) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_GET, ATTR_VALUE_POST}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_METHOD, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MULTIPLE)) { - // (multiple (multiple) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_MULTIPLE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MULTIPLE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NAME)) { - // (name CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NOHREF)) { - // (nohref (nohref) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NOHREF}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NOHREF, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NORESIZE)) { - // (noresize (noresize) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NORESIZE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NORESIZE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NOSHADE)) { - // (noshade (noshade) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NOSHADE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NOSHADE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NOWRAP)) { - // (nowrap (nowrap) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NOWRAP}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NOWRAP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_OBJECT)) { - // (object CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_OBJECT}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_OBJECT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONBLUR)) { - // (onblur %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONBLUR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCLICK)) { - // (onclick %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCLICK, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCHANGE)) { - // (onchange %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCHANGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDBLCLICK)) { - // (ondblclick %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDBLCLICK, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONFOCUS)) { - // (onfocus %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONFOCUS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONHELP)) { - // (onhelp %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONHELP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYPRESS)) { - // (onkeypress %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYPRESS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYDOWN)) { - // (onkeydown %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYDOWN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONKEYUP)) { - // (onkyeup %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONKEYUP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONLOAD)) { - // (onload %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONLOAD, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEDOWN)) { - // (onmousedown %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEDOWN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEUP)) { - // (onmouseup %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEUP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEOVER)) { - // (onmouseover %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEOVER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEMOVE)) { - // (onmousemove %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEMOVE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSEOUT)) { - // (onmouseout %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSEOUT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONRESET)) { - // (onreset %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONRESET, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSELECT)) { - // (onselect %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSELECT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSUBMIT)) { - // (onsubmit %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSUBMIT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONUNLOAD)) { - // (onunload %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONUNLOAD, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PALETTE)) { - // (palette CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PALETTE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PANEL)) { - // (panel CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PANEL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PLAYCOUNT)) { - // (playcount NUMBER; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PLAYCOUNT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PROFILE)) { - // (profile %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PROFILE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PROMPT)) { - // (prompt %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PROMPT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_READONLY)) { - // (readonly (readonly) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_READONLY}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_READONLY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_REPEAT)) { - // (repeat CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REPEAT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_REL)) { - // (rel %LinkTypes; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_REV)) { - // (rev %LinkTypes; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REV, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWS)) { - // (rows NUMBER #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWS, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWSPAN)) { - // (rowspan NUMBER 1) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWSPAN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_RULES)) { - // (rules %TRules; #IMPLIED) - // %TRules; is (none | groups | rows | cols | all). - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_NONE, ATTR_VALUE_GROUPS, ATTR_VALUE_ROWS, ATTR_VALUE_COLS, ATTR_VALUE_ALL}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_RULES, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCALE)) { - // (scale CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCALE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCHEME)) { - // (scheme CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCHEME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SELECTED)) { - // (selected (selected) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_SELECTED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SELECTED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCOPE)) { - // (SCOPE %Scope; #IMPLIED) - // %Scope; is (row|col|rowgroup|colgroup) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_ROW, ATTR_VALUE_COL, ATTR_VALUE_ROWGROUP, ATTR_VALUE_COLGROUP}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCOPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLAMOUNT)) { - // (scrollamount NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLAMOUNT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLDELAY)) { - // (scrolldelay NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLDELAY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SCROLLING)) { - // (scrolling (yes|no|auto) auto) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_YES, ATTR_VALUE_NO, ATTR_VALUE_AUTO}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_AUTO); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCROLLING, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SHAPE)) { - // (shape %Shape; rect): %Shape; is (rect|circle|poly|default). - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_RECT, ATTR_VALUE_CIRCLE, ATTR_VALUE_POLY, ATTR_VALUE_DEFAULT}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_RECT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SHAPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SHOWCONTROLS)) { - // (showcontrols (true|false) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SHOWCONTROLS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZE)) { - // (size %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZEFMT)) { - // (sizefmt CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZEFMT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SPAN)) { - // (span NUMBER 1) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SPAN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SRC)) { - // (src %URI; #IMPLIED) - // NOTE: "src" attributes are defined in several elements. - // The definition of IMG is different from others. - // So, it should be locally defined. - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SRC, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_START)) { - // (start NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_START, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_STANDBY)) { - // (standby %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_STANDBY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_STYLE)) { - // (style %StyleSheet; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.STYLE_SHEET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_STYLE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SUMMARY)) { - // (summary %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SUMMARY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TABINDEX)) { - // (tabindex NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TABINDEX, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TARGET)) { - // (target %FrameTarget; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.FRAME_TARGET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TARGET, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TEXT)) { - // (text %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TEXT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TEXTFOCUS)) { - // (textfocus CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TEXTFOCUS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TITLE)) { - // (title %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TITLE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TIMEFMT)) { - // (timefmt CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TIMEFMT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TRUESPEED)) { - // (truespeed (truespeed) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_TRUESPEED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TRUESPEED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TYPE)) { - // (type %CotentType; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_USEMAP)) { - // (usemap %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_USEMAP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VALIGN)) { - // (valign (top|middle|bottom|baseline) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_BASELINE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALIGN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUE)) { - // (value CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUETYPE)) { - // (valuetype (DATA|REF|OBJECT) DATA) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_DATA, ATTR_VALUE_REF, ATTR_VALUE_OBJECT}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_DATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUETYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VAR)) { - // (var CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VAR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VERSION)) { - // (version CDATA #FIXED '%HTML.Version;) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_FIXED, ATTR_VALUE_VERSION_TRANSITIONAL); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VERSION, atype, CMAttributeDeclaration.FIXED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VIRTUAL)) { - // (virtual %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VIRTUAL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VLINK)) { - // (vlink %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VLINK, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VOLUME)) { - // (volume CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VOLUME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_WIDTH)) { - // (width %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VSPACE)) { - // (vspace %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL); - - // <<D205514 - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TOPMARGIN)) { - // (topmargin, CDATA, #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TOPMARGIN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BOTTOMMARGIN)) { - // (bottommargin, CDATA, #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BOTTOMMARGIN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LEFTMARGIN)) { - // (leftmargin, CDATA, #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LEFTMARGIN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_RIGHTMARGIN)) { - // (rightmargin, CDATA, #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_RIGHTMARGIN, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDERCOLOR)) { - // (bordercolor, %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDERCOLOR, atype, CMAttributeDeclaration.OPTIONAL); - // D205514 - - } - else { - // unknown attribute; maybe error. - // should warn. - attr = null; - } - - return attr; - } - - /** - * Get align attribute which has %CAlign; as values.. At this time - * (4/19/2001), it is identical to %LAlign;. - * - */ - public static final HTMLAttrDeclImpl createAlignForCaption() { - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values - String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Get align attribute which has %IAlign; as values.. - */ - public static final HTMLAttrDeclImpl createAlignForImage() { - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values - String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Get align attribute which has %LAlign; as values.. - */ - public static final HTMLAttrDeclImpl createAlignForLegend() { - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values - String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Create an attribute declaration for <code>align</code> in several - * elements, like <code>P</code>, <code>DIV</code>. The values are - * different from attributes those have the same name in other elements (<code>IMG</code> - * and <code>TABLE</code>). So, it can't treat as global attributes. - * <strong>NOTE: These attribute declaration has no owner CMDocument - * instance.</strong> - */ - public static final HTMLAttrDeclImpl createAlignForParagraph() { - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values: left|center|right|justify - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT, ATTR_VALUE_JUSTIFY}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Get %attrs; declarations. %attrs; consists of %coreattrs;, %i18n, and - * %events;. - */ - public void getAttrs(CMNamedNodeMapImpl declarations) { - // %coreattrs; - Iterator names = Arrays.asList(CORE).iterator(); - getDeclarations(declarations, names); - // %i18n; - names = Arrays.asList(I18N).iterator(); - getDeclarations(declarations, names); - // %events; - names = Arrays.asList(EVENTS).iterator(); - getDeclarations(declarations, names); - } - - /** - * Get %bodycolors; declarations. - */ - public void getBodycolors(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(BODYCOLORS).iterator(); - getDeclarations(declarations, names); - } - - /** - * Get %cellhalign; declarations. %cellhaligh; consists of: - (align - * (left|center|right|justify|char) #IMPLIED) - (char %Character; - * #IMPLIED) - (charoff %Length; #IMPLIED) - */ - public void getCellhalign(CMNamedNodeMapImpl declarations) { - // (align (left|center|right|justify|char) #IMPLIED) should be defined - // locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT, ATTR_VALUE_JUSTIFY, ATTR_VALUE_CHAR}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - declarations.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - - // the rest. - Iterator names = Arrays.asList(CELLHALIGN).iterator(); - getDeclarations(declarations, names); - } - - /** - * Get %cellvalign; declarations. %cellhaligh; is: - (valign - * (top|middle|bottom|baseline) #IMPLIED) - */ - public void getCellvalign(CMNamedNodeMapImpl declarations) { - HTMLAttributeDeclaration dec = getDeclaration(HTML40Namespace.ATTR_NAME_VALIGN); - if (dec != null) - declarations.putNamedItem(HTML40Namespace.ATTR_NAME_VALIGN, dec); - } - - /** - * Get %coreattrs; declarations. - */ - public void getCore(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(CORE).iterator(); - getDeclarations(declarations, names); - } - - /** - * Get a global attribute declaration. - * - * @param attrName - * java.lang.String - */ - public HTMLAttributeDeclaration getDeclaration(String attrName) { - CMNode cmnode = getNamedItem(attrName); - if (cmnode != null) - return (HTMLAttributeDeclaration) cmnode; // already exists. - - HTMLAttrDeclImpl dec = create(attrName); - if (dec != null) - putNamedItem(attrName, dec); - - return dec; - } - - /** - * Get declarations which are specified by names. - * - * @param names - * java.util.Iterator - */ - public void getDeclarations(CMNamedNodeMapImpl declarations, Iterator names) { - while (names.hasNext()) { - String attrName = (String) names.next(); - HTMLAttributeDeclaration dec = getDeclaration(attrName); - if (dec != null) - declarations.putNamedItem(attrName, dec); - } - } - - /** - * Get %events; declarations. - */ - public void getEvents(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(EVENTS).iterator(); - getDeclarations(declarations, names); - } - - /** - * Get %i18n; declarations. - */ - public void getI18n(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(I18N).iterator(); - getDeclarations(declarations, names); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMContentImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMContentImpl.java deleted file mode 100644 index 07973a51c3..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMContentImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMContent; - - - -/** - * Implementation of CMContent for HTML CM. - */ -abstract class CMContentImpl extends CMNodeImpl implements CMContent { - - public static final int UNBOUNDED = -1; - /** -1: it's UNBOUNDED. */ - private int maxOccur = UNBOUNDED; - /** 0: it's OPTIONAL, 1, it's REQUIRED. */ - private int minOccur = 0; - - /** - * The primary consturctor. - * Use this one for usual cases.<br> - */ - public CMContentImpl(String name, int min, int max) { - super(name); - minOccur = min; - maxOccur = max; - } - - /** - * getMaxOccur method - * @return int - * - * If -1, it's UNBOUNDED. - */ - public int getMaxOccur() { - return maxOccur; - } - - /** - * getMinOccur method - * @return int - * - * If 0, it's OPTIONAL. - * If 1, it's REQUIRED. - */ - public int getMinOccur() { - return minOccur; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMGroupImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMGroupImpl.java deleted file mode 100644 index 0108c618cb..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMGroupImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList; - -/** - */ -class CMGroupImpl extends CMContentImpl implements CMGroup { - - private int operator = CMGroup.SEQUENCE; - private CMNodeListImpl children = null; - - /** - * CMGroupImpl constructor comment. - */ - public CMGroupImpl(int op, int minOccur, int maxOccur) { - super(null, minOccur, maxOccur); - switch (op) { - case CMGroup.ALL : - case CMGroup.CHOICE : - case CMGroup.SEQUENCE : - operator = op; - break; - default : - // should warn. - break; - } - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - protected CMNode appendChild(CMNode child) { - if (child == null) - return null; - if (children == null) - children = new CMNodeListImpl(); - return children.appendNode(child); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList - */ - public CMNodeList getChildNodes() { - return children; - } - - /** - * getNodeType method - * @return int - * - * Returns one of : - * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.GROUP; - } - - /** - * getOperation method - * @return int - * - * Returns one of : - * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b). - */ - public int getOperator() { - return operator; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamedNodeMapImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamedNodeMapImpl.java deleted file mode 100644 index f8a5e601b8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamedNodeMapImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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.util.Hashtable; -import java.util.Iterator; -import java.util.Locale; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * An implementation of the CMNamedNodeMap interface. This class is intented - * to be used as a container of attribute declarations. If someone wants to - * use this class for other purpose, he must pay attention to the fact that - * this class is tolerant of the key name case. That is, this class does not - * distinguish "name", "NAME", and "Name" as a key name. - */ -class CMNamedNodeMapImpl implements CMNamedNodeMap { - - private Hashtable items = null; - - /** - */ - public CMNamedNodeMapImpl() { - super(); - items = new Hashtable(); - } - - /** - * getLength method - * - * @return int - */ - public int getLength() { - return items.size(); - } - - /** - * getNamedItem method - * - * @return CMNode <code>null</code> for unknown keys. - * @param name - * java.lang.String - */ - public CMNode getNamedItem(String name) { - String cookedName = makeCanonicalForm(name); - if (!items.containsKey(cookedName)) - return null; - return (CMNode) items.get(cookedName); - } - - /** - * item method - * - * @return CMNode - * @param index - * int - */ - public CMNode item(int index) { - Iterator iter = iterator(); - while (iter.hasNext()) { - CMNode node = (CMNode) iter.next(); - if (--index < 0) - return node; - } - return null; - } - - /** - * @return java.util.Iterator - */ - public Iterator iterator() { - return items.values().iterator(); - } - - /** - * @return java.lang.String - * @param rawForm - * java.lang.String - */ - private String makeCanonicalForm(String raw) { - // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=100152 - // we are able to "cheat" here a little and use US Locale - // to get a good cononical form, since we are using this only - // for HTML and JSP standard tags. - // Long term, for similar needs with XML 1.1 (for example) - // we should use a class such as com.ibm.icu.text.Normalizer - return raw.toUpperCase(Locale.US); - } - - /** - * @param key - * java.lang.String - * @param item - * java.lang.String - */ - void putNamedItem(String name, CMNode item) { - String cookedName = makeCanonicalForm(name); - if (items.containsKey(cookedName)) - return; // already registered. - items.put(cookedName, item); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamespaceImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamespaceImpl.java deleted file mode 100644 index 6ef737a913..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNamespaceImpl.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * CMNamespace implementation. - */ -class CMNamespaceImpl extends CMNodeImpl implements CMNamespace { - - private java.lang.String prefix = null; - - /** - * CMNamespaceImpl constructor comment. - */ - public CMNamespaceImpl(String uri, String pfx) { - super(uri); - prefix = pfx; - } - - /** - * getNodeType method - * @return int - * - * Returns one of : - * - */ - public int getNodeType() { - return CMNode.NAME_SPACE; - } - - /** - * getPrefix method - * @return java.lang.String - */ - public String getPrefix() { - return prefix; - } - - /** - * getURI method - * @return java.lang.String - */ - public String getURI() { - return getNodeName(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeImpl.java deleted file mode 100644 index 2f6eb44f7b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeImpl.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - - - -/** - */ -abstract class CMNodeImpl implements CMNode { - - private java.lang.String name = null; - - /** - * CMNodeImpl constructor comment. - */ - public CMNodeImpl(String nm) { - super(); - name = nm; - } - - /** - * getNodeName method - * @return java.lang.String - */ - public String getNodeName() { - return name; - } - - /** - * getProperty method - * @return java.lang.Object - * - * Returns the object property desciped by the propertyName - * - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.IS_XHTML)) - return new Boolean(false); - return null; - } - - /** - * supports method - * @return boolean - * - * Returns true if the CMNode supports a specified property - * - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.IS_XHTML)) - return true; - return false; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeListImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeListImpl.java deleted file mode 100644 index 08bf21ab05..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CMNodeListImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMNode; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList; - -/** - * Analog of dom.NodeList for CM. - * So, the implementation is very similar to - * NodeListImpl<br> - */ -class CMNodeListImpl implements CMNodeList { - - private java.util.Vector nodes = null; - - /** - * CMNodeListImpl constructor comment. - */ - public CMNodeListImpl() { - super(); - nodes = new java.util.Vector(); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - protected CMNode appendNode(CMNode node) { - nodes.addElement(node); - return node; - } - - /** - * getLength method - * @return int - */ - public int getLength() { - return nodes.size(); - } - - /** - * item method - * @return CMNode - * @param index int - */ - public CMNode item(int index) { - if (index < 0 || index >= nodes.size()) - return null; - return (CMNode) nodes.elementAt(index); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinition.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinition.java deleted file mode 100644 index 91dba7ca17..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinition.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * This class is intended to represent a complex type definition - * in XML Schema.<br> - */ -abstract class ComplexTypeDefinition { - - protected CMGroupImpl content = null; - protected ElementCollection collection = null; - protected String primaryCandidateName = null; - - /** - * ComplexTypeDefinition constructor comment. - */ - public ComplexTypeDefinition(ElementCollection elementCollection) { - super(); - collection = elementCollection; - createContent(); - } - - /** - * Create an actual content model. - * This method should be called once and only once in the constructor.<br> - */ - protected abstract void createContent(); - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMGroup - */ - public CMGroup getContent() { - return content; - } - - /** - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - /* NOTE: Do we need LOGICAL type? - * -- 3/7/2001 - */ - public abstract int getContentType(); - - /** - * Get content hint. - */ - public HTMLElementDeclaration getPrimaryCandidate() { - if (primaryCandidateName == null) - return null; - return (HTMLElementDeclaration) collection.getNamedItem(primaryCandidateName); - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public abstract String getTypeName(); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinitionFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinitionFactory.java deleted file mode 100644 index 9a38d5379b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ComplexTypeDefinitionFactory.java +++ /dev/null @@ -1,183 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * Factory of ComplexTypeDefinition. - */ -final class ComplexTypeDefinitionFactory { - - private static ComplexTypeDefinitionFactory instance = null; - private java.util.Hashtable definitions = null; - // constants for complex type name - /** for ADDRESS. */ - public final static String CTYPE_ADDRESS = "CTYPE_ADDRESS";//$NON-NLS-1$ - /** CDATA content. No ComplexTypeDefinition instance shuld be created. */ - public final static String CTYPE_CDATA = "CTYPE_CDATA";//$NON-NLS-1$ - /** col group content. COL* */ - public final static String CTYPE_COLUMN_GROUP = "CTYPE_COLUMN_GROUP";//$NON-NLS-1$ - /** for DL. */ - public final static String CTYPE_DEFINITION_LIST = "CTYPE_DEFINITION_LIST";//$NON-NLS-1$ - /** for EMBED. */ - public final static String CTYPE_EMBED = "CTYPE_EMBED";//$NON-NLS-1$ - /** empty content. No ComplexTypeDefinition instance should be created. */ - public final static String CTYPE_EMPTY = "CTYPE_EMPTY";//$NON-NLS-1$ - /** for FIELDSET. */ - public final static String CTYPE_FIELDSET = "CTYPE_FIELDSET";//$NON-NLS-1$ - /** for FRAMESET. */ - public final static String CTYPE_FRAMESET = "CTYPE_FRAMESET";//$NON-NLS-1$ - /** flow content. (%flow;)* */ - public final static String CTYPE_FLOW_CONTAINER = "CTYPE_FLOW_CONTAINER";//$NON-NLS-1$ - /** html content. HEAD, (FRAMESET|BODY) */ - public final static String CTYPE_HTML = "CTYPE_HTML";//$NON-NLS-1$ - /** head content. TITLE & ISINDEX? & BASE? */ - public final static String CTYPE_HEAD = "CTYPE_HEAD";//$NON-NLS-1$ - /** inline content. (%inline;)* */ - public final static String CTYPE_INLINE_CONTAINER = "CTYPE_INLINE_CONTAINER";//$NON-NLS-1$ - /** list item container. (LI)+ */ - public final static String CTYPE_LI_CONTAINER = "CTYPE_LI_CONTAINER";//$NON-NLS-1$ - /** for MAP. */ - public final static String CTYPE_MAP = "CTYPE_MAP";//$NON-NLS-1$ - /** noframes content. */ - public final static String CTYPE_NOFRAMES_CONTENT = "CTYPE_NOFRAMES_CONTENT";//$NON-NLS-1$ - /** for OPTGROUP. */ - public final static String CTYPE_OPTION_CONTAINER = "CTYPE_OPTION_CONTAINER";//$NON-NLS-1$ - /** param container. For OBJECT/APPLET. */ - public final static String CTYPE_PARAM_CONTAINER = "CTYPE_PARAM_CONTAINER";//$NON-NLS-1$ - /** PCDATA content. No ComplexTypeDefinition instance shuld be created. */ - public final static String CTYPE_PCDATA = "CTYPE_PCDATA";//$NON-NLS-1$ - /** for SELECT. */ - public final static String CTYPE_SELECT = "CTYPE_SELECT";//$NON-NLS-1$ - /** table content. CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+ */ - public final static String CTYPE_TABLE = "CTYPE_TABLE";//$NON-NLS-1$ - /** table cell contaier. (TH|TD)+ */ - public final static String CTYPE_TCELL_CONTAINER = "CTYPE_TCELL_CONTAINER";//$NON-NLS-1$ - /** table record container. (TR)+ */ - public final static String CTYPE_TR_CONTAINER = "CTYPE_TR_CONTAINER";//$NON-NLS-1$ - - /** - * ComplexTypeDefinitionFactory constructor comment. - */ - private ComplexTypeDefinitionFactory() { - super(); - definitions = new java.util.Hashtable(); - } - - /** - * Factory method for ComplexTypeDefinition. - * Each instance created in this method must be registered into - * the map with its name. - * @param definitionName java.lang.String - * @param elementCollection ElementCollection - */ - public ComplexTypeDefinition createTypeDefinition(String definitionName, ElementCollection elementCollection) { - if (definitions.containsKey(definitionName)) { - return (ComplexTypeDefinition) definitions.get(definitionName); - } - - ComplexTypeDefinition def = null; - if (definitionName == CTYPE_ADDRESS) { - def = new CtdAddress(elementCollection); - - } - else if (definitionName == CTYPE_COLUMN_GROUP) { - def = new CtdColumnGroup(elementCollection); - - } - else if (definitionName == CTYPE_DEFINITION_LIST) { - def = new CtdDl(elementCollection); - - } - else if (definitionName == CTYPE_EMBED) { - def = new CtdEmbed(elementCollection); - - } - else if (definitionName == CTYPE_FIELDSET) { - def = new CtdFieldset(elementCollection); - - } - else if (definitionName == CTYPE_FLOW_CONTAINER) { - def = new CtdFlowContainer(elementCollection); - - } - else if (definitionName == CTYPE_FRAMESET) { - def = new CtdFrameset(elementCollection); - - } - else if (definitionName == CTYPE_HEAD) { - def = new CtdHead(elementCollection); - - } - else if (definitionName == CTYPE_HTML) { - def = new CtdHtml(elementCollection); - - } - else if (definitionName == CTYPE_INLINE_CONTAINER) { - def = new CtdInlineContainer(elementCollection); - - } - else if (definitionName == CTYPE_LI_CONTAINER) { - def = new CtdLiContainer(elementCollection); - - } - else if (definitionName == CTYPE_MAP) { - def = new CtdMap(elementCollection); - - } - else if (definitionName == CTYPE_NOFRAMES_CONTENT) { - def = new CtdNoframesContent(elementCollection); - - } - else if (definitionName == CTYPE_OPTION_CONTAINER) { - def = new CtdOptionContainer(elementCollection); - - } - else if (definitionName == CTYPE_PARAM_CONTAINER) { - def = new CtdParamContainer(elementCollection); - - } - else if (definitionName == CTYPE_SELECT) { - def = new CtdSelect(elementCollection); - - } - else if (definitionName == CTYPE_TABLE) { - def = new CtdTable(elementCollection); - - } - else if (definitionName == CTYPE_TCELL_CONTAINER) { - def = new CtdTableCellContainer(elementCollection); - - } - else if (definitionName == CTYPE_TR_CONTAINER) { - def = new CtdTrContainer(elementCollection); - - } - else { - def = null; - } - if (def == null) - return null; // fail to create. - definitions.put(definitionName, def); - return def; - } - - /** - * For singleton. - */ - public synchronized static ComplexTypeDefinitionFactory getInstance() { - if (instance != null) - return instance; - instance = new ComplexTypeDefinitionFactory(); - return instance; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdAddress.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdAddress.java deleted file mode 100644 index 76847d053f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdAddress.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for ADDRESS. - */ -final class CtdAddress extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdAddress(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * ((%inline) | P)*. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )* - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - // (%inline) - CMGroupImpl inlines = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (inlines == null) - return; - collection.getInline(inlines); - content.appendChild(inlines); - // P - CMNode p = collection.getNamedItem(HTML40Namespace.ElementName.P); - if (p != null) - content.appendChild(p); - } - - /** - * ((%inline) | P)*. - * Because %inline; contains #PCDATA, the type is MIXED. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_ADDRESS; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdColumnGroup.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdColumnGroup.java deleted file mode 100644 index 623399d1dc..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdColumnGroup.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * COL group. - * (COL)* - */ -final class CtdColumnGroup extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdColumnGroup(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (COL)* - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( )* - content = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED); - // COL - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.COL); - if (dec != null) - content.appendChild(dec); - } - - /** - * (COL)* - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_COLUMN_GROUP; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdDl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdDl.java deleted file mode 100644 index 626eb8fc4b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdDl.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for DL. - */ -final class CtdDl extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdDl(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.DT; - } - - /** - * (DT | DD)+ - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // DT - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.DT); - if (dec != null) - content.appendChild(dec); - // DD - dec = collection.getNamedItem(HTML40Namespace.ElementName.DD); - if (dec != null) - content.appendChild(dec); - } - - /** - * (DT | DD)+. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdEmbed.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdEmbed.java deleted file mode 100644 index da5e725c60..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdEmbed.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for EMBED. - */ -final class CtdEmbed extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdEmbed(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.NOEMBED; - } - - /** - * (NOEMBED). - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( ) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - // NOEMBED - CMNode noembed = collection.getNamedItem(HTML40Namespace.ElementName.NOEMBED); - if (noembed != null) - content.appendChild(noembed); - } - - /** - * (NOEMBED). - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_EMBED; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFieldset.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFieldset.java deleted file mode 100644 index b4f2dfdc02..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFieldset.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for FIELDSET. - */ -final class CtdFieldset extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdFieldset(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.LEGEND; - } - - /** - * (#PCDATA, LEGEND, (%flow;)*) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( , , ) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - // #PCDATA - // ...?? - - // LEGEND - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.LEGEND); - if (dec != null) - content.appendChild(dec); - // (%flow;)* - CMGroupImpl flows = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - if (flows == null) - return; - collection.getFlow(flows); - content.appendChild(flows); - } - - /** - * (#PCDATA, LEGEND, (%flow;)*) - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_FIELDSET; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFlowContainer.java deleted file mode 100644 index 6c7a08b0c6..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFlowContainer.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * Complex type definition for containers of <code>%flow;</code>. - */ -final class CtdFlowContainer extends ComplexTypeDefinition { - - /** - */ - public CtdFlowContainer(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (%flow;)* - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - collection.getFlow(content); - } - - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFrameset.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFrameset.java deleted file mode 100644 index 03da4b4128..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdFrameset.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for FRAMESET. - * ((FRAMESET | FRAME)+ & NOFRAMES?) - */ -final class CtdFrameset extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdFrameset(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.FRAME; - } - - /** - * ((FRAMESET | FRAME)+ & NOFRAMES?). - * --> ((FRAMESET | FRAME)+ & (NOFRAMES)?) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( & ) - content = new CMGroupImpl(CMGroup.ALL, 1, 1); - - // ( | )+ - CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - if (group == null) - return; - content.appendChild(group); - - // FRAMESET - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.FRAMESET); - if (dec != null) - group.appendChild(dec); - // FRAME - dec = collection.getNamedItem(HTML40Namespace.ElementName.FRAME); - if (dec != null) - group.appendChild(dec); - - // ( )? - group = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (group == null) - return; - content.appendChild(group); - - // NOFRAMES - dec = collection.getNamedItem(HTML40Namespace.ElementName.NOFRAMES); - if (dec != null) - group.appendChild(dec); - } - - /** - * ((FRAMESET | FRAME)+ & NOFRAMES?) - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_FRAMESET; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java deleted file mode 100644 index 48bc24fa75..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * Complex type definition for the head content. - * Content Model: (TITLE & ISINDEX? & BASE?) - */ -final class CtdHead extends ComplexTypeDefinition { - - /** - */ - public CtdHead(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.TITLE; - } - - /** - * for HEAD. - * To avoid using inclusion, the content model comes from the XHTML 1.0. - * - * (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;)))) - * And %head.misc; is: - * (script|style|meta|link|object|isindex)* - * - * 0: (%head.misc, A) - * A: (B | C) - * B: (title, %head.misc;, D) - * C: (base, %head.misc;, E) - * D: (base, %head.misc;)? - * E: (title, %head.misc;) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // At 1st, create %head.misc; content. - // %head.misc; - // ( | )* - CMGroupImpl misc = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - if (misc == null) - return; - String[] names = {HTML40Namespace.ElementName.SCRIPT, HTML40Namespace.ElementName.STYLE, HTML40Namespace.ElementName.META, HTML40Namespace.ElementName.LINK, HTML40Namespace.ElementName.OBJECT, HTML40Namespace.ElementName.ISINDEX}; - collection.getDeclarations(misc, Arrays.asList(names).iterator()); - // 2nd, get a title - CMNode title = collection.getNamedItem(HTML40Namespace.ElementName.TITLE); - // 3rd, get a base - CMNode base = collection.getNamedItem(HTML40Namespace.ElementName.BASE); - if (title == null || base == null) - return; - - // Top level content is a sequence of %head.misc; and A. - // 0: (%head.misc;, A) - // create a sequence - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (content == null) - return; - // append %head.misc; - content.appendChild(misc); - // create A and append it to the top level. - { - // A is a choice of B and C. - // A: (B | C) - // create a choice - CMGroupImpl gA = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (gA == null) - return; - // append A to the top level. - content.appendChild(gA); - - // create B and append it to A - { - // B is a sequence of title, %head.misc;, and D. - // B: (title, %head.misc;, D) - // create a sequence - CMGroupImpl gB = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gB == null) - return; - // append B to A. - gA.appendChild(gB); - - // append title to B - gB.appendChild(title); - // append %head.misc; to B - gB.appendChild(misc); - // create D and append it to B. - { - // D is a sequence of base, %head.misc;. - // D: (base, %head.misc;)? - // create a sequence - CMGroupImpl gD = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (gD == null) - return; - // append D to B. - gB.appendChild(gD); - - // append base to D - gD.appendChild(base); - // append %head.misc; to D. - gD.appendChild(misc); - } - } - // create C and append it to A - { - // C is a sequence of base, %head.misc;, and E - // C: (base, %head.misc;, E) - // create a sequence - CMGroupImpl gC = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gC == null) - return; - // append C to A. - gA.appendChild(gC); - - // append base to C - gC.appendChild(base); - // append %head.misc; to C - gC.appendChild(misc); - - // create E and append it to C. - { - // E is a sequence of title and %head.misc;. - // E: (title, %head.misc;) - // create a sequence - CMGroupImpl gE = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gE == null) - return; - // append E to C. - gC.appendChild(gE); - - // append title to E - gE.appendChild(title); - // append %head.misc; to E. - gE.appendChild(misc); - } - } - } - } - - /** - * Element content. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_HEAD; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHtml.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHtml.java deleted file mode 100644 index d2396fc680..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHtml.java +++ /dev/null @@ -1,334 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * Complex type definition for <code>HTML</code>.<br> - * Content Model: - * HEAD, (FRAMESET|BODY)<br> - */ -final class CtdHtml extends ComplexTypeDefinition { - - /** - */ - public CtdHtml(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.HEAD; - } - - /** - * (%html.content;). - * %html.content; is HEAD, (FRAMESET | BODY). - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( ) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (content == null) - return; - - // HEAD - CMNode edec = collection.getNamedItem(HTML40Namespace.ElementName.HEAD); - if (edec != null) - content.appendChild(edec); - - // ( | ) - CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - content.appendChild(group); - - // FRAMESET, BODY - String[] names = {HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.BODY}; - collection.getDeclarations(group, Arrays.asList(names).iterator()); - - // since BODY start and end are omissable - // adding valid children of BODY here under HTML - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=97342 - edec = collection.getNamedItem(HTML40Namespace.ElementName.MAP); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.PRE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BDO); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.INPUT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.P); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.NOSCRIPT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.I); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BUTTON); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.LABEL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.U); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H6); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.CENTER); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BASEFONT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.S); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BLOCKQUOTE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H3); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.UL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.B); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SELECT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.Q); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.STRIKE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SCRIPT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.ABBR); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BIG); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H1); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.IMG); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.ACRONYM); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.DEL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.NOFRAMES); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.TEXTAREA); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H2); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.FONT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.OBJECT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.KBD); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.IFRAME); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.HR); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H4); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.DIR); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SAMP); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.INS); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.H5); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SUP); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.A); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.DFN); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.ISINDEX); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.DL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.VAR); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.FIELDSET); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.TABLE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.BR); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.TT); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.APPLET); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.OL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SMALL); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.CITE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.FORM); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.DIV); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.CODE); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SPAN); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.SUB); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.EM); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.MENU); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.ADDRESS); - if (edec != null) - content.appendChild(edec); - - edec = collection.getNamedItem(HTML40Namespace.ElementName.STRONG); - if (edec != null) - content.appendChild(edec); - } - - /** - * Element content. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_HTML; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdInlineContainer.java deleted file mode 100644 index 7fbfeabd9f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdInlineContainer.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * Complex type definition for (%inline;)*. - */ -final class CtdInlineContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdInlineContainer(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (%inline)*. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - collection.getInline(content); - } - - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdLiContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdLiContainer.java deleted file mode 100644 index 5ccb079cb0..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdLiContainer.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * List item container. - * (LI)+ - */ -final class CtdLiContainer extends ComplexTypeDefinition { - - /** - * @param elemenCollection ElementCollection - */ - public CtdLiContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.LI; - } - - /** - * (LI)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // (LI)+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - CMNode li = collection.getNamedItem(HTML40Namespace.ElementName.LI); - if (li != null) - content.appendChild(li); - } - - /** - * ELEMENT content.<br> - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdMap.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdMap.java deleted file mode 100644 index 3ff2a165bf..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdMap.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for MAP. - */ -final class CtdMap extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdMap(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.AREA; - } - - /** - * ((%block;) | AREA)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // (%block;) - CMGroupImpl blocks = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (blocks == null) - return; - collection.getBlock(blocks); - content.appendChild(blocks); - // AREA - CMNode area = collection.getNamedItem(HTML40Namespace.ElementName.AREA); - if (area != null) - content.appendChild(area); - } - - /** - * ((%block;) | AREA)+. - * Because %block; consists of elements only, the type is ELEMENT. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_MAP; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdNoframesContent.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdNoframesContent.java deleted file mode 100644 index d193a6c884..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdNoframesContent.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for NOFRAMES. - */ -final class CtdNoframesContent extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdNoframesContent(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.BODY; - } - - /** - * (BODY). - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( ) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - // BODY - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.BODY); - if (dec != null) - content.appendChild(dec); - } - - /** - * (BODY) - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_NOFRAMES_CONTENT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdOptionContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdOptionContainer.java deleted file mode 100644 index b53480abf9..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdOptionContainer.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * OPTION container. - * (OPTION)+ - */ -final class CtdOptionContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdOptionContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.OPTION; - } - - /** - * (OPTION)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( )+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - // OPTION - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTION); - if (dec != null) - content.appendChild(dec); - } - - /** - * (OPTION)+ - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdParamContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdParamContainer.java deleted file mode 100644 index 4732191e1a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdParamContainer.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * PARAM container. For OBJECT and APPLET. - */ -final class CtdParamContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdParamContainer(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (PARAM | %flow;)*. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )* - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - // PARAM - CMNode param = collection.getNamedItem(HTML40Namespace.ElementName.PARAM); - if (param != null) - content.appendChild(param); - // %flow; - CMGroupImpl flows = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (flows == null) - return; - collection.getInline(flows); - content.appendChild(flows); - } - - /** - * (PARAM | %flow;)*. - * Because %flow; contains #PCDATA, the type is MIXED. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdSelect.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdSelect.java deleted file mode 100644 index b1d12843cc..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdSelect.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for SELECT. - */ -final class CtdSelect extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdSelect(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.OPTION; - } - - /** - * (OPTGROUP | OPTION)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // OPTGROUP - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTGROUP); - if (dec != null) - content.appendChild(dec); - // OPTION - dec = collection.getNamedItem(HTML40Namespace.ElementName.OPTION); - if (dec != null) - content.appendChild(dec); - } - - /** - * (OPTGROUP | OPTION)+. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_SELECT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTable.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTable.java deleted file mode 100644 index 7fd73d5152..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTable.java +++ /dev/null @@ -1,140 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * for TABLE. - * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+, TR+) - */ -final class CtdTable extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdTable(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.TBODY; - } - - /** - * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+) - * --> ((CAPTION)?, ((COL)* | (COLGROUP)*), (THEAD)?, (TFOOT)?, (TBODY)+, (TR)+) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( , , , ,) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - - // (CAPTION)? - // ( )? - CMGroupImpl wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (wrap == null) - return; - content.appendChild(wrap); - // CAPTION - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.CAPTION); - if (dec != null) - wrap.appendChild(dec); - - // ((COL)* | (COLGROUP)*) - // ( | ) - CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (group == null) - return; - content.appendChild(group); - // (COL)* - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED); - if (wrap == null) - return; - group.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.COL); - if (dec != null) - wrap.appendChild(dec); - // (COLGROUP)* - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED); - if (wrap == null) - return; - group.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.COLGROUP); - if (dec != null) - wrap.appendChild(dec); - - // (THEAD)? - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (wrap == null) - return; - content.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.THEAD); - if (dec != null) - wrap.appendChild(dec); - - // (TFOOT)? - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (wrap == null) - return; - content.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.TFOOT); - if (dec != null) - wrap.appendChild(dec); - - // (TBODY)+ - // TBODY has optional start and end tags - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED); - if (wrap == null) - return; - content.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.TBODY); - if (dec != null) - wrap.appendChild(dec); - - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=96101 - // TBODY start and end tag are optional, so TR should be allowed here - // (TR)+ - wrap = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - if (wrap == null) - return; - content.appendChild(wrap); - dec = collection.getNamedItem(HTML40Namespace.ElementName.TR); - if (dec != null) - wrap.appendChild(dec); - } - - /** - * ((FRAMESET | FRAME)+ & NOFRAMES?) - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_TABLE; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTableCellContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTableCellContainer.java deleted file mode 100644 index a207876cb2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTableCellContainer.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * Table cell container. - * (TH | TD)+ - */ -final class CtdTableCellContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdTableCellContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.TD; - } - - /** - * (TH | TD)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // TH - CMNode dec = collection.getNamedItem(HTML40Namespace.ElementName.TH); - if (dec != null) - content.appendChild(dec); - // TD - dec = collection.getNamedItem(HTML40Namespace.ElementName.TD); - if (dec != null) - content.appendChild(dec); - } - - /** - * (TH | TD)+ - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_TCELL_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTrContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTrContainer.java deleted file mode 100644 index 734c204fac..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdTrContainer.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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; - -/** - * Table record container. - * (TR)+ - */ -final class CtdTrContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdTrContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.TR; - } - - /** - * (TR)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // (TR)+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - CMNode tr = collection.getNamedItem(HTML40Namespace.ElementName.TR); - if (tr != null) - content.appendChild(tr); - } - - /** - * ELEMENT content.<br> - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_TR_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/DeclCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/DeclCollection.java deleted file mode 100644 index d5aab547ae..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/DeclCollection.java +++ /dev/null @@ -1,244 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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.util.HashMap; -import java.util.Iterator; -import java.util.Locale; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - */ -abstract class DeclCollection implements CMNamedNodeMap { - - - protected class DualMap { - public DualMap() { - super(); - } - - public DualMap(Object[] objects) { - super(); - initialize(objects); - } - - public int size() { - return table.length; - } - - public Object getValue(int key) { - if (!isValidIndex(key)) - return null; - return table[key]; - } - - public int getKey(Object value) { - Integer keyObj = (Integer) map.get(value); - if (keyObj == null) - return ID_UNKNOWN; - return keyObj.intValue(); - } - - protected void initialize(Object[] objects) { - if (objects == null) - return; - table = objects; - map = new HashMap(); - for (int key = 0; key < objects.length; key++) { - Object value = table[key]; - map.put(value, new Integer(key)); - } - } - - private Object[] table = null; - private HashMap map = null; - - private boolean isValidIndex(int index) { - return index >= 0 && index < table.length; - } - } - - protected class TolerantStringDualMap extends DualMap { - public TolerantStringDualMap(String[] names) { - super(); - Object[] objects = new Object[names.length]; - for (int i = 0; i < names.length; i++) { - objects[i] = makeCanonicalForm(names[i]); - } - initialize(objects); - } - - public int getKey(Object value) { - try { - String name = (String) value; - return super.getKey(makeCanonicalForm(name)); - } - catch (ClassCastException e) { - return ID_UNKNOWN; - } - } - - private String makeCanonicalForm(String raw) { - // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=100152 - // we are able to "cheat" here a little and use US Locale - // to get a good cononical form, since we are using this only - // for HTML and JSP standard tags. - // Long term, for similar needs with XML 1.1 (for example) - // we should use a class such as com.ibm.icu.text.Normalizer - return raw.toUpperCase(Locale.US); - } - } - - private class DeclIterator implements Iterator { - public DeclIterator() { - maxid = fDecls.length - 1; - } - - public boolean hasNext() { - return id < maxid; - } - - public Object next() { - if (!hasNext()) - return null; - return item(++id); - } - - public void remove() { /* nothing should be done. */ - } - - private int id = -1; - private int maxid = -1; - } - - CMNode[] fDecls = null; - protected final static boolean STRICT_CASE = false; - protected final static boolean TOLERANT_CASE = true; - protected final static int ID_UNKNOWN = -1; - private DualMap fMap = null; - - /** - */ - public DeclCollection(String[] names, boolean tolerant) { - super(); - fDecls = new CMNode[names.length]; - if (tolerant) { - fMap = new TolerantStringDualMap(names); - } - else { - fMap = new DualMap(names); - } - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param id int - */ - protected abstract CMNode create(String name); - - /** - */ - public CMNamedNodeMap getDeclarations(String[] names) { - CMNamedNodeMapImpl map = new CMNamedNodeMapImpl(); - for (int i = 0; i < names.length; i++) { - String name = names[i]; - CMNode node = getNamedItem(name); - if (node == null) - continue; - map.putNamedItem(name, node); - } - return map; - } - - /** - * @param names java.util.Iterator - */ - public void getDeclarations(CMGroupImpl group, Iterator names) { - while (names.hasNext()) { - String entityName = (String) names.next(); - CMNode dec = getNamedItem(entityName); - if (dec != null) - group.appendChild(dec); - } - } - - /** - * Map name to id. - * @return int - * @param name java.lang.String - */ - protected int getID(String name) { - return fMap.getKey(name); - } - - /** - * getLength method - * @return int - */ - public int getLength() { - return fDecls.length; - } - - /** - * @return java.lang.String - * @param id int - */ - protected String getName(int id) { - return (String) fMap.getValue(id); - } - - /** - * getNamedItem method - * @return CMNode - * @param name java.lang.String - */ - public CMNode getNamedItem(String name) { - int id = getID(name); - if (!isValidID(id)) - return null; - return item(id); - } - - /** - * @return boolean - * @param id int - */ - private boolean isValidID(int id) { - return id >= 0 && id < fDecls.length; - } - - /** - * item method - * @return CMNode - * @param index int - */ - public CMNode item(int index) { - if (!isValidID(index)) - return null; - CMNode decl = fDecls[index]; - if (decl != null) - return decl; // already exist. - - decl = create(getName(index)); - fDecls[index] = decl; - return decl; - } - - /** - */ - public Iterator iterator() { - return new DeclIterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ElementCollection.java deleted file mode 100644 index 8349964147..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ElementCollection.java +++ /dev/null @@ -1,881 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 java.util.Arrays; -import java.util.Collection; -import java.util.Vector; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Factory for element declarations. - */ -final class ElementCollection extends DeclCollection implements org.eclipse.wst.html.core.internal.provisional.HTML40Namespace.ElementName { - - - // Element IDs - private static class Ids { - public static final int ID_A = 0; - public static final int ID_ABBR = 1; - public static final int ID_ACRONYM = 2; - public static final int ID_ADDRESS = 3; - public static final int ID_APPLET = 4; - public static final int ID_AREA = 5; - public static final int ID_B = 6; - public static final int ID_BASE = 7; - public static final int ID_BASEFONT = 8; - public static final int ID_BDO = 9; - public static final int ID_BIG = 10; - public static final int ID_BLINK = 11; - public static final int ID_BLOCKQUOTE = 12; - public static final int ID_BODY = 13; - public static final int ID_BR = 14; - public static final int ID_BUTTON = 15; - public static final int ID_CAPTION = 16; - public static final int ID_CENTER = 17; - public static final int ID_CITE = 18; - public static final int ID_CODE = 19; - public static final int ID_COL = 20; - public static final int ID_COLGROUP = 21; - public static final int ID_DD = 22; - public static final int ID_DEL = 23; - public static final int ID_DFN = 24; - public static final int ID_DIR = 25; - public static final int ID_DIV = 26; - public static final int ID_DL = 27; - public static final int ID_DT = 28; - public static final int ID_EM = 29; - public static final int ID_EMBED = 30; - public static final int ID_FIELDSET = 31; - public static final int ID_FONT = 32; - public static final int ID_FORM = 33; - public static final int ID_FRAME = 34; - public static final int ID_FRAMESET = 35; - public static final int ID_H1 = 36; - public static final int ID_H2 = 37; - public static final int ID_H3 = 38; - public static final int ID_H4 = 39; - public static final int ID_H5 = 40; - public static final int ID_H6 = 41; - public static final int ID_HEAD = 42; - public static final int ID_HR = 43; - public static final int ID_HTML = 44; - public static final int ID_I = 45; - public static final int ID_IFRAME = 46; - public static final int ID_IMG = 47; - public static final int ID_INPUT = 48; - public static final int ID_INS = 49; - public static final int ID_ISINDEX = 50; - public static final int ID_KBD = 51; - public static final int ID_LABEL = 52; - public static final int ID_LEGEND = 53; - public static final int ID_LI = 54; - public static final int ID_LINK = 55; - public static final int ID_MAP = 56; - public static final int ID_MENU = 57; - public static final int ID_META = 58; - public static final int ID_NOEMBED = 59; - public static final int ID_NOFRAMES = 60; - public static final int ID_NOSCRIPT = 61; - public static final int ID_OBJECT = 62; - public static final int ID_OL = 63; - public static final int ID_OPTGROUP = 64; - public static final int ID_OPTION = 65; - public static final int ID_P = 66; - public static final int ID_PARAM = 67; - public static final int ID_PRE = 68; - public static final int ID_Q = 69; - public static final int ID_S = 70; - public static final int ID_SAMP = 71; - public static final int ID_SCRIPT = 72; - public static final int ID_SELECT = 73; - public static final int ID_SMALL = 74; - public static final int ID_SPAN = 75; - public static final int ID_STRIKE = 76; - public static final int ID_STRONG = 77; - public static final int ID_STYLE = 78; - public static final int ID_SUB = 79; - public static final int ID_SUP = 80; - public static final int ID_TABLE = 81; - public static final int ID_TBODY = 82; - public static final int ID_TD = 83; - public static final int ID_TEXTAREA = 84; - public static final int ID_TFOOT = 85; - public static final int ID_TH = 86; - public static final int ID_THEAD = 87; - public static final int ID_TITLE = 88; - public static final int ID_TR = 89; - public static final int ID_TT = 90; - public static final int ID_U = 91; - public static final int ID_UL = 92; - public static final int ID_VAR = 93; - public static final int ID_MARQUEE = 94; - public static final int ID_SSI_CONFIG = 95; - public static final int ID_SSI_ECHO = 96; - public static final int ID_SSI_EXEC = 97; - public static final int ID_SSI_FSIZE = 98; - public static final int ID_SSI_FLASTMOD = 99; - public static final int ID_SSI_INCLUDE = 100; - public static final int ID_SSI_PRINTENV = 101; - public static final int ID_SSI_SET = 102; - // <<D205513 - public static final int ID_BGSOUND = 103; - public static final int ID_NOBR = 104; - public static final int ID_WBR = 105; - - // D205513 - - 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 = Ids.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - /** %fontstyle;. TT | I | B | U | S | STRIKE | BIG | SMALL | BLINK */ - private static final String[] FONTSTYLE = {TT, I, B, U, S, STRIKE, BIG, SMALL, BLINK}; - /** %formctl;. INPUT | SELECT | TEXTAREA | LABEL | BUTTON */ - private static final String[] FORMCTL = {INPUT, SELECT, TEXTAREA, LABEL, BUTTON}; - /** %phrase;. - * EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM - */ - private static final String[] PHRASE = {EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, ACRONYM}; - /** %special;. - * A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT | - * MAP | Q | SUB | SUP | SPAN | BDO | IFRAME | EMBED | MARQUEE | - * D2W | SUBMIT - * WBR | NOBR | BGSOUND - */ - private static final String[] SPECIAL = {A, IMG, APPLET, OBJECT, FONT, BASEFONT, BR, WBR, // D205513 - SCRIPT, MAP, Q, SUB, SUP, SPAN, BDO, IFRAME, EMBED, BGSOUND, // D205513 - MARQUEE, NOBR // D205513 - }; - /** %heading;. H[1-6] */ - private static final String[] HEADING = {H1, H2, H3, H4, H5, H6}; - /** %list;. UL | OL | DIR | MENU */ - private static final String[] LIST = {UL, OL, DIR, MENU}; - /** %preformatted;. PRE */ - private static final String[] PREFORMATTED = {PRE}; - private AttributeCollection attributeCollection = null; - private static String[] fNames = null; - - static { - fNames = new String[Ids.getNumOfIds()]; - fNames[Ids.ID_A] = A; - fNames[Ids.ID_ABBR] = ABBR; - fNames[Ids.ID_ACRONYM] = ACRONYM; - fNames[Ids.ID_ADDRESS] = ADDRESS; - fNames[Ids.ID_APPLET] = APPLET; - fNames[Ids.ID_AREA] = AREA; - fNames[Ids.ID_B] = B; - fNames[Ids.ID_BASE] = BASE; - fNames[Ids.ID_BASEFONT] = BASEFONT; - fNames[Ids.ID_BDO] = BDO; - fNames[Ids.ID_BIG] = BIG; - fNames[Ids.ID_BLINK] = BLINK; - fNames[Ids.ID_BLOCKQUOTE] = BLOCKQUOTE; - fNames[Ids.ID_BODY] = BODY; - fNames[Ids.ID_BR] = BR; - fNames[Ids.ID_BUTTON] = BUTTON; - fNames[Ids.ID_CAPTION] = CAPTION; - fNames[Ids.ID_CENTER] = CENTER; - fNames[Ids.ID_CITE] = CITE; - fNames[Ids.ID_CODE] = CODE; - fNames[Ids.ID_COL] = COL; - fNames[Ids.ID_COLGROUP] = COLGROUP; - fNames[Ids.ID_DD] = DD; - fNames[Ids.ID_DEL] = DEL; - fNames[Ids.ID_DFN] = DFN; - fNames[Ids.ID_DIR] = DIR; - fNames[Ids.ID_DIV] = DIV; - fNames[Ids.ID_DL] = DL; - fNames[Ids.ID_DT] = DT; - fNames[Ids.ID_EM] = EM; - fNames[Ids.ID_EMBED] = EMBED; - fNames[Ids.ID_FIELDSET] = FIELDSET; - fNames[Ids.ID_FONT] = FONT; - fNames[Ids.ID_FORM] = FORM; - fNames[Ids.ID_FRAME] = FRAME; - fNames[Ids.ID_FRAMESET] = FRAMESET; - fNames[Ids.ID_H1] = H1; - fNames[Ids.ID_H2] = H2; - fNames[Ids.ID_H3] = H3; - fNames[Ids.ID_H4] = H4; - fNames[Ids.ID_H5] = H5; - fNames[Ids.ID_H6] = H6; - fNames[Ids.ID_HEAD] = HEAD; - fNames[Ids.ID_HR] = HR; - fNames[Ids.ID_HTML] = HTML; - fNames[Ids.ID_I] = I; - fNames[Ids.ID_IFRAME] = IFRAME; - fNames[Ids.ID_IMG] = IMG; - fNames[Ids.ID_INPUT] = INPUT; - fNames[Ids.ID_INS] = INS; - fNames[Ids.ID_ISINDEX] = ISINDEX; - fNames[Ids.ID_KBD] = KBD; - fNames[Ids.ID_LABEL] = LABEL; - fNames[Ids.ID_LEGEND] = LEGEND; - fNames[Ids.ID_LI] = LI; - fNames[Ids.ID_LINK] = LINK; - fNames[Ids.ID_MAP] = MAP; - fNames[Ids.ID_MENU] = MENU; - fNames[Ids.ID_META] = META; - fNames[Ids.ID_NOEMBED] = NOEMBED; - fNames[Ids.ID_NOFRAMES] = NOFRAMES; - fNames[Ids.ID_NOSCRIPT] = NOSCRIPT; - fNames[Ids.ID_OBJECT] = OBJECT; - fNames[Ids.ID_OL] = OL; - fNames[Ids.ID_OPTGROUP] = OPTGROUP; - fNames[Ids.ID_OPTION] = OPTION; - fNames[Ids.ID_P] = P; - fNames[Ids.ID_PARAM] = PARAM; - fNames[Ids.ID_PRE] = PRE; - fNames[Ids.ID_Q] = Q; - fNames[Ids.ID_S] = S; - fNames[Ids.ID_SAMP] = SAMP; - fNames[Ids.ID_SCRIPT] = SCRIPT; - fNames[Ids.ID_SELECT] = SELECT; - fNames[Ids.ID_SMALL] = SMALL; - fNames[Ids.ID_SPAN] = SPAN; - fNames[Ids.ID_STRIKE] = STRIKE; - fNames[Ids.ID_STRONG] = STRONG; - fNames[Ids.ID_STYLE] = STYLE; - fNames[Ids.ID_SUB] = SUB; - fNames[Ids.ID_SUP] = SUP; - fNames[Ids.ID_TABLE] = TABLE; - fNames[Ids.ID_TBODY] = TBODY; - fNames[Ids.ID_TD] = TD; - fNames[Ids.ID_TEXTAREA] = TEXTAREA; - fNames[Ids.ID_TFOOT] = TFOOT; - fNames[Ids.ID_TH] = TH; - fNames[Ids.ID_THEAD] = THEAD; - fNames[Ids.ID_TITLE] = TITLE; - fNames[Ids.ID_TR] = TR; - fNames[Ids.ID_TT] = TT; - fNames[Ids.ID_U] = U; - fNames[Ids.ID_UL] = UL; - fNames[Ids.ID_VAR] = VAR; - fNames[Ids.ID_MARQUEE] = MARQUEE; - fNames[Ids.ID_SSI_CONFIG] = SSI_CONFIG; - fNames[Ids.ID_SSI_ECHO] = SSI_ECHO; - fNames[Ids.ID_SSI_EXEC] = SSI_EXEC; - fNames[Ids.ID_SSI_FSIZE] = SSI_FSIZE; - fNames[Ids.ID_SSI_FLASTMOD] = SSI_FLASTMOD; - fNames[Ids.ID_SSI_INCLUDE] = SSI_INCLUDE; - fNames[Ids.ID_SSI_PRINTENV] = SSI_PRINTENV; - fNames[Ids.ID_SSI_SET] = SSI_SET; - fNames[Ids.ID_BGSOUND] = BGSOUND; - fNames[Ids.ID_NOBR] = NOBR; - fNames[Ids.ID_WBR] = WBR; - } - - /** - */ - public ElementCollection(AttributeCollection collection) { - super(fNames, TOLERANT_CASE); - attributeCollection = collection; - } - - /** - * Actually creates HTMLElementDeclaration instance. - * @return HTMLElementDeclaration - */ - protected CMNode create(String elementName) { - HTMLElemDeclImpl edec = null; - - if (elementName.equalsIgnoreCase(A)) { - edec = new HedA(this); - } - else if (elementName.equalsIgnoreCase(ABBR)) { - edec = new HedPhrase(ABBR, this); - - } - else if (elementName.equalsIgnoreCase(ACRONYM)) { - edec = new HedPhrase(ACRONYM, this); - - } - else if (elementName.equalsIgnoreCase(ADDRESS)) { - edec = new HedADDRESS(this); - - } - else if (elementName.equalsIgnoreCase(APPLET)) { - edec = new HedAPPLET(this); - - } - else if (elementName.equalsIgnoreCase(AREA)) { - edec = new HedAREA(this); - - } - else if (elementName.equalsIgnoreCase(B)) { - edec = new HedFontStyle(B, this); - - } - else if (elementName.equalsIgnoreCase(BASE)) { - edec = new HedBASE(this); - - } - else if (elementName.equalsIgnoreCase(BASEFONT)) { - edec = new HedBASEFONT(this); - - } - else if (elementName.equalsIgnoreCase(BDO)) { - edec = new HedBDO(this); - - } - else if (elementName.equalsIgnoreCase(BIG)) { - edec = new HedFontStyle(BIG, this); - - } - else if (elementName.equalsIgnoreCase(BLINK)) { - edec = new HedFontStyle(BLINK, this); - - } - else if (elementName.equalsIgnoreCase(BLOCKQUOTE)) { - edec = new HedBLOCKQUOTE(this); - - } - else if (elementName.equalsIgnoreCase(BODY)) { - edec = new HedBODY(this); - - } - else if (elementName.equalsIgnoreCase(BR)) { - edec = new HedBR(this); - - } - else if (elementName.equalsIgnoreCase(BUTTON)) { - edec = new HedBUTTON(this); - - } - else if (elementName.equalsIgnoreCase(CAPTION)) { - edec = new HedCAPTION(this); - - } - else if (elementName.equalsIgnoreCase(CENTER)) { - edec = new HedCENTER(this); - - } - else if (elementName.equalsIgnoreCase(CITE)) { - edec = new HedPhrase(CITE, this); - - } - else if (elementName.equalsIgnoreCase(CODE)) { - edec = new HedPhrase(CODE, this); - - } - else if (elementName.equalsIgnoreCase(COL)) { - edec = new HedCOL(this); - - } - else if (elementName.equalsIgnoreCase(COLGROUP)) { - edec = new HedCOLGROUP(this); - - } - else if (elementName.equalsIgnoreCase(DD)) { - edec = new HedDD(this); - - } - else if (elementName.equalsIgnoreCase(DEL)) { - edec = new HedMarkChanges(DEL, this); - - } - else if (elementName.equalsIgnoreCase(DFN)) { - edec = new HedPhrase(DFN, this); - - } - else if (elementName.equalsIgnoreCase(DIR)) { - edec = new HedMENU(DIR, this); - - } - else if (elementName.equalsIgnoreCase(DIV)) { - edec = new HedDIV(this); - - } - else if (elementName.equalsIgnoreCase(DL)) { - edec = new HedDL(this); - - } - else if (elementName.equalsIgnoreCase(DT)) { - edec = new HedDT(this); - - } - else if (elementName.equalsIgnoreCase(EM)) { - edec = new HedPhrase(EM, this); - - } - else if (elementName.equalsIgnoreCase(EMBED)) { - edec = new HedEMBED(this); - - } - else if (elementName.equalsIgnoreCase(FIELDSET)) { - edec = new HedFIELDSET(this); - - } - else if (elementName.equalsIgnoreCase(FONT)) { - edec = new HedFONT(this); - - } - else if (elementName.equalsIgnoreCase(FORM)) { - edec = new HedFORM(this); - - } - else if (elementName.equalsIgnoreCase(FRAME)) { - edec = new HedFRAME(this); - - } - else if (elementName.equalsIgnoreCase(FRAMESET)) { - edec = new HedFRAMESET(this); - - } - else if (elementName.equalsIgnoreCase(H1)) { - edec = new HedHeading(H1, this); - - } - else if (elementName.equalsIgnoreCase(H2)) { - edec = new HedHeading(H2, this); - - } - else if (elementName.equalsIgnoreCase(H3)) { - edec = new HedHeading(H3, this); - - } - else if (elementName.equalsIgnoreCase(H4)) { - edec = new HedHeading(H4, this); - - } - else if (elementName.equalsIgnoreCase(H5)) { - edec = new HedHeading(H5, this); - - } - else if (elementName.equalsIgnoreCase(H6)) { - edec = new HedHeading(H6, this); - - } - else if (elementName.equalsIgnoreCase(HEAD)) { - edec = new HedHEAD(this); - - } - else if (elementName.equalsIgnoreCase(HR)) { - edec = new HedHR(this); - - } - else if (elementName.equalsIgnoreCase(HTML)) { - edec = new HedHTML(this); - - } - else if (elementName.equalsIgnoreCase(I)) { - edec = new HedFontStyle(I, this); - - } - else if (elementName.equalsIgnoreCase(IFRAME)) { - edec = new HedIFRAME(this); - - } - else if (elementName.equalsIgnoreCase(IMG)) { - edec = new HedIMG(this); - - } - else if (elementName.equalsIgnoreCase(INPUT)) { - edec = new HedINPUT(this); - - } - else if (elementName.equalsIgnoreCase(INS)) { - edec = new HedMarkChanges(INS, this); - - } - else if (elementName.equalsIgnoreCase(ISINDEX)) { - edec = new HedISINDEX(this); - - } - else if (elementName.equalsIgnoreCase(KBD)) { - edec = new HedPhrase(KBD, this); - - } - else if (elementName.equalsIgnoreCase(LABEL)) { - edec = new HedLABEL(this); - - } - else if (elementName.equalsIgnoreCase(LEGEND)) { - edec = new HedLEGEND(this); - - } - else if (elementName.equalsIgnoreCase(LI)) { - edec = new HedLI(this); - - } - else if (elementName.equalsIgnoreCase(LINK)) { - edec = new HedLINK(this); - - } - else if (elementName.equalsIgnoreCase(MAP)) { - edec = new HedMAP(this); - - } - else if (elementName.equalsIgnoreCase(MARQUEE)) { - edec = new HedMARQUEE(this); - - } - else if (elementName.equalsIgnoreCase(MENU)) { - edec = new HedMENU(MENU, this); - - } - else if (elementName.equalsIgnoreCase(META)) { - edec = new HedMETA(this); - - } - else if (elementName.equalsIgnoreCase(NOEMBED)) { - edec = new HedNOEMBED(this); - - } - else if (elementName.equalsIgnoreCase(NOFRAMES)) { - edec = new HedNOFRAMES(this); - - } - else if (elementName.equalsIgnoreCase(NOSCRIPT)) { - edec = new HedNOSCRIPT(this); - - } - else if (elementName.equalsIgnoreCase(OBJECT)) { - edec = new HedOBJECT(this); - - } - else if (elementName.equalsIgnoreCase(OL)) { - edec = new HedOL(this); - - } - else if (elementName.equalsIgnoreCase(OPTGROUP)) { - edec = new HedOPTGROUP(this); - - } - else if (elementName.equalsIgnoreCase(OPTION)) { - edec = new HedOPTION(this); - - } - else if (elementName.equalsIgnoreCase(P)) { - edec = new HedP(this); - - } - else if (elementName.equalsIgnoreCase(PARAM)) { - edec = new HedPARAM(this); - - } - else if (elementName.equalsIgnoreCase(PRE)) { - edec = new HedPRE(this); - - } - else if (elementName.equalsIgnoreCase(Q)) { - edec = new HedQ(this); - - } - else if (elementName.equalsIgnoreCase(S)) { - edec = new HedFontStyle(S, this); - - } - else if (elementName.equalsIgnoreCase(SAMP)) { - edec = new HedPhrase(SAMP, this); - - } - else if (elementName.equalsIgnoreCase(SCRIPT)) { - edec = new HedSCRIPT(this); - - } - else if (elementName.equalsIgnoreCase(SELECT)) { - edec = new HedSELECT(this); - - } - else if (elementName.equalsIgnoreCase(SMALL)) { - edec = new HedFontStyle(SMALL, this); - - } - else if (elementName.equalsIgnoreCase(SPAN)) { - edec = new HedSPAN(this); - - } - else if (elementName.equalsIgnoreCase(STRIKE)) { - edec = new HedFontStyle(STRIKE, this); - - } - else if (elementName.equalsIgnoreCase(STRONG)) { - edec = new HedPhrase(STRONG, this); - - } - else if (elementName.equalsIgnoreCase(STYLE)) { - edec = new HedSTYLE(this); - - } - else if (elementName.equalsIgnoreCase(SUB)) { - edec = new HedScripts(SUB, this); - - } - else if (elementName.equalsIgnoreCase(SUP)) { - edec = new HedScripts(SUP, this); - - } - else if (elementName.equalsIgnoreCase(TABLE)) { - edec = new HedTABLE(this); - - } - else if (elementName.equalsIgnoreCase(TBODY)) { - edec = new HedTableBody(TBODY, this); - - } - else if (elementName.equalsIgnoreCase(TD)) { - edec = new HedTableCell(TD, this); - - } - else if (elementName.equalsIgnoreCase(TEXTAREA)) { - edec = new HedTEXTAREA(this); - - } - else if (elementName.equalsIgnoreCase(TFOOT)) { - edec = new HedTableBody(TFOOT, this); - - } - else if (elementName.equalsIgnoreCase(TH)) { - edec = new HedTableCell(TH, this); - - } - else if (elementName.equalsIgnoreCase(THEAD)) { - edec = new HedTableBody(THEAD, this); - - } - else if (elementName.equalsIgnoreCase(TITLE)) { - edec = new HedTITLE(this); - - } - else if (elementName.equalsIgnoreCase(TR)) { - edec = new HedTR(this); - - } - else if (elementName.equalsIgnoreCase(TT)) { - edec = new HedFontStyle(TT, this); - - } - else if (elementName.equalsIgnoreCase(U)) { - edec = new HedFontStyle(U, this); - - } - else if (elementName.equalsIgnoreCase(UL)) { - edec = new HedUL(this); - - } - else if (elementName.equalsIgnoreCase(VAR)) { - edec = new HedPhrase(VAR, this); - - } - else if (elementName.equalsIgnoreCase(SSI_CONFIG)) { - edec = new HedSSIConfig(this); - - } - else if (elementName.equalsIgnoreCase(SSI_ECHO)) { - edec = new HedSSIEcho(this); - - } - else if (elementName.equalsIgnoreCase(SSI_EXEC)) { - edec = new HedSSIExec(this); - - } - else if (elementName.equalsIgnoreCase(SSI_FSIZE)) { - edec = new HedSSIFsize(this); - - } - else if (elementName.equalsIgnoreCase(SSI_FLASTMOD)) { - edec = new HedSSIFlastmod(this); - - } - else if (elementName.equalsIgnoreCase(SSI_INCLUDE)) { - edec = new HedSSIInclude(this); - - } - else if (elementName.equalsIgnoreCase(SSI_PRINTENV)) { - edec = new HedSSIPrintenv(this); - - } - else if (elementName.equalsIgnoreCase(SSI_SET)) { - edec = new HedSSISet(this); - - } - else if (elementName.equalsIgnoreCase(BGSOUND)) { - edec = new HedBGSOUND(this); - - } - else if (elementName.equalsIgnoreCase(NOBR)) { - edec = new HedNOBR(this); - - } - else if (elementName.equalsIgnoreCase(WBR)) { - edec = new HedWBR(this); - - } // unknown - else { - // NOTE: We don't define the UNKNOWN element declaration. - // <code>null</code> for a declaration is a sign of - // the target element is unknown. - // -- 3/9/2001 - edec = null; - } - return edec; - } - - public AttributeCollection getAttributeCollection() { - return attributeCollection; - } - - public final Collection getNamesOfBlock() { - // P, DL, DIV, CENTER, NOSCRIPT, NOFRAMES, BLOCKQUOTE, FORM, ISINDEX, HR, - // TABLE, FIELDSET, ADDRESS - String[] blockMisc = {P, DL, DIV, CENTER, NOSCRIPT, NOFRAMES, BLOCKQUOTE, FORM, ISINDEX, HR, TABLE, FIELDSET, ADDRESS}; - Vector names = new Vector(Arrays.asList(blockMisc)); - // %heading; - names.addAll(Arrays.asList(HEADING)); - // %list; - names.addAll(Arrays.asList(LIST)); - // %preformatted; - names.addAll(Arrays.asList(PREFORMATTED)); - - return names; - } - - /** - * %block;. - * %block; is: - * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | - * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | - * TABLE | FIELDSET | ADDRESS.<br> - * @param group CMGroupImpl Return values. - */ - public final void getBlock(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, getNamesOfBlock().iterator()); - } - - /** - * Create element declarations and store them - * into a <code>CMGroupImpl</code> instance. - * @param group CMGroupImpl Return values. - */ - public final void getFlow(CMGroupImpl group) { - if (group == null) - return; - getBlock(group); - getInline(group); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getFontstyle(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(FONTSTYLE).iterator()); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getFormctrl(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(FORMCTL).iterator()); - } - - /** - * %heading;. - * @param group CMGroupImpl Return values. - */ - public final void getHeading(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(HEADING).iterator()); - } - - /** - * Create element declarations and store them - * into a <code>CMGroupImpl</code> instance. - * @param group CMGroupImpl Return values. - */ - public final void getInline(CMGroupImpl group) { - if (group == null) - return; - getFontstyle(group); - getPhrase(group); - getSpecial(group); - getFormctrl(group); - } - - /** - * %list;. - * @param group CMGroupImpl Return values. - */ - public final void getList(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(LIST).iterator()); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getPhrase(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(PHRASE).iterator()); - } - - /** - * %preformatted; - * @param group CMGroupImpl Return values. - */ - public final void getPreformatted(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(PREFORMATTED).iterator()); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getSpecial(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(SPECIAL).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/EntityCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/EntityCollection.java deleted file mode 100644 index dda7041fd0..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/EntityCollection.java +++ /dev/null @@ -1,837 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.CMNode; - -/** - * Factory for entity declarations. - */ -final class EntityCollection extends DeclCollection implements org.eclipse.wst.html.core.internal.provisional.HTML40Namespace.EntityName { - - - private static class Ids { - public static final int ID_AACUTE_L = 0; - public static final int ID_AACUTE_U = 1; - public static final int ID_ACIRC_L = 2; - public static final int ID_ACIRC_U = 3; - public static final int ID_ACUTE = 4; - public static final int ID_AELIG_L = 5; - public static final int ID_AELIG_U = 6; - public static final int ID_AGRAVE_L = 7; - public static final int ID_AGRAVE_U = 8; - public static final int ID_ALEFSYM = 9; - public static final int ID_ALPHA_L = 10; - public static final int ID_ALPHA_U = 11; - public static final int ID_AMP = 12; - public static final int ID_AND = 13; - public static final int ID_ANG = 14; - public static final int ID_ARING_L = 15; - public static final int ID_ARING_U = 16; - public static final int ID_ASYMP = 17; - public static final int ID_ATILDE_L = 18; - public static final int ID_ATILDE_U = 19; - public static final int ID_AUML_L = 20; - public static final int ID_AUML_U = 21; - public static final int ID_BDQUO = 22; - public static final int ID_BETA_L = 23; - public static final int ID_BETA_U = 24; - public static final int ID_BRVBAR = 25; - public static final int ID_BULL = 26; - public static final int ID_CAP = 27; - public static final int ID_CCEDIL_L = 28; - public static final int ID_CCEDIL_U = 29; - public static final int ID_CEDIL = 30; - public static final int ID_CENT = 31; - public static final int ID_CHI_L = 32; - public static final int ID_CHI_U = 33; - public static final int ID_CIRC = 34; - public static final int ID_CLUBS = 35; - public static final int ID_CONG = 36; - public static final int ID_COPY = 37; - public static final int ID_CRARR = 38; - public static final int ID_CUP = 39; - public static final int ID_CURREN = 40; - public static final int ID_DAGGER_L = 41; - public static final int ID_DAGGER_U = 42; - public static final int ID_DARR_L = 43; - public static final int ID_DARR_U = 44; - public static final int ID_DEG = 45; - public static final int ID_DELTA_L = 46; - public static final int ID_DELTA_U = 47; - public static final int ID_DIAMS = 48; - public static final int ID_DIVIDE = 49; - public static final int ID_EACUTE_L = 50; - public static final int ID_EACUTE_U = 51; - public static final int ID_ECIRC_L = 52; - public static final int ID_ECIRC_U = 53; - public static final int ID_EGRAVE_L = 54; - public static final int ID_EGRAVE_U = 55; - public static final int ID_EMPTY = 56; - public static final int ID_EMSP = 57; - public static final int ID_ENSP = 58; - public static final int ID_EPSILON_L = 59; - public static final int ID_EPSILON_U = 60; - public static final int ID_EQUIV = 61; - public static final int ID_ETA_L = 62; - public static final int ID_ETA_U = 63; - public static final int ID_ETH_L = 64; - public static final int ID_ETH_U = 65; - public static final int ID_EUML_L = 66; - public static final int ID_EUML_U = 67; - public static final int ID_EURO = 68; - public static final int ID_EXIST = 69; - public static final int ID_FNOF = 70; - public static final int ID_FORALL = 71; - public static final int ID_FRAC12 = 72; - public static final int ID_FRAC14 = 73; - public static final int ID_FRAC34 = 74; - public static final int ID_FRASL = 75; - public static final int ID_GAMMA_L = 76; - public static final int ID_GAMMA_U = 77; - public static final int ID_GE = 78; - public static final int ID_GT = 79; - public static final int ID_HARR_L = 80; - public static final int ID_HARR_U = 81; - public static final int ID_HEARTS = 82; - public static final int ID_HELLIP = 83; - public static final int ID_IACUTE_L = 84; - public static final int ID_IACUTE_U = 85; - public static final int ID_ICIRC_L = 86; - public static final int ID_ICIRC_U = 87; - public static final int ID_IEXCL = 88; - public static final int ID_IGRAVE_L = 89; - public static final int ID_IGRAVE_U = 90; - public static final int ID_IMAGE = 91; - public static final int ID_INFIN = 92; - public static final int ID_INT = 93; - public static final int ID_IOTA_L = 94; - public static final int ID_IOTA_U = 95; - public static final int ID_IQUEST = 96; - public static final int ID_ISIN = 97; - public static final int ID_IUML_L = 98; - public static final int ID_IUML_U = 99; - public static final int ID_KAPPA_L = 100; - public static final int ID_KAPPA_U = 101; - public static final int ID_LAMBDA_L = 102; - public static final int ID_LAMBDA_U = 103; - public static final int ID_LANG = 104; - public static final int ID_LAQUO = 105; - public static final int ID_LARR_L = 106; - public static final int ID_LARR_U = 107; - public static final int ID_LCEIL = 108; - public static final int ID_LDQUO = 109; - public static final int ID_LE = 110; - public static final int ID_LFLOOR = 111; - public static final int ID_LOWAST = 112; - public static final int ID_LOZ = 113; - public static final int ID_LRM = 114; - public static final int ID_LSAQUO = 115; - public static final int ID_LSQUO = 116; - public static final int ID_LT = 117; - public static final int ID_MACR = 118; - public static final int ID_MDASH = 119; - public static final int ID_MICRO = 120; - public static final int ID_MIDDOT = 121; - public static final int ID_MINUS = 122; - public static final int ID_MU_L = 123; - public static final int ID_MU_U = 124; - public static final int ID_NABLA = 125; - public static final int ID_NBSP = 126; - public static final int ID_NDASH = 127; - public static final int ID_NE = 128; - public static final int ID_NI = 129; - public static final int ID_NOT = 130; - public static final int ID_NOTIN = 131; - public static final int ID_NSUB = 132; - public static final int ID_NTILDE_L = 133; - public static final int ID_NTILDE_U = 134; - public static final int ID_NU_L = 135; - public static final int ID_NU_U = 136; - public static final int ID_OACUTE_L = 137; - public static final int ID_OACUTE_U = 138; - public static final int ID_OCIRC_L = 139; - public static final int ID_OCIRC_U = 140; - public static final int ID_OELIG_L = 141; - public static final int ID_OELIG_U = 142; - public static final int ID_OGRAVE_L = 143; - public static final int ID_OGRAVE_U = 144; - public static final int ID_OLINE = 145; - public static final int ID_OMEGA_L = 146; - public static final int ID_OMEGA_U = 147; - public static final int ID_OMICRON_L = 148; - public static final int ID_OMICRON_U = 149; - public static final int ID_OPLUS = 150; - public static final int ID_OR = 151; - public static final int ID_ORDF = 152; - public static final int ID_ORDM = 153; - public static final int ID_OSLASH_L = 154; - public static final int ID_OSLASH_U = 155; - public static final int ID_OTILDE_L = 156; - public static final int ID_OTILDE_U = 157; - public static final int ID_OTIMES = 158; - public static final int ID_OUML_L = 159; - public static final int ID_OUML_U = 160; - public static final int ID_PARA = 161; - public static final int ID_PART = 162; - public static final int ID_PERMIL = 163; - public static final int ID_PERP = 164; - public static final int ID_PHI_L = 165; - public static final int ID_PHI_U = 166; - public static final int ID_PIV = 167; - public static final int ID_PI_L = 168; - public static final int ID_PI_U = 169; - public static final int ID_PLUSMN = 170; - public static final int ID_POUND = 171; - public static final int ID_PRIME_L = 172; - public static final int ID_PRIME_U = 173; - public static final int ID_PROD = 174; - public static final int ID_PROP = 175; - public static final int ID_PSI_L = 176; - public static final int ID_PSI_U = 177; - public static final int ID_QUOT = 178; - public static final int ID_RADIC = 179; - public static final int ID_RANG = 180; - public static final int ID_RAQUO = 181; - public static final int ID_RARR_L = 182; - public static final int ID_RARR_U = 183; - public static final int ID_RCEIL = 184; - public static final int ID_RDQUO = 185; - public static final int ID_REAL = 186; - public static final int ID_REG = 187; - public static final int ID_RFLOOR = 188; - public static final int ID_RHO_L = 189; - public static final int ID_RHO_U = 190; - public static final int ID_RLM = 191; - public static final int ID_RSAQUO = 192; - public static final int ID_RSQUO = 193; - public static final int ID_SBQUO = 194; - public static final int ID_SCARON_L = 195; - public static final int ID_SCARON_U = 196; - public static final int ID_SDOT = 197; - public static final int ID_SECT = 198; - public static final int ID_SHY = 199; - public static final int ID_SIGMAF = 200; - public static final int ID_SIGMA_L = 201; - public static final int ID_SIGMA_U = 202; - public static final int ID_SIM = 203; - public static final int ID_SPADES = 204; - public static final int ID_SUB = 205; - public static final int ID_SUBE = 206; - public static final int ID_SUM = 207; - public static final int ID_SUP = 208; - public static final int ID_SUP1 = 209; - public static final int ID_SUP2 = 210; - public static final int ID_SUP3 = 211; - public static final int ID_SUPE = 212; - public static final int ID_SZLIG = 213; - public static final int ID_TAU_L = 214; - public static final int ID_TAU_U = 215; - public static final int ID_THERE4 = 216; - public static final int ID_THETASYM = 217; - public static final int ID_THETA_L = 218; - public static final int ID_THETA_U = 219; - public static final int ID_THINSP = 220; - public static final int ID_THORN_L = 221; - public static final int ID_THORN_U = 222; - public static final int ID_TILDE = 223; - public static final int ID_TIMES = 224; - public static final int ID_TRADE = 225; - public static final int ID_UACUTE_L = 226; - public static final int ID_UACUTE_U = 227; - public static final int ID_UARR_L = 228; - public static final int ID_UARR_U = 229; - public static final int ID_UCIRC_L = 230; - public static final int ID_UCIRC_U = 231; - public static final int ID_UGRAVE_L = 232; - public static final int ID_UGRAVE_U = 233; - public static final int ID_UML = 234; - public static final int ID_UPSIH = 235; - public static final int ID_UPSILON_L = 236; - public static final int ID_UPSILON_U = 237; - public static final int ID_UUML_L = 238; - public static final int ID_UUML_U = 239; - public static final int ID_WEIERP = 240; - public static final int ID_XI_L = 241; - public static final int ID_XI_U = 242; - public static final int ID_YACUTE_L = 243; - public static final int ID_YACUTE_U = 244; - public static final int ID_YEN = 245; - public static final int ID_YUML_L = 246; - public static final int ID_YUML_U = 247; - public static final int ID_ZETA_L = 248; - public static final int ID_ZETA_U = 249; - public static final int ID_ZWJ = 250; - public static final int ID_ZWNJ = 251; - - 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 252. - // -- 5/24/2001 - Class clazz = Ids.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - private static String[] names = null; - - static { - names = new String[Ids.getNumOfIds()]; - names[Ids.ID_AACUTE_L] = AACUTE_L; - names[Ids.ID_AACUTE_U] = AACUTE_U; - names[Ids.ID_ACIRC_L] = ACIRC_L; - names[Ids.ID_ACIRC_U] = ACIRC_U; - names[Ids.ID_ACUTE] = ACUTE; - names[Ids.ID_AELIG_L] = AELIG_L; - names[Ids.ID_AELIG_U] = AELIG_U; - names[Ids.ID_AGRAVE_L] = AGRAVE_L; - names[Ids.ID_AGRAVE_U] = AGRAVE_U; - names[Ids.ID_ALEFSYM] = ALEFSYM; - names[Ids.ID_ALPHA_L] = ALPHA_L; - names[Ids.ID_ALPHA_U] = ALPHA_U; - names[Ids.ID_AMP] = AMP; - names[Ids.ID_AND] = AND; - names[Ids.ID_ANG] = ANG; - names[Ids.ID_ARING_L] = ARING_L; - names[Ids.ID_ARING_U] = ARING_U; - names[Ids.ID_ASYMP] = ASYMP; - names[Ids.ID_ATILDE_L] = ATILDE_L; - names[Ids.ID_ATILDE_U] = ATILDE_U; - names[Ids.ID_AUML_L] = AUML_L; - names[Ids.ID_AUML_U] = AUML_U; - names[Ids.ID_BDQUO] = BDQUO; - names[Ids.ID_BETA_L] = BETA_L; - names[Ids.ID_BETA_U] = BETA_U; - names[Ids.ID_BRVBAR] = BRVBAR; - names[Ids.ID_BULL] = BULL; - names[Ids.ID_CAP] = CAP; - names[Ids.ID_CCEDIL_L] = CCEDIL_L; - names[Ids.ID_CCEDIL_U] = CCEDIL_U; - names[Ids.ID_CEDIL] = CEDIL; - names[Ids.ID_CENT] = CENT; - names[Ids.ID_CHI_L] = CHI_L; - names[Ids.ID_CHI_U] = CHI_U; - names[Ids.ID_CIRC] = CIRC; - names[Ids.ID_CLUBS] = CLUBS; - names[Ids.ID_CONG] = CONG; - names[Ids.ID_COPY] = COPY; - names[Ids.ID_CRARR] = CRARR; - names[Ids.ID_CUP] = CUP; - names[Ids.ID_CURREN] = CURREN; - names[Ids.ID_DAGGER_L] = DAGGER_L; - names[Ids.ID_DAGGER_U] = DAGGER_U; - names[Ids.ID_DARR_L] = DARR_L; - names[Ids.ID_DARR_U] = DARR_U; - names[Ids.ID_DEG] = DEG; - names[Ids.ID_DELTA_L] = DELTA_L; - names[Ids.ID_DELTA_U] = DELTA_U; - names[Ids.ID_DIAMS] = DIAMS; - names[Ids.ID_DIVIDE] = DIVIDE; - names[Ids.ID_EACUTE_L] = EACUTE_L; - names[Ids.ID_EACUTE_U] = EACUTE_U; - names[Ids.ID_ECIRC_L] = ECIRC_L; - names[Ids.ID_ECIRC_U] = ECIRC_U; - names[Ids.ID_EGRAVE_L] = EGRAVE_L; - names[Ids.ID_EGRAVE_U] = EGRAVE_U; - names[Ids.ID_EMPTY] = EMPTY; - names[Ids.ID_EMSP] = EMSP; - names[Ids.ID_ENSP] = ENSP; - names[Ids.ID_EPSILON_L] = EPSILON_L; - names[Ids.ID_EPSILON_U] = EPSILON_U; - names[Ids.ID_EQUIV] = EQUIV; - names[Ids.ID_ETA_L] = ETA_L; - names[Ids.ID_ETA_U] = ETA_U; - names[Ids.ID_ETH_L] = ETH_L; - names[Ids.ID_ETH_U] = ETH_U; - names[Ids.ID_EUML_L] = EUML_L; - names[Ids.ID_EUML_U] = EUML_U; - names[Ids.ID_EURO] = EURO; - names[Ids.ID_EXIST] = EXIST; - names[Ids.ID_FNOF] = FNOF; - names[Ids.ID_FORALL] = FORALL; - names[Ids.ID_FRAC12] = FRAC12; - names[Ids.ID_FRAC14] = FRAC14; - names[Ids.ID_FRAC34] = FRAC34; - names[Ids.ID_FRASL] = FRASL; - names[Ids.ID_GAMMA_L] = GAMMA_L; - names[Ids.ID_GAMMA_U] = GAMMA_U; - names[Ids.ID_GE] = GE; - names[Ids.ID_GT] = GT; - names[Ids.ID_HARR_L] = HARR_L; - names[Ids.ID_HARR_U] = HARR_U; - names[Ids.ID_HEARTS] = HEARTS; - names[Ids.ID_HELLIP] = HELLIP; - names[Ids.ID_IACUTE_L] = IACUTE_L; - names[Ids.ID_IACUTE_U] = IACUTE_U; - names[Ids.ID_ICIRC_L] = ICIRC_L; - names[Ids.ID_ICIRC_U] = ICIRC_U; - names[Ids.ID_IEXCL] = IEXCL; - names[Ids.ID_IGRAVE_L] = IGRAVE_L; - names[Ids.ID_IGRAVE_U] = IGRAVE_U; - names[Ids.ID_IMAGE] = IMAGE; - names[Ids.ID_INFIN] = INFIN; - names[Ids.ID_INT] = INT; - names[Ids.ID_IOTA_L] = IOTA_L; - names[Ids.ID_IOTA_U] = IOTA_U; - names[Ids.ID_IQUEST] = IQUEST; - names[Ids.ID_ISIN] = ISIN; - names[Ids.ID_IUML_L] = IUML_L; - names[Ids.ID_IUML_U] = IUML_U; - names[Ids.ID_KAPPA_L] = KAPPA_L; - names[Ids.ID_KAPPA_U] = KAPPA_U; - names[Ids.ID_LAMBDA_L] = LAMBDA_L; - names[Ids.ID_LAMBDA_U] = LAMBDA_U; - names[Ids.ID_LANG] = LANG; - names[Ids.ID_LAQUO] = LAQUO; - names[Ids.ID_LARR_L] = LARR_L; - names[Ids.ID_LARR_U] = LARR_U; - names[Ids.ID_LCEIL] = LCEIL; - names[Ids.ID_LDQUO] = LDQUO; - names[Ids.ID_LE] = LE; - names[Ids.ID_LFLOOR] = LFLOOR; - names[Ids.ID_LOWAST] = LOWAST; - names[Ids.ID_LOZ] = LOZ; - names[Ids.ID_LRM] = LRM; - names[Ids.ID_LSAQUO] = LSAQUO; - names[Ids.ID_LSQUO] = LSQUO; - names[Ids.ID_LT] = LT; - names[Ids.ID_MACR] = MACR; - names[Ids.ID_MDASH] = MDASH; - names[Ids.ID_MICRO] = MICRO; - names[Ids.ID_MIDDOT] = MIDDOT; - names[Ids.ID_MINUS] = MINUS; - names[Ids.ID_MU_L] = MU_L; - names[Ids.ID_MU_U] = MU_U; - names[Ids.ID_NABLA] = NABLA; - names[Ids.ID_NBSP] = NBSP; - names[Ids.ID_NDASH] = NDASH; - names[Ids.ID_NE] = NE; - names[Ids.ID_NI] = NI; - names[Ids.ID_NOT] = NOT; - names[Ids.ID_NOTIN] = NOTIN; - names[Ids.ID_NSUB] = NSUB; - names[Ids.ID_NTILDE_L] = NTILDE_L; - names[Ids.ID_NTILDE_U] = NTILDE_U; - names[Ids.ID_NU_L] = NU_L; - names[Ids.ID_NU_U] = NU_U; - names[Ids.ID_OACUTE_L] = OACUTE_L; - names[Ids.ID_OACUTE_U] = OACUTE_U; - names[Ids.ID_OCIRC_L] = OCIRC_L; - names[Ids.ID_OCIRC_U] = OCIRC_U; - names[Ids.ID_OELIG_L] = OELIG_L; - names[Ids.ID_OELIG_U] = OELIG_U; - names[Ids.ID_OGRAVE_L] = OGRAVE_L; - names[Ids.ID_OGRAVE_U] = OGRAVE_U; - names[Ids.ID_OLINE] = OLINE; - names[Ids.ID_OMEGA_L] = OMEGA_L; - names[Ids.ID_OMEGA_U] = OMEGA_U; - names[Ids.ID_OMICRON_L] = OMICRON_L; - names[Ids.ID_OMICRON_U] = OMICRON_U; - names[Ids.ID_OPLUS] = OPLUS; - names[Ids.ID_OR] = OR; - names[Ids.ID_ORDF] = ORDF; - names[Ids.ID_ORDM] = ORDM; - names[Ids.ID_OSLASH_L] = OSLASH_L; - names[Ids.ID_OSLASH_U] = OSLASH_U; - names[Ids.ID_OTILDE_L] = OTILDE_L; - names[Ids.ID_OTILDE_U] = OTILDE_U; - names[Ids.ID_OTIMES] = OTIMES; - names[Ids.ID_OUML_L] = OUML_L; - names[Ids.ID_OUML_U] = OUML_U; - names[Ids.ID_PARA] = PARA; - names[Ids.ID_PART] = PART; - names[Ids.ID_PERMIL] = PERMIL; - names[Ids.ID_PERP] = PERP; - names[Ids.ID_PHI_L] = PHI_L; - names[Ids.ID_PHI_U] = PHI_U; - names[Ids.ID_PIV] = PIV; - names[Ids.ID_PI_L] = PI_L; - names[Ids.ID_PI_U] = PI_U; - names[Ids.ID_PLUSMN] = PLUSMN; - names[Ids.ID_POUND] = POUND; - names[Ids.ID_PRIME_L] = PRIME_L; - names[Ids.ID_PRIME_U] = PRIME_U; - names[Ids.ID_PROD] = PROD; - names[Ids.ID_PROP] = PROP; - names[Ids.ID_PSI_L] = PSI_L; - names[Ids.ID_PSI_U] = PSI_U; - names[Ids.ID_QUOT] = QUOT; - names[Ids.ID_RADIC] = RADIC; - names[Ids.ID_RANG] = RANG; - names[Ids.ID_RAQUO] = RAQUO; - names[Ids.ID_RARR_L] = RARR_L; - names[Ids.ID_RARR_U] = RARR_U; - names[Ids.ID_RCEIL] = RCEIL; - names[Ids.ID_RDQUO] = RDQUO; - names[Ids.ID_REAL] = REAL; - names[Ids.ID_REG] = REG; - names[Ids.ID_RFLOOR] = RFLOOR; - names[Ids.ID_RHO_L] = RHO_L; - names[Ids.ID_RHO_U] = RHO_U; - names[Ids.ID_RLM] = RLM; - names[Ids.ID_RSAQUO] = RSAQUO; - names[Ids.ID_RSQUO] = RSQUO; - names[Ids.ID_SBQUO] = SBQUO; - names[Ids.ID_SCARON_L] = SCARON_L; - names[Ids.ID_SCARON_U] = SCARON_U; - names[Ids.ID_SDOT] = SDOT; - names[Ids.ID_SECT] = SECT; - names[Ids.ID_SHY] = SHY; - names[Ids.ID_SIGMAF] = SIGMAF; - names[Ids.ID_SIGMA_L] = SIGMA_L; - names[Ids.ID_SIGMA_U] = SIGMA_U; - names[Ids.ID_SIM] = SIM; - names[Ids.ID_SPADES] = SPADES; - names[Ids.ID_SUB] = SUB; - names[Ids.ID_SUBE] = SUBE; - names[Ids.ID_SUM] = SUM; - names[Ids.ID_SUP] = SUP; - names[Ids.ID_SUP1] = SUP1; - names[Ids.ID_SUP2] = SUP2; - names[Ids.ID_SUP3] = SUP3; - names[Ids.ID_SUPE] = SUPE; - names[Ids.ID_SZLIG] = SZLIG; - names[Ids.ID_TAU_L] = TAU_L; - names[Ids.ID_TAU_U] = TAU_U; - names[Ids.ID_THERE4] = THERE4; - names[Ids.ID_THETASYM] = THETASYM; - names[Ids.ID_THETA_L] = THETA_L; - names[Ids.ID_THETA_U] = THETA_U; - names[Ids.ID_THINSP] = THINSP; - names[Ids.ID_THORN_L] = THORN_L; - names[Ids.ID_THORN_U] = THORN_U; - names[Ids.ID_TILDE] = TILDE; - names[Ids.ID_TIMES] = TIMES; - names[Ids.ID_TRADE] = TRADE; - names[Ids.ID_UACUTE_L] = UACUTE_L; - names[Ids.ID_UACUTE_U] = UACUTE_U; - names[Ids.ID_UARR_L] = UARR_L; - names[Ids.ID_UARR_U] = UARR_U; - names[Ids.ID_UCIRC_L] = UCIRC_L; - names[Ids.ID_UCIRC_U] = UCIRC_U; - names[Ids.ID_UGRAVE_L] = UGRAVE_L; - names[Ids.ID_UGRAVE_U] = UGRAVE_U; - names[Ids.ID_UML] = UML; - names[Ids.ID_UPSIH] = UPSIH; - names[Ids.ID_UPSILON_L] = UPSILON_L; - names[Ids.ID_UPSILON_U] = UPSILON_U; - names[Ids.ID_UUML_L] = UUML_L; - names[Ids.ID_UUML_U] = UUML_U; - names[Ids.ID_WEIERP] = WEIERP; - names[Ids.ID_XI_L] = XI_L; - names[Ids.ID_XI_U] = XI_U; - names[Ids.ID_YACUTE_L] = YACUTE_L; - names[Ids.ID_YACUTE_U] = YACUTE_U; - names[Ids.ID_YEN] = YEN; - names[Ids.ID_YUML_L] = YUML_L; - names[Ids.ID_YUML_U] = YUML_U; - names[Ids.ID_ZETA_L] = ZETA_L; - names[Ids.ID_ZETA_U] = ZETA_U; - names[Ids.ID_ZWJ] = ZWJ; - names[Ids.ID_ZWNJ] = ZWNJ; - } - private static char[] values = null; - - static { - values = new char[Ids.getNumOfIds()]; - values[Ids.ID_AACUTE_L] = 225; - values[Ids.ID_AACUTE_U] = 193; - values[Ids.ID_ACIRC_L] = 226; - values[Ids.ID_ACIRC_U] = 194; - values[Ids.ID_ACUTE] = 180; - values[Ids.ID_AELIG_L] = 230; - values[Ids.ID_AELIG_U] = 198; - values[Ids.ID_AGRAVE_L] = 224; - values[Ids.ID_AGRAVE_U] = 192; - values[Ids.ID_ALEFSYM] = 8501; - values[Ids.ID_ALPHA_L] = 945; - values[Ids.ID_ALPHA_U] = 913; - values[Ids.ID_AMP] = 38; - values[Ids.ID_AND] = 8743; - values[Ids.ID_ANG] = 8736; - values[Ids.ID_ARING_L] = 229; - values[Ids.ID_ARING_U] = 197; - values[Ids.ID_ASYMP] = 8776; - values[Ids.ID_ATILDE_L] = 227; - values[Ids.ID_ATILDE_U] = 195; - values[Ids.ID_AUML_L] = 228; - values[Ids.ID_AUML_U] = 196; - values[Ids.ID_BDQUO] = 8222; - values[Ids.ID_BETA_L] = 946; - values[Ids.ID_BETA_U] = 914; - values[Ids.ID_BRVBAR] = 166; - values[Ids.ID_BULL] = 8226; - values[Ids.ID_CAP] = 8745; - values[Ids.ID_CCEDIL_L] = 231; - values[Ids.ID_CCEDIL_U] = 199; - values[Ids.ID_CEDIL] = 184; - values[Ids.ID_CENT] = 162; - values[Ids.ID_CHI_L] = 967; - values[Ids.ID_CHI_U] = 935; - values[Ids.ID_CIRC] = 710; - values[Ids.ID_CLUBS] = 9827; - values[Ids.ID_CONG] = 8773; - values[Ids.ID_COPY] = 169; - values[Ids.ID_CRARR] = 8629; - values[Ids.ID_CUP] = 8746; - values[Ids.ID_CURREN] = 164; - values[Ids.ID_DAGGER_L] = 8224; - values[Ids.ID_DAGGER_U] = 8225; - values[Ids.ID_DARR_L] = 8595; - values[Ids.ID_DARR_U] = 8659; - values[Ids.ID_DEG] = 176; - values[Ids.ID_DELTA_L] = 948; - values[Ids.ID_DELTA_U] = 916; - values[Ids.ID_DIAMS] = 9830; - values[Ids.ID_DIVIDE] = 247; - values[Ids.ID_EACUTE_L] = 233; - values[Ids.ID_EACUTE_U] = 201; - values[Ids.ID_ECIRC_L] = 234; - values[Ids.ID_ECIRC_U] = 202; - values[Ids.ID_EGRAVE_L] = 232; - values[Ids.ID_EGRAVE_U] = 200; - values[Ids.ID_EMPTY] = 8709; - values[Ids.ID_EMSP] = 8195; - values[Ids.ID_ENSP] = 8194; - values[Ids.ID_EPSILON_L] = 949; - values[Ids.ID_EPSILON_U] = 917; - values[Ids.ID_EQUIV] = 8801; - values[Ids.ID_ETA_L] = 951; - values[Ids.ID_ETA_U] = 919; - values[Ids.ID_ETH_L] = 240; - values[Ids.ID_ETH_U] = 208; - values[Ids.ID_EUML_L] = 235; - values[Ids.ID_EUML_U] = 203; - values[Ids.ID_EURO] = 8364; - values[Ids.ID_EXIST] = 8707; - values[Ids.ID_FNOF] = 402; - values[Ids.ID_FORALL] = 8704; - values[Ids.ID_FRAC12] = 189; - values[Ids.ID_FRAC14] = 188; - values[Ids.ID_FRAC34] = 190; - values[Ids.ID_FRASL] = 8260; - values[Ids.ID_GAMMA_L] = 947; - values[Ids.ID_GAMMA_U] = 915; - values[Ids.ID_GE] = 8805; - values[Ids.ID_GT] = 62; - values[Ids.ID_HARR_L] = 8596; - values[Ids.ID_HARR_U] = 8660; - values[Ids.ID_HEARTS] = 9829; - values[Ids.ID_HELLIP] = 8230; - values[Ids.ID_IACUTE_L] = 237; - values[Ids.ID_IACUTE_U] = 205; - values[Ids.ID_ICIRC_L] = 238; - values[Ids.ID_ICIRC_U] = 206; - values[Ids.ID_IEXCL] = 161; - values[Ids.ID_IGRAVE_L] = 236; - values[Ids.ID_IGRAVE_U] = 204; - values[Ids.ID_IMAGE] = 8465; - values[Ids.ID_INFIN] = 8734; - values[Ids.ID_INT] = 8747; - values[Ids.ID_IOTA_L] = 953; - values[Ids.ID_IOTA_U] = 921; - values[Ids.ID_IQUEST] = 191; - values[Ids.ID_ISIN] = 8712; - values[Ids.ID_IUML_L] = 239; - values[Ids.ID_IUML_U] = 207; - values[Ids.ID_KAPPA_L] = 954; - values[Ids.ID_KAPPA_U] = 922; - values[Ids.ID_LAMBDA_L] = 955; - values[Ids.ID_LAMBDA_U] = 923; - values[Ids.ID_LANG] = 9001; - values[Ids.ID_LAQUO] = 171; - values[Ids.ID_LARR_L] = 8592; - values[Ids.ID_LARR_U] = 8656; - values[Ids.ID_LCEIL] = 8968; - values[Ids.ID_LDQUO] = 8220; - values[Ids.ID_LE] = 8804; - values[Ids.ID_LFLOOR] = 8970; - values[Ids.ID_LOWAST] = 8727; - values[Ids.ID_LOZ] = 9674; - values[Ids.ID_LRM] = 8206; - values[Ids.ID_LSAQUO] = 8249; - values[Ids.ID_LSQUO] = 8216; - values[Ids.ID_LT] = 60; - values[Ids.ID_MACR] = 175; - values[Ids.ID_MDASH] = 8212; - values[Ids.ID_MICRO] = 181; - values[Ids.ID_MIDDOT] = 183; - values[Ids.ID_MINUS] = 8722; - values[Ids.ID_MU_L] = 956; - values[Ids.ID_MU_U] = 924; - values[Ids.ID_NABLA] = 8711; - values[Ids.ID_NBSP] = 160; - values[Ids.ID_NDASH] = 8211; - values[Ids.ID_NE] = 8800; - values[Ids.ID_NI] = 8715; - values[Ids.ID_NOT] = 172; - values[Ids.ID_NOTIN] = 8713; - values[Ids.ID_NSUB] = 8836; - values[Ids.ID_NTILDE_L] = 241; - values[Ids.ID_NTILDE_U] = 209; - values[Ids.ID_NU_L] = 957; - values[Ids.ID_NU_U] = 925; - values[Ids.ID_OACUTE_L] = 243; - values[Ids.ID_OACUTE_U] = 211; - values[Ids.ID_OCIRC_L] = 244; - values[Ids.ID_OCIRC_U] = 212; - values[Ids.ID_OELIG_L] = 339; - values[Ids.ID_OELIG_U] = 338; - values[Ids.ID_OGRAVE_L] = 242; - values[Ids.ID_OGRAVE_U] = 210; - values[Ids.ID_OLINE] = 8254; - values[Ids.ID_OMEGA_L] = 969; - values[Ids.ID_OMEGA_U] = 937; - values[Ids.ID_OMICRON_L] = 959; - values[Ids.ID_OMICRON_U] = 927; - values[Ids.ID_OPLUS] = 8853; - values[Ids.ID_OR] = 8744; - values[Ids.ID_ORDF] = 170; - values[Ids.ID_ORDM] = 186; - values[Ids.ID_OSLASH_L] = 248; - values[Ids.ID_OSLASH_U] = 216; - values[Ids.ID_OTILDE_L] = 245; - values[Ids.ID_OTILDE_U] = 213; - values[Ids.ID_OTIMES] = 8855; - values[Ids.ID_OUML_L] = 246; - values[Ids.ID_OUML_U] = 214; - values[Ids.ID_PARA] = 182; - values[Ids.ID_PART] = 8706; - values[Ids.ID_PERMIL] = 8240; - values[Ids.ID_PERP] = 8869; - values[Ids.ID_PHI_L] = 966; - values[Ids.ID_PHI_U] = 934; - values[Ids.ID_PIV] = 982; - values[Ids.ID_PI_L] = 960; - values[Ids.ID_PI_U] = 928; - values[Ids.ID_PLUSMN] = 177; - values[Ids.ID_POUND] = 163; - values[Ids.ID_PRIME_L] = 8242; - values[Ids.ID_PRIME_U] = 8243; - values[Ids.ID_PROD] = 8719; - values[Ids.ID_PROP] = 8733; - values[Ids.ID_PSI_L] = 968; - values[Ids.ID_PSI_U] = 936; - values[Ids.ID_QUOT] = 34; - values[Ids.ID_RADIC] = 8730; - values[Ids.ID_RANG] = 9002; - values[Ids.ID_RAQUO] = 187; - values[Ids.ID_RARR_L] = 8594; - values[Ids.ID_RARR_U] = 8658; - values[Ids.ID_RCEIL] = 8969; - values[Ids.ID_RDQUO] = 8221; - values[Ids.ID_REAL] = 8476; - values[Ids.ID_REG] = 174; - values[Ids.ID_RFLOOR] = 8971; - values[Ids.ID_RHO_L] = 961; - values[Ids.ID_RHO_U] = 929; - values[Ids.ID_RLM] = 8207; - values[Ids.ID_RSAQUO] = 8250; - values[Ids.ID_RSQUO] = 8217; - values[Ids.ID_SBQUO] = 8218; - values[Ids.ID_SCARON_L] = 353; - values[Ids.ID_SCARON_U] = 352; - values[Ids.ID_SDOT] = 8901; - values[Ids.ID_SECT] = 167; - values[Ids.ID_SHY] = 173; - values[Ids.ID_SIGMAF] = 962; - values[Ids.ID_SIGMA_L] = 963; - values[Ids.ID_SIGMA_U] = 931; - values[Ids.ID_SIM] = 8764; - values[Ids.ID_SPADES] = 9824; - values[Ids.ID_SUB] = 8834; - values[Ids.ID_SUBE] = 8838; - values[Ids.ID_SUM] = 8721; - values[Ids.ID_SUP] = 8835; - values[Ids.ID_SUP1] = 185; - values[Ids.ID_SUP2] = 178; - values[Ids.ID_SUP3] = 179; - values[Ids.ID_SUPE] = 8839; - values[Ids.ID_SZLIG] = 223; - values[Ids.ID_TAU_L] = 964; - values[Ids.ID_TAU_U] = 932; - values[Ids.ID_THERE4] = 8756; - values[Ids.ID_THETASYM] = 977; - values[Ids.ID_THETA_L] = 952; - values[Ids.ID_THETA_U] = 920; - values[Ids.ID_THINSP] = 8201; - values[Ids.ID_THORN_L] = 254; - values[Ids.ID_THORN_U] = 222; - values[Ids.ID_TILDE] = 732; - values[Ids.ID_TIMES] = 215; - values[Ids.ID_TRADE] = 8482; - values[Ids.ID_UACUTE_L] = 250; - values[Ids.ID_UACUTE_U] = 218; - values[Ids.ID_UARR_L] = 8593; - values[Ids.ID_UARR_U] = 8657; - values[Ids.ID_UCIRC_L] = 251; - values[Ids.ID_UCIRC_U] = 219; - values[Ids.ID_UGRAVE_L] = 249; - values[Ids.ID_UGRAVE_U] = 217; - values[Ids.ID_UML] = 168; - values[Ids.ID_UPSIH] = 978; - values[Ids.ID_UPSILON_L] = 965; - values[Ids.ID_UPSILON_U] = 933; - values[Ids.ID_UUML_L] = 252; - values[Ids.ID_UUML_U] = 220; - values[Ids.ID_WEIERP] = 8472; - values[Ids.ID_XI_L] = 958; - values[Ids.ID_XI_U] = 926; - values[Ids.ID_YACUTE_L] = 253; - values[Ids.ID_YACUTE_U] = 221; - values[Ids.ID_YEN] = 165; - values[Ids.ID_YUML_L] = 255; - values[Ids.ID_YUML_U] = 376; - values[Ids.ID_ZETA_L] = 950; - values[Ids.ID_ZETA_U] = 918; - values[Ids.ID_ZWJ] = 8205; - values[Ids.ID_ZWNJ] = 8204; - } - - /** - */ - public EntityCollection() { - super(names, STRICT_CASE); - } - - /** - * Create an entity declaration. - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param attrName java.lang.String - */ - protected CMNode create(String entityName) { - int id = getID(entityName); - if (id == ID_UNKNOWN) - return null; - - String value = String.valueOf(values[id]); - HTMLEntityDeclImpl dec = new HTMLEntityDeclImpl(entityName, value); - - return dec; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HCMDocImpl.java deleted file mode 100644 index 0ba233aa50..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HCMDocImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * CMDocument implementation for the HTML. - */ -class HCMDocImpl extends CMNodeImpl implements HTMLCMDocument { - - /** Namespace for all names of elements, entities and attributes. */ - private CMNamespaceImpl namespace = null; - private ElementCollection elements = null; - private EntityCollection entities = null; - private AttributeCollection attributes = null; - - /** - */ - public HCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) { - super(docTypeName); - namespace = targetNamespace; - attributes = new AttributeCollection(); - elements = new ElementCollection(attributes); - entities = new EntityCollection(); - } - - AttributeCollection getAttributes() { - return attributes; - } - - public HTMLElementDeclaration getElementDeclaration(String elementName) { - if (elements == null) - return null; - return (HTMLElementDeclaration) elements.getNamedItem(elementName); - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public CMNamedNodeMap getElements() { - return elements; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public CMNamedNodeMap getEntities() { - return entities; - } - - public HTMLEntityDeclaration getEntityDeclaration(String entityName) { - if (entities == null) - return null; - return (HTMLEntityDeclaration) entities.getNamedItem(entityName); - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public CMNamespace getNamespace() { - return namespace; - } - - /** - * @see CMNode - */ - public int getNodeType() { - return CMNode.DOCUMENT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttrDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttrDeclImpl.java deleted file mode 100644 index ce938e3467..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttrDeclImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Enumeration; -import java.util.Vector; - -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Implementation class of {@link <code>HTMLAttributeDeclaration</code>} interface.<br> - */ -class HTMLAttrDeclImpl extends CMNodeImpl implements HTMLAttributeDeclaration { - - private HTMLCMDataTypeImpl type = null; - private int usage = 0; - - /** - */ - public HTMLAttrDeclImpl(String attrName, HTMLCMDataTypeImpl valueType, int valueUsage) { - super(attrName); - this.type = valueType; - - switch (valueUsage) { - case OPTIONAL : - case REQUIRED : - case FIXED : - case PROHIBITED : - this.usage = valueUsage; - break; - default : - // should warn... - this.usage = OPTIONAL; // fall back - break; - } - } - - /** - * getAttrName method - * @return java.lang.String - */ - public String getAttrName() { - return getNodeName(); - } - - /** - * getAttrType method - * @return CMDataType - */ - public CMDataType getAttrType() { - return type; - } - - /** - * @deprecated by superinterface - */ - public String getDefaultValue() { - if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT) - return null; - return type.getImpliedValue(); - } - - /** - * @deprecated by superinterface - */ - public Enumeration getEnumAttr() { - Vector v = new Vector(Arrays.asList(type.getEnumeratedValues())); - return v.elements(); - } - - /** - * getNodeType method - * @return int - * - * Returns one of : - * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.ATTRIBUTE_DECLARATION; - } - - /** - * @return int - */ - public int getUsage() { - return usage; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return true; - else if (propertyName.equals(HTMLCMProperties.IS_SCRIPTABLE)) - return true; - return super.supports(propertyName); - } - - /** - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return new Boolean(true); - else if (propertyName.equals(HTMLCMProperties.IS_SCRIPTABLE)) { - return getAttrType().getDataTypeName() == HTMLCMDataType.SCRIPT ? new Boolean(true) : new Boolean(false); - } - return super.getProperty(propertyName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttributeDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttributeDeclaration.java deleted file mode 100644 index 675dc59adf..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLAttributeDeclaration.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - - - -/** - * This interface is intended to be a public interface which has - * interfaces defined in both of {@link <code>CMAttributeDeclaration</code>} - * and {@link <code>HTMLCMNode</code>}.<br> - */ -public interface HTMLAttributeDeclaration extends CMAttributeDeclaration { - -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataType.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataType.java deleted file mode 100644 index fba0b86e75..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataType.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * HTML extension for data types. - */ -public interface HTMLCMDataType extends CMDataType { - - /** Boolean; it should be defined in CMDataType. */ - public static final String BOOLEAN = "BOOLEAN"; //$NON-NLS-1$ - public static final String COLOR = "COLOR"; //$NON-NLS-1$ - public static final String EVENT = "EVENT"; //$NON-NLS-1$ - public static final String IDREFS = "IDREFS"; //$NON-NLS-1$ - /** Name; it should be defined in CMDataType. */ - public static final String NAME = "NAME"; //$NON-NLS-1$ - // Following types are just aliases. - /** %Character; == CDATA */ - public static final String CHARACTER = CMDataType.CDATA; - /** %Charset; == CDATA */ - public static final String CHARSET = CMDataType.CDATA; - /** %Charsets; == CDATA */ - public static final String CHARSETS = CMDataType.CDATA; - /** %ContentType; == CDATA */ - public static final String CONTENT_TYPE = CMDataType.CDATA; - /** %Coords; == CDATA */ - public static final String COORDS = CMDataType.CDATA; - /** %Datetime; == CDATA */ - public static final String DATETIME = CMDataType.CDATA; - /** %FrameTarget; == CDATA */ - public static final String FRAME_TARGET = CMDataType.CDATA; - /** %LanguageCode; == NAME */ - public static final String LANGUAGE_CODE = NAME; - /** %Length; == CDATA */ - public static final String LENGTH = CMDataType.CDATA; - /** %LinkTypes; == CDATA */ - public static final String LINK_TYPES = CMDataType.CDATA; - /** %LIStyle; == CDATA */ - public static final String LI_STYLE = CMDataType.CDATA; - /** %MediaDesc; == CDATA */ - public static final String MEDIA_DESC = CMDataType.CDATA; - /** %MultiLength; == CDATA */ - public static final String MULTI_LENGTH = CMDataType.CDATA; - /** %OLStyle; == CDATA */ - public static final String OL_STYLE = CMDataType.CDATA; - /** %Pixles; == CDATA */ - public static final String PIXELS = CMDataType.CDATA; - /** %Script; == EVENT */ - public static final String SCRIPT = EVENT; - /** %StyleSheet; == EVENT */ - public static final String STYLE_SHEET = CMDataType.CDATA; - /** %Text; == CDATA */ - public static final String TEXT = CMDataType.CDATA; -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataTypeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataTypeImpl.java deleted file mode 100644 index 6e50c743c3..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDataTypeImpl.java +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - - - -/** - */ -class HTMLCMDataTypeImpl extends CMNodeImpl implements HTMLCMDataType { - - private int impliedValueKind = IMPLIED_VALUE_NONE; - private String impliedValue = null; - private final static String[] emptyArray = new String[0]; - private String[] enumValues = emptyArray; - private String instanceValue = null; - - /** - * HTMLCMDataTypeImpl constructor comment. - * @param nm java.lang.String - */ - public HTMLCMDataTypeImpl(String typeName) { - super(typeName); - } - - /** - * HTMLCMDataTypeImpl constructor comment. - * @param nm java.lang.String - */ - public HTMLCMDataTypeImpl(String typeName, String instanceValue) { - super(typeName); - this.instanceValue = instanceValue; - } - - /** - * getTypeName method - * @return java.lang.String - * - * This method returns a suitable default value that can be used when an instance of the data type is created. - * This returns null of a suitable default is not available. - */ - public String generateInstanceValue() { - return instanceValue; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDataType - */ - public String getDataTypeName() { - return getNodeName(); - } - - /** - * getTypeName method - * @return java.lang.String[] - * - */ - public String[] getEnumeratedValues() { - return enumValues; - } - - /** - * getTypeName method - * @return java.lang.String - * - * Returns the implied value or null if none exists. - */ - public String getImpliedValue() { - return impliedValue; - } - - /** - * getImpliedValueKind method - * @return int - * - * Returns one of : - * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT. - */ - public int getImpliedValueKind() { - return impliedValueKind; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.DATA_TYPE; - } - - /** - */ - void setEnumValues(String[] values) { - enumValues = new String[values.length]; - for (int i = 0; i < values.length; i++) { - enumValues[i] = values[i]; - } - } - - /** - * package scope. - */ - void setImpliedValue(int kind, String value) { - switch (kind) { - case IMPLIED_VALUE_FIXED : - case IMPLIED_VALUE_DEFAULT : - impliedValueKind = kind; - impliedValue = value; - break; - case IMPLIED_VALUE_NONE : - default : - impliedValueKind = IMPLIED_VALUE_NONE; - impliedValue = null; // maybe a null string? - break; - } - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocument.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocument.java deleted file mode 100644 index af6c7d9838..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocument.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMDocument; - - - -/** - * HTML extension for CMDocument. - * This interface provides some short hand methods to get declarations - * by a name. - */ -public interface HTMLCMDocument extends CMDocument { - - /** - * A short hand method to get a element declaration for a HTML element.<br> - * @param elementName java.lang.String - */ - HTMLElementDeclaration getElementDeclaration(String elementName); - - /** - * A short hand method to get a entity declaration of HTML documents.<br> - * @param entityName java.lang.String - */ - HTMLEntityDeclaration getEntityDeclaration(String entityName); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocumentFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocumentFactory.java deleted file mode 100644 index 28316ec94d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMDocumentFactory.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Hashtable; -import java.util.List; - -import org.eclipse.wst.html.core.internal.contentmodel.chtml.CHCMDocImpl; -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument; -import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType; - -/** - * INodeAdapter factory for HTML and JSP documents. - */ -public final class HTMLCMDocumentFactory { - - private static Hashtable cmdocs = new Hashtable(); - private static List supportedCMtypes = Arrays.asList(new Object[]{CMDocType.HTML_DOC_TYPE, CMDocType.CHTML_DOC_TYPE, CMDocType.JSP11_DOC_TYPE, CMDocType.JSP12_DOC_TYPE, CMDocType.JSP20_DOC_TYPE, CMDocType.TAG20_DOC_TYPE}); - - private static JCMDocImpl jsp11doc = null; - - /** - * HTMLCMAdapterFactory constructor. - */ - private HTMLCMDocumentFactory() { - super(); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - * @param cmtype - * java.lang.String - */ - public static CMDocument getCMDocument(String cmtype) { - Object obj = cmdocs.get(cmtype); - if (obj == null && cmtype != null) { - if (supportedCMtypes.contains(cmtype)) { - obj = doCreateCMDocument(cmtype); - cmdocs.put(cmtype, obj); - } - } - - return (CMDocument) obj; - } - - private static Object doCreateCMDocument(String cmtype) { - if (CMDocType.HTML_DOC_TYPE.equals(cmtype)) { - CMNamespaceImpl h40ns = new CMNamespaceImpl(HTML40Namespace.HTML40_URI, HTML40Namespace.HTML40_TAG_PREFIX); - HCMDocImpl html40doc = new HCMDocImpl(CMDocType.HTML_DOC_TYPE, h40ns); - return html40doc; - } - - else if (CMDocType.JSP20_DOC_TYPE.equals(cmtype)) { - CMNamespaceImpl j20ns = new CMNamespaceImpl(JSP20Namespace.JSP20_URI, JSP11Namespace.JSP_TAG_PREFIX); - JCM20DocImpl jsp20doc = new JCM20DocImpl(CMDocType.JSP20_DOC_TYPE, j20ns); - return jsp20doc; - } - - else if (CMDocType.TAG20_DOC_TYPE.equals(cmtype)) { - CMNamespaceImpl j20ns = new CMNamespaceImpl(JSP20Namespace.JSP20_URI, JSP11Namespace.JSP_TAG_PREFIX); - TagCMDocImpl tag20doc = new TagCMDocImpl(CMDocType.TAG20_DOC_TYPE, j20ns); - return tag20doc; - } - - else if (CMDocType.JSP11_DOC_TYPE.equals(cmtype) || CMDocType.JSP12_DOC_TYPE.equals(cmtype)) { - if (jsp11doc == null) { - CMNamespaceImpl j11ns = new CMNamespaceImpl(JSP11Namespace.JSP11_URI, JSP11Namespace.JSP_TAG_PREFIX); - jsp11doc = new JCMDocImpl(CMDocType.JSP11_DOC_TYPE, j11ns); - } - return jsp11doc; - } - - else if (CMDocType.CHTML_DOC_TYPE.equals(cmtype)) { - CMNamespaceImpl cH40ns = new CMNamespaceImpl(HTML40Namespace.HTML40_URI, HTML40Namespace.HTML40_TAG_PREFIX); - CHCMDocImpl chtmldoc = new CHCMDocImpl(CMDocType.CHTML_DOC_TYPE, cH40ns); - return chtmldoc; - } - - return null; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMNode.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMNode.java deleted file mode 100644 index a3623ecc1f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLCMNode.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - -/** - * In HTML Documents, name and value of an attribute/element/entity - * should be treated ignoring theirs case. However, in XML documents, - * they should be distinguished with sensitiveness of their case. - * CMNode is basically designed to represent DTDs or Schemas for XML - * documents. So, it doesn't have interfaces to retrieve such information. - * However, declarations in the HTML CM should provide such information. - * This intermediate interface is intended to provide whether ignore cases - * or not.<br> - */ -interface HTMLCMNode extends org.eclipse.wst.xml.core.internal.contentmodel.CMNode { - - /** - * Returns <code>true</code>, if declaration is for HTML attribute/element/entity. - * Otherwise, returns <code>false</code>. - * @return boolean - */ - boolean shouldIgnoreCase(); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElemDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElemDeclImpl.java deleted file mode 100644 index f0b1471a07..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElemDeclImpl.java +++ /dev/null @@ -1,366 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -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.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Base class for all Hed???? classes. - */ -abstract class HTMLElemDeclImpl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration { - - // DTD - protected CMNamedNodeMapImpl attributes = null; - protected String typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY; - /** Never access this field directly. Instead, use getComplexTypeDefinition method. */ - private ComplexTypeDefinition typeDefinition = null; - protected CMGroupImpl inclusion = null; - protected CMGroupImpl exclusion = null; - // advanced information - protected CMNamedNodeMap prohibitedAncestors = null; - protected int correctionType = CORRECT_NONE; - protected int formatType = FORMAT_HTML; - protected int layoutType = LAYOUT_NONE; - protected int omitType = OMIT_NONE; - protected boolean keepSpaces = false; - protected boolean indentChild = false; - protected ElementCollection elementCollection = null; - protected AttributeCollection attributeCollection = null; - protected final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() { - public int getLength() { - return 0; - } - - public CMNode getNamedItem(String name) { - return null; - } - - public CMNode item(int index) { - return null; - } - - public Iterator iterator() { - return new Iterator() { - public boolean hasNext() { - return false; - } - - public Object next() { - return null; - } - - public void remove() { - } - }; - } - }; - - /** - * HTMLElemDeclImpl constructor. - * In the HTML DTD, an element declaration has no specification - * for its occurrence. Occurrence is specifed in content model, like - * <code>(LI)+</code>. To avoid confusion (and complexity), - * occurrence of an element declaration is always 1 (it means, min = 1 and - * max = 1). Instead, occurrence of CMGroup represents actual occurrence - * of the content. - * <br> - * @param name java.lang.String - */ - public HTMLElemDeclImpl(String elementName, ElementCollection collection) { - super(elementName, 1, 1); - elementCollection = collection; - attributeCollection = collection.getAttributeCollection(); - } - - /** - */ - protected abstract void createAttributeDeclarations(); - - private ComplexTypeDefinition createComplexTypeDefinition() { - if (typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_CDATA) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_EMPTY) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_PCDATA)) - return null; - - ComplexTypeDefinitionFactory factory = ComplexTypeDefinitionFactory.getInstance(); - if (factory == null) - return null; // fatal error. - - ComplexTypeDefinition def = factory.createTypeDefinition(typeDefinitionName, elementCollection); - return def; - } - - /** - * Get an attribute declaration. - */ - public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) { - if (attributes == null) { - createAttributeDeclarations(); - if (attributes == null) - return null; // fail to create - } - - CMNode cmnode = attributes.getNamedItem(attrName); - if (cmnode == null) { - return null; - } - else { - return (HTMLAttributeDeclaration) cmnode; // already exists. - } - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMNamedNodeMap getAttributes() { - if (attributes == null) - createAttributeDeclarations(); // lazy eval. - return attributes; - } - - /** - * Get an instance of complex type definition. - */ - private ComplexTypeDefinition getComplexTypeDefinition() { - if (typeDefinition == null) - typeDefinition = createComplexTypeDefinition(); - return typeDefinition; - } - - /** - * Content.<br> - * Element declarations which type is EMPTY or CDATA (maybe PCDATA) - * <strong>MUST</strong> override this method and always return null. - * This default implementation always tries to create a complex type definition - * instance and access to it. - * <br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMContent getContent() { - ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval. - return (def != null) ? def.getContent() : null; - } - - /** - * Content type.<br> - * Element declarations which type is EMPTY or CDATA (maybe PCDATA) - * <strong>MUST</strong> override this method and return an appropriate type. - * This default implementation always tries to create a complex type definition - * instance and access to it. - * <br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval. - return (def != null) ? def.getContentType() : CMElementDeclaration.CDATA; - } - - /** - * @see HTMLElementDeclaration#getCorrectionType - */ - public int getCorrectionType() { - return correctionType; - } - - /** - * HTML element doesn't have any data type. So, this method always - * returns <code>null</code>.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMDataType getDataType() { - return null; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public String getElementName() { - return getNodeName(); - } - - /** - * Exclusion. - * Almost elements don't have a exclusion. - * Only classes those have exclusion should override this method. - */ - public CMContent getExclusion() { - return null; - } - - /** - * Default format type is <code>FORMAT_HTML</code>.<br> - */ - public int getFormatType() { - return formatType; - } - - /** - * Inclusion. - * Almost elements don't have a inclusion. - * Only classes those have inclusion should override this method. - */ - public CMContent getInclusion() { - return null; - } - - /** - */ - public int getLayoutType() { - return layoutType; - } - - /** - * Line break hint is strongly related to layout type. - * Indeed, in the C++DOM, it is determined from layout type only. - * So, this implementation, as the default implementation for all declarations, - * also determines from layout type only.<br> - * @return int - */ - public int getLineBreakHint() { - switch (getLayoutType()) { - case HTMLElementDeclaration.LAYOUT_BLOCK : - return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END; - case HTMLElementDeclaration.LAYOUT_BREAK : - return HTMLElementDeclaration.BREAK_AFTER_START; - case HTMLElementDeclaration.LAYOUT_HIDDEN : - return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END; - default : - return HTMLElementDeclaration.BREAK_NONE; - } - } - - /** - * No HTML element has local elements. So, this method always - * returns an empty map. - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMNamedNodeMap getLocalElements() { - return EMPTY_MAP; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.ELEMENT_DECLARATION; - } - - /** - */ - public int getOmitType() { - return omitType; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - return EMPTY_MAP; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return true; - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - ComplexTypeDefinition def = getComplexTypeDefinition(); - return (def != null); - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return false; - return pp.supports(this); - } - - } - - /** - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return new Boolean(true); - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - ComplexTypeDefinition def = getComplexTypeDefinition(); - return (def != null) ? def.getPrimaryCandidate() : null; - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return null; - return pp.get(this); - } - } - - /** - * Return element names which terminates this element.<br> - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return null; - } - - /** - * return true when the element is a JSP element. - */ - public boolean isJSP() { - return false; - } - - /** - * In some elements, such as APPLET, a source generator should indent child - * elements that their parents. That is, a source generator should generate - * source of APPLET and PARAMS like this: - * <PRE> - * <APPLET ...> - * <PARAM ... > - * <PARAM ... > - * </APPLET> - * <PRE> - * @return boolean - */ - public boolean shouldIndentChildSource() { - return indentChild; - } - - /** - * Most of elements can compact spaces in their child text nodes. - * Some special elements should keep them in their source. - * @return boolean - */ - public boolean shouldKeepSpaces() { - return keepSpaces; - } - - /** - * @return boolean - */ - public boolean shouldTerminateAt(HTMLElementDeclaration nextElement) { - Iterator i = getTerminators(); - if (i == null) - return false; - String nextName = nextElement.getElementName(); - while (i.hasNext()) { - if (nextName.equals(i.next())) - return true; - } - return false; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElementDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElementDeclaration.java deleted file mode 100644 index 8dbf0c8411..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLElementDeclaration.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * This interface is intended to be a public interface which has - * interfaces defined in both of {@link <code>CMElementDeclaration</code>} - * and {@link <code>HTMLCMNode</code>}.<br> - * In addition to this, some interfaces are added to this interface, - * those are specially to HTML elements.<br> - */ -public interface HTMLElementDeclaration extends CMElementDeclaration { - - /** Tag ommission; Not ommisible. */ - int OMIT_NONE = 0; - /** Tag ommission; Both tags are ommisible. */ - int OMIT_BOTH = 1; - /** Tag ommission; The end tag is ommisible. */ - int OMIT_END = 2; - /** Tag ommission; The end tag is ommitted when created. */ - int OMIT_END_DEFAULT = 3; - /** Tag ommission; The end tag must be omitted. */ - int OMIT_END_MUST = 4; - /** Line Break; No break. */ - int BREAK_NONE = 10; - /** Line Break; Break after the start tag. */ - int BREAK_AFTER_START = 11; - /** Line Break; Break both before the start tagn and after the end tag. */ - int BREAK_BEFORE_START_AND_AFTER_END = 12; - /* Layout */ - /** initial value; the value should never returns to client programs. */ - int LAYOUT_NONE = 100; - int LAYOUT_BLOCK = 101; - int LAYOUT_WRAP = 102; - /** No wrap object; like IMG, APPLET,... */ - int LAYOUT_OBJECT = 103; - /** BR */ - int LAYOUT_BREAK = 104; - /** Hidden object; like HTML or HEAD */ - int LAYOUT_HIDDEN = 105; - /* Correction */ - /** Correct; No correct. */ - int CORRECT_NONE = 1000; - /** Correct; Meaningless when the content is empty. */ - int CORRECT_EMPTY = 1001; - /** Correct; Meaningless when no attribut is set. */ - int CORRECT_NEUTRAL = 1002; - /** Correct; Meaningless when same element is nested. */ - int CORRECT_DUPLICATED = 1003; - /** Format; HTML */ - int FORMAT_HTML = 10000; - /** Format; SSI */ - int FORMAT_SSI = 10001; - /** Format; JSP script */ - int FORMAT_JSP_SCRIPT = 10002; - /** Format; JSP directive */ - int FORMAT_JSP_DIRECTIVE = 10003; - /** Format; XML */ - int FORMAT_XML = 10004; - /** Format; MW */ - int FORMAT_MW = 10005; - - /** - * A short hand method to get an attribute declaration of a HTML element. - * @param attrName java.lang.String - */ - HTMLAttributeDeclaration getAttributeDeclaration(String attrName); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclImpl.java deleted file mode 100644 index d43db28d45..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - - - -/** - */ -class HTMLEntityDeclImpl extends CMNodeImpl implements HTMLEntityDeclaration { - - private java.lang.String value = null; - - /** - * CMEntityDeclImpl constructor comment. - * @param entityName java.lang.String; Entity name. - * @param entityValue java.lang.String; Value string. - */ - public HTMLEntityDeclImpl(String entityName, String entityValue) { - super(entityName); - value = entityValue; - } - - /** - * getName method - * @return java.lang.String - */ - public String getName() { - return getNodeName(); - } - - /** - * Get CMNode type.<br> - * @return int; Always return ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.ENTITY_DECLARATION; - } - - /** - * getValue method - * @return java.lang.String - */ - public String getValue() { - return value; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return true; - return super.supports(propertyName); - } - - /** - * Entities in HTML documents are always treated with ignoring cases. - * Because no special entities are defined in JSP 1.0, this method - * can always return <code>true</code>.<br> - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return new Boolean(true); - return super.getProperty(propertyName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclaration.java deleted file mode 100644 index 1f7b2d341a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLEntityDeclaration.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * This interface is intended to be a public interface which has - * interfaces defined in both of {@link <code>CMEntityDeclaration</code>} - * and {@link <code>HTMLCMNode</code>}.<br> - */ -public interface HTMLEntityDeclaration extends org.eclipse.wst.xml.core.internal.contentmodel.CMEntityDeclaration { - -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLPropertyDeclaration.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLPropertyDeclaration.java deleted file mode 100644 index 448bfb3747..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTMLPropertyDeclaration.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * This interface is commonly used in declaration implementation, and internal use. - * Use getProperty() method for public use. - */ -public interface HTMLPropertyDeclaration { - /** - * To determin the type, look up the following keywords in C++DOM/DTDParser.cpp: - * <ul> - * <li>CORRECT_DUPLICATED - <code>GROUP_NODUP</code></li> - * <li>CORRECT_EMPTY - <code>GROUP_COMPACT</code></li> - * <li>CORRECT_NEUTRAL - <code>GROUP_NEUTRAL</code></li> - * <li>CORRECT_NONE - <code>(N/A)</code></li> - * </ul> - * @return int - */ - int getCorrectionType(); - /** - * Get the list of declarations those should be excluded from the content.<br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - CMContent getExclusion(); - /** - * To determin the type, see the following files in the C++DOM: - * ElementType.cpp - ElementType#setGroup(). - * Element.cpp - Element#getStartTag(). - * @return int - */ - int getFormatType(); - /** - * Get the list of declarations those should be included into the content.<br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - CMContent getInclusion(); - /** - * To determin the type, look up the following keywords in C++DOM/DTDParser.cpp: - * <ul> - * <li>LAYOUT_BLOCK - <code>GROUP_BLOCK</code></li> - * <li>LAYOUT_BREAK - <code>GROUP_BREAK</code></li> - * <li>LAYOUT_HIDDEN - <code>GROUP_HIDDEN</code></li> - * <li>LAYOUT_NONE - <code>(N/A)</code></li> - * <li>LAYOUT_OBJECT - <code>GROUP_NOWRAP</code></li> - * <li>LAYOUT_WRAP - <code>(N/A)</code></li> - * </ul> - * @return int - */ - int getLayoutType(); - /** - * To determine the type, see <code>Element::isBreakingBeforeElement()</code> - * and <code>Element::isBreakingAfterElement()</code> defined in C++DOM/Element.cpp.<br> - * @return int - */ - int getLineBreakHint(); - /** - * To determine the type, Check the HTML DTD. - * And look up <code>GROUP_NOEND</code> in C++DOM/DTDParser.cpp.<br> - * @return int - */ - int getOmitType(); - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap - */ - CMNamedNodeMap getProhibitedAncestors(); - /** - * return true when the element is a JSP element. - */ - boolean isJSP(); - /** - * @return boolean - */ - boolean shouldIndentChildSource(); - /** - * Some elements should keep spaces in its child text nodes. - * For example, PRE and TEXTAREA. This method returns true, - * if a target element is one of such elements. - * @return boolean - */ - boolean shouldKeepSpaces(); - /** - * Returns <code>true</code>, if <code>nextElement</code> terminates - * the current element. - * Some elements like <code>P</code> terminates other <code>P</code>. - * That is, when <code><P></code> appears at the next to <code>P</code>, - * which end tags is omitted, it represents not only the beginning of the - * new <code>P</code> element but also the end of the previous <code>P</code>. - */ - boolean shouldTerminateAt(HTMLElementDeclaration nextElement); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedA.java deleted file mode 100644 index 92eb28e7c2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedA.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * A. - */ -final class HedA extends HedInlineContainer { - - /** - */ - public HedA(ElementCollection collection) { - super(HTML40Namespace.ElementName.A, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - } - - /** - * %attrs; - * (charset %Charset; #IMPLIED) - * (type %ContentType; #IMPLIED) - * (name CDATA #IMPLIED) - * (href %URI; #IMPLIED) - * (hreflang %LanguageCode; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (rel %LinkTypes; #IMPLIED) - * (rev %LinkTypes; #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (directkey %Character; #IMPLIED) - * (shape %Shape; rect) - * (coords %Coords; #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_TYPE, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_HREFLANG, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_REL, HTML40Namespace.ATTR_NAME_REV, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_DIRECTKEY, HTML40Namespace.ATTR_NAME_SHAPE, HTML40Namespace.ATTR_NAME_COORDS, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>A</code> has the exclusion. - * It is <code>A</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode a = elementCollection.getNamedItem(HTML40Namespace.ElementName.A); - if (a != null) - exclusion.appendChild(a); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.A, HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedADDRESS.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedADDRESS.java deleted file mode 100644 index b4913f46e9..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedADDRESS.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * ADDRESS. - */ -final class HedADDRESS extends HTMLElemDeclImpl { - - /** - */ - public HedADDRESS(ElementCollection collection) { - super(HTML40Namespace.ElementName.ADDRESS, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_ADDRESS; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAPPLET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAPPLET.java deleted file mode 100644 index 9a546f7f88..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAPPLET.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * APPLET. - */ -final class HedAPPLET extends HTMLElemDeclImpl { - - /** - */ - public HedAPPLET(ElementCollection collection) { - super(HTML40Namespace.ElementName.APPLET, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER; - layoutType = LAYOUT_OBJECT; - indentChild = true; - } - - /** - * %coreattrs; - * (codebase %URI; #IMPLIED) - * (archive CDATA #IMPLIED) - * (code CDATA #IMPLIED) - * (object CDATA #IMPLIED) - * (alt %Text; #IMPLIED) ... should be defined locally. - * (name CDATA #IMPLIED) - * (width %Length; #REQUIRED) - * (height %Length; #REQUIRED) - * (align %IAlign; #IMPLIED) - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - * (mayscript (mayscript) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CODEBASE, HTML40Namespace.ATTR_NAME_ARCHIVE, HTML40Namespace.ATTR_NAME_CODE, HTML40Namespace.ATTR_NAME_OBJECT, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_MAYSCRIPT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // %align; ... should be defined locally. - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAREA.java deleted file mode 100644 index 3afad0630b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedAREA.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * AREA. - */ -final class HedAREA extends HedEmpty { - - /** - */ - public HedAREA(ElementCollection collection) { - super(HTML40Namespace.ElementName.AREA, collection); - // LAYOUT_HIDDEN. - // Because, AREA is GROUP_HIDDEN in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_HIDDEN; - } - - /** - * AREA. - * %attrs; - * (shape %Shape; rect) - * (coords %Coords; #IMPLIED) - * (href %URI; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (nohref (nohref) #IMPLIED) - * (alt %Text; #REQUIRED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_SHAPE, HTML40Namespace.ATTR_NAME_COORDS, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_NOHREF, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASE.java deleted file mode 100644 index e528814937..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASE.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * BASE. - */ -final class HedBASE extends HedEmpty { - - /** - */ - public HedBASE(ElementCollection collection) { - super(HTML40Namespace.ElementName.BASE, collection); - // LAYOUT_HIDDEN. - // Because, BASE is GROUP_HIDDEN in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_HIDDEN; - } - - /** - * BASE. - * (href %URI; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_TARGET}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASEFONT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASEFONT.java deleted file mode 100644 index 2c9109b273..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBASEFONT.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * BASEFONT. - */ -final class HedBASEFONT extends HedEmpty { - - /** - */ - public HedBASEFONT(ElementCollection collection) { - super(HTML40Namespace.ElementName.BASEFONT, collection); - // LAYOUT_OBJECT - GROUP_NOWRAP. - layoutType = LAYOUT_OBJECT; - } - - /** - * BASEFONT. - * (id ID #IMPLIED) - * (size CDATA #REQUIRED) ... should be localy defined. - * (color %Color; #IMPLIED) - * (face CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_ID, HTML40Namespace.ATTR_NAME_COLOR, HTML40Namespace.ATTR_NAME_FACE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (size CDATA #REQUIRED) ... should be localy defined. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBDO.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBDO.java deleted file mode 100644 index bcee51fe2d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBDO.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * BDO. - */ -final class HedBDO extends HedInlineContainer { - - /** - */ - public HedBDO(ElementCollection collection) { - super(HTML40Namespace.ElementName.BDO, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - } - - /** - * %coreattrs; - * (lang %LanguageCode; #IMPLIED) - * (dir (ltr|rtl) #REQUIRED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_LANG}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (dir (ltr|rtl) #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_LTR, HTML40Namespace.ATTR_VALUE_RTL}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_DIR, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_DIR, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBGSOUND.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBGSOUND.java deleted file mode 100644 index 3e731d8006..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBGSOUND.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - - - -final class HedBGSOUND extends HedEmpty { - - public HedBGSOUND(ElementCollection collection) { - super(HTML40Namespace.ElementName.BGSOUND, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * (src, CDATA, #IMPLIED) - * (loop, CDATA, #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - // src - HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_SRC); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr); - // loop - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, HTML40Namespace.ATTR_VALUE_INFINITE); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_LOOP, atype, CMAttributeDeclaration.OPTIONAL); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_LOOP, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBLOCKQUOTE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBLOCKQUOTE.java deleted file mode 100644 index d1cb608da1..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBLOCKQUOTE.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * BLOCKQUOTE. - */ -final class HedBLOCKQUOTE extends HedFlowContainer { - - /** - */ - public HedBLOCKQUOTE(ElementCollection collection) { - super(HTML40Namespace.ElementName.BLOCKQUOTE, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * (cite %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CITE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBODY.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBODY.java deleted file mode 100644 index 3324a9ab6e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBODY.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * BODY. - */ -final class HedBODY extends HedFlowContainer { - - private static String[] terminators = {HTML40Namespace.ElementName.HEAD, HTML40Namespace.ElementName.BODY, HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.HTML}; - - /** - */ - public HedBODY(ElementCollection collection) { - super(HTML40Namespace.ElementName.BODY, collection); - layoutType = LAYOUT_BLOCK; - omitType = OMIT_BOTH; - } - - /** - * %attrs; - * %bodycolors; - * (onload %Script; #IMPLIED) - * (onunload %Script; #IMPLIED) - * (background %URI; #IMPLIED) - * (marginwidth %Pixels; #IMPLIED) ... D205514 - * (marginheight %Pixels; #IMPLIED) .. D205514 - * (topmargin, CDATA, #IMPLIED) ...... D205514 - * (bottommargin, CDATA, #IMPLIED) ... D205514 - * (leftmargin, CDATA, #IMPLIED) ..... D205514 - * (rightmargin, CDATA, #IMPLIED) .... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %bodycolors; - attributeCollection.getBodycolors(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_ONLOAD, HTML40Namespace.ATTR_NAME_ONUNLOAD, HTML40Namespace.ATTR_NAME_BACKGROUND, - // <<D205514 - HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_TOPMARGIN, HTML40Namespace.ATTR_NAME_BOTTOMMARGIN, HTML40Namespace.ATTR_NAME_LEFTMARGIN, HTML40Namespace.ATTR_NAME_RIGHTMARGIN - // D205514 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Inclusion. - * "Lazy eval."<br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getInclusion() { - if (inclusion != null) - return inclusion; // already created. - if (elementCollection == null) - return null; - - // (INS|DEL) - inclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {HTML40Namespace.ElementName.INS, HTML40Namespace.ElementName.DEL}; - elementCollection.getDeclarations(inclusion, Arrays.asList(names).iterator()); - return inclusion; - } - - /** - * BODY has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBR.java deleted file mode 100644 index 45fa6ce8ca..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBR.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -/** - * BR. - */ -final class HedBR extends HedEmpty { - - /** - */ - public HedBR(ElementCollection collection) { - super(HTML40Namespace.ElementName.BR, collection); - // LAYOUT_BREAK. - // Because, BR is GROUP_BREAK in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_BREAK; - } - - /** - * BR. - * %coreattrs; - * (clear (left | all | right | none) none) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - // clear - HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_CLEAR); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_CLEAR, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBUTTON.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBUTTON.java deleted file mode 100644 index 975498047e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedBUTTON.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * BUTTON. - */ -final class HedBUTTON extends HedFlowContainer { - - /** - */ - public HedBUTTON(ElementCollection collection) { - super(HTML40Namespace.ElementName.BUTTON, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * %reserved; ... empty. - * (name CDATA #IMPLIED) - * (value CDATA #IMPLIED) - * (type (button|submit|reset) submit) ... should be defined locally. - * (disabled (disabled) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (type (button|submit|reset) submit) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_BUTTON, HTML40Namespace.ATTR_VALUE_SUBMIT, HTML40Namespace.ATTR_VALUE_RESET}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - } - - /** - * Exclusion. - * <code>FORM</code> has the exclusion. - * It is <code>FORM</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; // fatal - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {HTML40Namespace.ElementName.A, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.ISINDEX, HTML40Namespace.ElementName.FIELDSET, HTML40Namespace.ElementName.IFRAME}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - elementCollection.getFormctrl(exclusion); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCAPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCAPTION.java deleted file mode 100644 index 82b07dcac1..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCAPTION.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -/** - * CAPTION. - */ -final class HedCAPTION extends HedInlineContainer { - - /** - */ - public HedCAPTION(ElementCollection collection) { - super(HTML40Namespace.ElementName.CAPTION, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * (align %CAlign; #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForCaption(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCENTER.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCENTER.java deleted file mode 100644 index 9d5184f89f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCENTER.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * CENTER. - */ -final class HedCENTER extends HedFlowContainer { - - /** - */ - public HedCENTER(ElementCollection collection) { - super(HTML40Namespace.ElementName.CENTER, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOL.java deleted file mode 100644 index 14f322668a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOL.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - -/** - * COL. - */ -final class HedCOL extends HedEmpty { - - /** - */ - public HedCOL(ElementCollection collection) { - super(HTML40Namespace.ElementName.COL, collection); - // LAYOUT_BLOCK. - // Because, COL is GROUP_BLOCK in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_BLOCK; - } - - /** - * COL. - * %attrs; - * (span NUMBER 1) - * (width %MultiLength; #IMPLIED) ... should be defined locally. - * %cellhalign; - * %cellvalign; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (span NUMBER 1) - String[] names = {HTML40Namespace.ATTR_NAME_SPAN}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (width %MultiLength; #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr); - - // %cellhalign; - attributeCollection.getCellhalign(attributes); - // %cellvalign; - attributeCollection.getCellvalign(attributes); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOLGROUP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOLGROUP.java deleted file mode 100644 index bd2e74ffa5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedCOLGROUP.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - -/** - * COLGROUP. - */ -final class HedCOLGROUP extends HTMLElemDeclImpl { - - private static String[] terminators = {HTML40Namespace.ElementName.COLGROUP, HTML40Namespace.ElementName.CAPTION, HTML40Namespace.ElementName.THEAD, HTML40Namespace.ElementName.TBODY, HTML40Namespace.ElementName.TFOOT, HTML40Namespace.ElementName.TR}; - - public HedCOLGROUP(ElementCollection collection) { - super(HTML40Namespace.ElementName.COLGROUP, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_COLUMN_GROUP; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END; - indentChild = true; - } - - /** - * %attrs; - * (span NUMBER 1) - * (width %MultiLength; #IMPLIED) ... should be defined locally. - * %cellhalign; - * %cellvalign; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %cellhalign; - attributeCollection.getCellhalign(attributes); - // %cellvalign; - attributeCollection.getCellvalign(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_SPAN}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (width %MultiLength; #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr); - } - - /** - * LI has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDD.java deleted file mode 100644 index 6004f847e3..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDD.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * DD. - */ -final class HedDD extends HedFlowContainer { - - private static String[] terminators = {HTML40Namespace.ElementName.DT, HTML40Namespace.ElementName.DD}; - - /** - */ - public HedDD(ElementCollection collection) { - super(HTML40Namespace.ElementName.DD, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - * DD has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDIV.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDIV.java deleted file mode 100644 index b2cd2bcdc8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDIV.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * DIV. - */ -final class HedDIV extends HedFlowContainer { - - /** - */ - public HedDIV(ElementCollection collection) { - super(HTML40Namespace.ElementName.DIV, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * %align; - * %reserved; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %align; - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - // %reserved; ... empty - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDL.java deleted file mode 100644 index a45f2f89bb..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDL.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * DL. - */ -final class HedDL extends HTMLElemDeclImpl { - - /** - */ - public HedDL(ElementCollection collection) { - super(HTML40Namespace.ElementName.DL, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - indentChild = true; - } - - /** - * %arrays; - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_COMPACT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDT.java deleted file mode 100644 index c4797fbc92..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedDT.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * DT. - */ -final class HedDT extends HedInlineContainer { - - private static String[] terminators = {HTML40Namespace.ElementName.DT, HTML40Namespace.ElementName.DD}; - - /** - */ - public HedDT(ElementCollection collection) { - super(HTML40Namespace.ElementName.DT, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - * DT has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEMBED.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEMBED.java deleted file mode 100644 index c1e301d6d5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEMBED.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * EMBED. - */ -final class HedEMBED extends HTMLElemDeclImpl { - - /** - */ - public HedEMBED(ElementCollection collection) { - super(HTML40Namespace.ElementName.EMBED, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMBED; - layoutType = LAYOUT_OBJECT; - omitType = OMIT_END_DEFAULT; - } - - /** - * %coreattrs; - * %events; - * (src %URI; #REQUIRED) ... should be defined locally. - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (align %IAlign; #IMPLIED) ... should be defined locally. - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - * (loop CDATA #IMPLIED) - * (hidden CDATA #IMPLIED) - * (volume CDATA #IMPLIED) - * (autostart (true|false) #IMPLIED) - * (autoplay (true|false) #IMPLIED) - * (autosize (true|false) #IMPLIED) - * (controller (true|false) true) - * (scale CDATA #IMPLIED) - * (showcontrols (true|false) #IMPLIED) - * (playcount NUMBER #IMPLIED) - * (repeat CDATA #IMPLIED) - * (panel CDATA #IMPLIED) - * (text CDATA #IMPLIED) - * (palette CDATA #IMPLIED) - * (textfocus CDATA #IMPLIED) - * (type CDATA #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - // %events; - attributeCollection.getEvents(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_LOOP, HTML40Namespace.ATTR_NAME_HIDDEN, HTML40Namespace.ATTR_NAME_VOLUME, HTML40Namespace.ATTR_NAME_AUTOSTART, HTML40Namespace.ATTR_NAME_AUTOPLAY, HTML40Namespace.ATTR_NAME_AUTOSIZE, HTML40Namespace.ATTR_NAME_CONTROLLER, HTML40Namespace.ATTR_NAME_SCALE, HTML40Namespace.ATTR_NAME_SHOWCONTROLS, HTML40Namespace.ATTR_NAME_PLAYCOUNT, HTML40Namespace.ATTR_NAME_REPEAT, HTML40Namespace.ATTR_NAME_PANEL, HTML40Namespace.ATTR_NAME_TEXT, HTML40Namespace.ATTR_NAME_PALETTE, HTML40Namespace.ATTR_NAME_TEXTFOCUS}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - // (src %URI; #REQUIRED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr); - - // (align %IAlign; #IMPLIED) ... should be defined locally. - attr = AttributeCollection.createAlignForImage(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - - // (type CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEmpty.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEmpty.java deleted file mode 100644 index 4a24b8061b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedEmpty.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * Base class for EMPTY type element declarations. - */ -abstract class HedEmpty extends HTMLElemDeclImpl { - - /** - */ - public HedEmpty(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY; - // EMPTY type has no end tag. - omitType = OMIT_END_MUST; - } - - /** - * Content.<br> - * EMPTY type always returns <code>null</code>. - * <br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * Content type.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - return CMElementDeclaration.EMPTY; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFIELDSET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFIELDSET.java deleted file mode 100644 index f47fbcb0ab..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFIELDSET.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * FIELDSET. - */ -final class HedFIELDSET extends HTMLElemDeclImpl { - - /** - */ - public HedFIELDSET(ElementCollection collection) { - super(HTML40Namespace.ElementName.FIELDSET, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FIELDSET; - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFONT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFONT.java deleted file mode 100644 index 61dd455408..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFONT.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * FONT. - */ -final class HedFONT extends HedInlineContainer { - - /** - */ - public HedFONT(ElementCollection collection) { - super(HTML40Namespace.ElementName.FONT, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - } - - /** - * %coreattrs; - * %i18n; - * (size CDATA #IMPLIED) ... should be defined locally. - * (color %Color; #IMPLIED) - * (face CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - // %i18n; - attributeCollection.getI18n(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_COLOR, HTML40Namespace.ATTR_NAME_FACE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (size CDATA #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFORM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFORM.java deleted file mode 100644 index 9986faa0a2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFORM.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * FORM. - */ -final class HedFORM extends HedFlowContainer { - - /** - */ - public HedFORM(ElementCollection collection) { - super(HTML40Namespace.ElementName.FORM, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * (action %URI; #REQUIRED) - * (method (GET|POST) GET) - * (enctype %ContentType; "application/x-www-form-urlencoded") - * (accept %ContentTypes; #IMPLIED) - * (name CDATA #IMPLIED) - * (onsubmit %Script; #IMPLIED) - * (onreset %Script; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (accept-charset %Charsets; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_ACTION, HTML40Namespace.ATTR_NAME_METHOD, HTML40Namespace.ATTR_NAME_ENCTYPE, HTML40Namespace.ATTR_NAME_ACCEPT, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_ONSUBMIT, HTML40Namespace.ATTR_NAME_ONRESET, HTML40Namespace.ATTR_NAME_TARGET, HTML40Namespace.ATTR_NAME_ACCEPT_CHARSET}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>FORM</code> has the exclusion. - * It is <code>FORM</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; // fatal - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode form = elementCollection.getNamedItem(HTML40Namespace.ElementName.FORM); - if (form != null) - exclusion.appendChild(form); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAME.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAME.java deleted file mode 100644 index 768fe2466f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAME.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * FRAME. - */ -final class HedFRAME extends HedEmpty { - - /** - */ - public HedFRAME(ElementCollection collection) { - super(HTML40Namespace.ElementName.FRAME, collection); - // LAYOUT_HIDDEN. - // Because, FRAME is GROUP_HIDDEN in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_HIDDEN; - } - - /** - * FRAME. - * %coreattrs; - * (longdesc %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (src %URI; #IMPLIED) - * (frameborder (1|0) 1) - * (marginwidth %Pixels; #IMPLIED) - * (marginheight %Pixels; #IMPLIED) - * (noresize (noresize) #IMPLIED) - * (scrolling (yes|no|auto) auto) - * (bordercolor %Color #IMPLIED) ... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_FRAMEBORDER, HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_NORESIZE, HTML40Namespace.ATTR_NAME_SCROLLING, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D20554 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAMESET.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAMESET.java deleted file mode 100644 index 66000dcdbd..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFRAMESET.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * FRAMESET. - */ -final class HedFRAMESET extends HTMLElemDeclImpl { - - /** - */ - public HedFRAMESET(ElementCollection collection) { - super(HTML40Namespace.ElementName.FRAMESET, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FRAMESET; - layoutType = LAYOUT_HIDDEN; - indentChild = true; - } - - /** - * %coreattrs; - * (rows %MultiLengths; #IMPLIED) ... should be defined locally. - * (cols %MultiLengths; #IMPLIED) ... should be defined locally. - * (onload %Script; #IMPLIED) - * (onunload %Script; #IMPLIED) - * (frameborder (yes|no) #IMPLIED) ... should be defined locally. - * (border %Pixels; #IMPLIED) - * (bordercolor %Color #IMPLIED) ... D205514 - * (framespacing CDATA #IMPLIED) ... D215684 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getCore(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_ONLOAD, HTML40Namespace.ATTR_NAME_ONUNLOAD, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_BORDERCOLOR, // D205514 - HTML40Namespace.ATTR_NAME_FRAMESPACING // D215684 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - // (rows %MultiLengths; #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.MULTI_LENGTH); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ROWS, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ROWS, attr); - - // (cols %MultiLengths; #IMPLIED) ... should be defined locally. - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_COLS, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_COLS, attr); - - // (frameborder (yes|no) #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_YES, HTML40Namespace.ATTR_VALUE_NO}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_FRAMEBORDER, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_FRAMEBORDER, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFlowContainer.java deleted file mode 100644 index bf211b2fad..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFlowContainer.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * Base class for (%flow;)* containers. - */ -abstract class HedFlowContainer extends HTMLElemDeclImpl { - - /** - */ - public HedFlowContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFontStyle.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFontStyle.java deleted file mode 100644 index d86b1424fd..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedFontStyle.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * %fontstyle; - */ -final class HedFontStyle extends HedInlineContainer { - - /** - */ - public HedFontStyle(String elementName, ElementCollection collection) { - super(elementName, collection); - if (elementName.equalsIgnoreCase(HTML40Namespace.ElementName.BIG) || elementName.equalsIgnoreCase(HTML40Namespace.ElementName.SMALL)) { - correctionType = CORRECT_EMPTY; - } - else { // B, I, U, ... - correctionType = CORRECT_DUPLICATED; - } - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - String myName = getElementName(); - if (!myName.equalsIgnoreCase(HTML40Namespace.ElementName.BIG) && !myName.equalsIgnoreCase(HTML40Namespace.ElementName.SMALL)) - return EMPTY_MAP; - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.PRE}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHEAD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHEAD.java deleted file mode 100644 index 691a061621..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHEAD.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * HTML. - */ -final class HedHEAD extends HTMLElemDeclImpl { - - private static String[] terminators = {HTML40Namespace.ElementName.HEAD, HTML40Namespace.ElementName.BODY, HTML40Namespace.ElementName.FRAMESET, HTML40Namespace.ElementName.HTML}; - - /** - */ - public HedHEAD(ElementCollection collection) { - super(HTML40Namespace.ElementName.HEAD, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HEAD; - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_BOTH; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>HEAD</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%i18n;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>profile</td><td>URI</td><td>#IMPLIED</td><td>N/A</td><td>-</td> - * </tr> - * </tbody> - * </table> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - // profile - HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_PROFILE); - if (adec != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_PROFILE, adec); - } - - /** - * HEAD has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHR.java deleted file mode 100644 index 868b5c729a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHR.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * HR. - */ -final class HedHR extends HedEmpty { - - /** - */ - public HedHR(ElementCollection collection) { - super(HTML40Namespace.ElementName.HR, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs - * (align (left|center|right) #IMPLIED) ... should be defined locally. - * (noshade (noshade) #IMPLIED) - * (size %Pixels; #IMPLIED) - * (width %Length; #IMPLIED) - * (color %Color; #IMPLIED) ... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (align (left|center|right) #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_LEFT, HTML40Namespace.ATTR_VALUE_CENTER, HTML40Namespace.ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - - // the rest. - String[] names = {HTML40Namespace.ATTR_NAME_NOSHADE, HTML40Namespace.ATTR_NAME_SIZE, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_COLOR // D205514 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHTML.java deleted file mode 100644 index 99b63321d2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHTML.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * HTML. - */ -final class HedHTML extends HTMLElemDeclImpl { - - private static String[] terminators = {HTML40Namespace.ElementName.HTML}; - - /** - */ - public HedHTML(ElementCollection collection) { - super(HTML40Namespace.ElementName.HTML, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HTML; - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_BOTH; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>HTML</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td><code>%i18n;</code></td><td>-</td><td>-</td><td>-</td> - * <td>{@link PDCMDocImpl#getAttrDeclarationsI18n}</td> - * </tr> - * <tr> - * <td>version</td><td>CDATA</td><td>#FIXED</td> - * <td>{@link HTML_VERSION_TRANSITIONAL}</td><td>deplecated in HTML4.01</td> - * </tr> - * </tbody> - * </table> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - // version - HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_VERSION); - if (adec != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VERSION, adec); - } - - /** - * HTML has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHeading.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHeading.java deleted file mode 100644 index 6a17c164ad..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedHeading.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * H[1-6]. - */ -final class HedHeading extends HedInlineContainer { - - /** - */ - public HedHeading(String elementName, ElementCollection collection) { - super(elementName, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>H1</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * </tbody> - * </table> - * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>. - * Unfortunately, this <code>align</code> is different from one in - * <code>IMG</code> or <code>TABLE</code>. So, the attribute declaration - * of <code>align</code> should be localy created and it shouldn't be registered - * in a <code>HCMDocImpl</code> instance.</p> - * <p>However, %align is used in sevaral times. I wouldn't write same code - * in many times. So, I add a new utility method into <code>CMUtil</code> - * to create the attribute declaration.</p> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // align - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIFRAME.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIFRAME.java deleted file mode 100644 index 191615ec24..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIFRAME.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * IFRAME. - */ -final class HedIFRAME extends HedFlowContainer { - - /** - */ - public HedIFRAME(ElementCollection collection) { - super(HTML40Namespace.ElementName.IFRAME, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * %coreattrs; - * (longdesc %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (src %URI; #IMPLIED) - * (frameborder (1|0) 1) - * (marginwidth %Pixels; #IMPLIED) - * (marginheight %Pixels; #IMPLIED) - * (scrolling (yes|no|auto) auto) - * (align %IAlign; #IMPLIED) ... should be defined locally. - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_FRAMEBORDER, HTML40Namespace.ATTR_NAME_MARGINWIDTH, HTML40Namespace.ATTR_NAME_MARGINHEIGHT, HTML40Namespace.ATTR_NAME_SCROLLING, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIMG.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIMG.java deleted file mode 100644 index 1e1805e58a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedIMG.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * IMG. - */ -final class HedIMG extends HedEmpty { - - /** - */ - public HedIMG(ElementCollection collection) { - super(HTML40Namespace.ElementName.IMG, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * IMG. - * %attrs; - * (src %URI; #REQUIRED): should be defined locally. - * (alt %Text; #REQUIRED) - * (longdesc %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - * (align %IAlign; #IMPLIED): should be defined locally. - * (border %Pixels; #IMPLIED) - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - * (mapfile %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (src %URI; #REQUIRED): should be defined locally. - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SRC, attr); - - String[] names = {HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_LONGDESC, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_ISMAP, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE, HTML40Namespace.ATTR_NAME_MAPFILE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align (local); should be defined locally. - attr = AttributeCollection.createAlignForImage(); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.PRE}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedINPUT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedINPUT.java deleted file mode 100644 index 60b3049406..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedINPUT.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * INPUT. - */ -final class HedINPUT extends HedEmpty { - - /** - */ - public HedINPUT(ElementCollection collection) { - super(HTML40Namespace.ElementName.INPUT, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * INPUT. - * %attrs; - * (type %InputType; TEXT) ... should be defined locally. - * (name CDATA #IMPLIED) - * (value CDATA #IMPLIED) - * (checked (checked) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (readonly (readonly) #IMPLIED) - * (size CDATA #IMPLIED) ... should be defined locally. - * (maxlength NUMBER #IMPLIED) - * (src %URI; #IMPLIED) - * (alt CDATA #IMPLIED) ... should be defined locally. - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onselect %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - * (accept %ContentTypes; #IMPLIED) - * (align %IAlign; #IMPLIED) ... should be defined locally. - * (istyle CDATA #IMPLIED) - * <<D215684 - * (width CDATA; #IMPLIED) - * (height CDATA; #IMPLIED) - * (border CDATA; #IMPLIED) - * D215684 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - // (type %InputType; TEXT) ... should be defined locally. - // NOTE: %InputType is ENUM; - // (text | password | checkbox | radio | submit | reset | - // file | hidden | image | button) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_TEXT, HTML40Namespace.ATTR_VALUE_PASSWORD, HTML40Namespace.ATTR_VALUE_CHECKBOX, HTML40Namespace.ATTR_VALUE_RADIO, HTML40Namespace.ATTR_VALUE_SUBMIT, HTML40Namespace.ATTR_VALUE_RESET, HTML40Namespace.ATTR_VALUE_FILE, HTML40Namespace.ATTR_VALUE_HIDDEN, HTML40Namespace.ATTR_VALUE_IMAGE, HTML40Namespace.ATTR_VALUE_BUTTON}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, HTML40Namespace.ATTR_VALUE_TEXT); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - - // (size CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr); - - // (alt CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALT, attr); - - // (align %IAlign; #IMPLIED) ... should be defined locally. - attr = AttributeCollection.createAlignForImage(); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - - // the rest. - String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_CHECKED, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_READONLY, HTML40Namespace.ATTR_NAME_SIZE, HTML40Namespace.ATTR_NAME_MAXLENGTH, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_ALT, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_ISMAP, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONSELECT, HTML40Namespace.ATTR_NAME_ONCHANGE, HTML40Namespace.ATTR_NAME_ACCEPT, HTML40Namespace.ATTR_NAME_ALIGN, HTML40Namespace.ATTR_NAME_ISTYLE, - //<<D215684 - HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BORDER - //<D215684 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedISINDEX.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedISINDEX.java deleted file mode 100644 index 8c744d6a8b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedISINDEX.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * ISINDEX. - */ -final class HedISINDEX extends HedEmpty { - - /** - */ - public HedISINDEX(ElementCollection collection) { - super(HTML40Namespace.ElementName.ISINDEX, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * ISINDEX. - * %coreattrs; - * %i18n; - * (prompt %Text; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - // %i18n; - attributeCollection.getI18n(attributes); - - HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(HTML40Namespace.ATTR_NAME_PROMPT); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_PROMPT, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedInlineContainer.java deleted file mode 100644 index dd08221a2e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedInlineContainer.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * Base class for (%inline;)* containers. - */ -abstract class HedInlineContainer extends HTMLElemDeclImpl { - - /** - * HedInlineContainer. - * @param elementName java.lang.String - * @param collection ElementCollection - */ - public HedInlineContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLABEL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLABEL.java deleted file mode 100644 index e0010323d2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLABEL.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * LABEL. - */ -final class HedLABEL extends HedInlineContainer { - - /** - */ - public HedLABEL(ElementCollection collection) { - super(HTML40Namespace.ElementName.LABEL, collection); - } - - /** - * %attrs; - * (for IDREF #IMPLIED) ... should be defined locally. - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (for IDREF #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.IDREF); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_FOR, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_FOR, attr); - - String[] names = {HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>LABEL</code> has the exclusion. - * It is <code>LABEL</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode label = elementCollection.getNamedItem(HTML40Namespace.ElementName.LABEL); - if (label != null) - exclusion.appendChild(label); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON, HTML40Namespace.ElementName.LABEL}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLEGEND.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLEGEND.java deleted file mode 100644 index 5e3928b6b4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLEGEND.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * LEGEND. - */ -final class HedLEGEND extends HedInlineContainer { - - /** - */ - public HedLEGEND(ElementCollection collection) { - super(HTML40Namespace.ElementName.LEGEND, collection); - } - - /** - * (accesskey %Character; #IMPLIED) - * (align %LAlign; #IMPLIED) ... shuld be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_ACCESSKEY}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForLegend(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLI.java deleted file mode 100644 index f43785eaf7..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLI.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * LI. - */ -final class HedLI extends HedFlowContainer { - - private static String[] terminators = {HTML40Namespace.ElementName.LI}; - - /** - */ - public HedLI(ElementCollection collection) { - super(HTML40Namespace.ElementName.LI, collection); - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - * (type %LIStyle; #IMPLIED) ... should be defined locally. - * (value NUMBER #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (type %LIStyle; #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LI_STYLE); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - - // (value NUMBER #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VALUE, attr); - } - - /** - * LI has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLINK.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLINK.java deleted file mode 100644 index bfe132c099..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedLINK.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - -/** - * LINK. - */ -final class HedLINK extends HedEmpty { - - /** - */ - public HedLINK(ElementCollection collection) { - super(HTML40Namespace.ElementName.LINK, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * LINK. - * %attrs; - * (charset %Charset; #IMPLIED) - * (href %URI; #IMPLIED) - * (hreflang %LanguageCode; #IMPLIED) - * (type %ContentType; #IMPLIED): should be defined locally. - * (rel %LinkTypes; #IMPLIED) - * (rev %LinkTypes; #IMPLIED) - * (media %MediaDesc; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_HREF, HTML40Namespace.ATTR_NAME_HREFLANG, HTML40Namespace.ATTR_NAME_REL, HTML40Namespace.ATTR_NAME_REV, HTML40Namespace.ATTR_NAME_MEDIA, HTML40Namespace.ATTR_NAME_TARGET}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (type %ContentType; #IMPLIED) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedListItemContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedListItemContainer.java deleted file mode 100644 index a7ccf63be3..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedListItemContainer.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * Base class for list item container declarations. - * - OL, UL, MENU, DIR. - */ -abstract class HedListItemContainer extends HTMLElemDeclImpl { - - /** - */ - public HedListItemContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - indentChild = true; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMAP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMAP.java deleted file mode 100644 index 2a3c2a7356..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMAP.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - - - -/** - * MAP. - */ -final class HedMAP extends HTMLElemDeclImpl { - - /** - */ - public HedMAP(ElementCollection collection) { - super(HTML40Namespace.ElementName.MAP, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_MAP; - layoutType = LAYOUT_OBJECT; - indentChild = true; - } - - /** - * %attrs; - * (name CDATA #REQUIRED) ... should be defined locally - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (name CDATA #REQUIRED) ... should be defined locally - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMARQUEE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMARQUEE.java deleted file mode 100644 index f8653e27c4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMARQUEE.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * MARQUEE. - */ -final class HedMARQUEE extends HedFlowContainer { - - /** - */ - public HedMARQUEE(ElementCollection collection) { - super(HTML40Namespace.ElementName.MARQUEE, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * %attrs; - * (behavior (scroll|slide|alternate) scroll) - * (bgcolor %Color; #IMPLIED) - * (direction (left|right|up|down) left) - * (height CDATA #IMPLIED) ... should be defined locally. - * (hspace NUMBER #IMPLIED) ... should be defined locally. - * (loop CDATA #IMPLIED) - * (scrollamount NUMBER #IMPLIED) - * (scrolldelay NUMBER #IMPLIED) - * (vspace NUMBER #IMPLIED) ... should be defined locally. - * (width CDATA #IMPLIED) ... should be defined locally. - * (truespeed (truespeed) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_BEHAVIOR, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_DIRECTION, HTML40Namespace.ATTR_NAME_LOOP, HTML40Namespace.ATTR_NAME_SCROLLAMOUNT, HTML40Namespace.ATTR_NAME_SCROLLDELAY, HTML40Namespace.ATTR_NAME_TRUESPEED}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - // (height CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_HEIGHT, attr); - - // (width CDATA #IMPLIED) ... should be defined locally. - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr); - - // (hspace NUMBER #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_HSPACE, attr); - - // (vspace NUMBER #IMPLIED) ... should be defined locally. - attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_VSPACE, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMENU.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMENU.java deleted file mode 100644 index 0142558fc0..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMENU.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * MENU/DIR. - */ -final class HedMENU extends HedListItemContainer { - - /** - */ - public HedMENU(String elementName, ElementCollection collection) { - super(elementName, collection); - } - - /** - * MENU/DIR. - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_COMPACT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>MENU/DIR</code> has the exclusion. - * It is <code>%block;</code>. - * %block; is: - * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | - * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | - * TABLE | FIELDSET | ADDRESS. - * %heading; is: H1 | H2 | H3 | H4 | H5 | H6. - * %list; is : UL | OL | DIR | MENU. - * %preformatted; is PRE. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - // %block; - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {HTML40Namespace.ElementName.P, HTML40Namespace.ElementName.H1, HTML40Namespace.ElementName.H2, HTML40Namespace.ElementName.H3, HTML40Namespace.ElementName.H4, HTML40Namespace.ElementName.H5, HTML40Namespace.ElementName.H6, HTML40Namespace.ElementName.UL, HTML40Namespace.ElementName.OL, HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU, HTML40Namespace.ElementName.PRE, HTML40Namespace.ElementName.DL, HTML40Namespace.ElementName.DIV, HTML40Namespace.ElementName.CENTER, HTML40Namespace.ElementName.NOSCRIPT, HTML40Namespace.ElementName.NOFRAMES, HTML40Namespace.ElementName.BLOCKQUOTE, HTML40Namespace.ElementName.FORM, HTML40Namespace.ElementName.ISINDEX, HTML40Namespace.ElementName.HR, HTML40Namespace.ElementName.TABLE, HTML40Namespace.ElementName.FIELDSET, HTML40Namespace.ElementName.ADDRESS}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMETA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMETA.java deleted file mode 100644 index d5b232c13c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMETA.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - -/** - * META. - */ -final class HedMETA extends HedEmpty { - - /** - */ - public HedMETA(ElementCollection collection) { - super(HTML40Namespace.ElementName.META, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * META. - * %i18n; - * (http-equiv NAME #IMPLIED) - * (name NAME #IMPLIED) ... should be defined locally. - * (content CDATA #REQUIRED) - * (scheme CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - - // (name NAME #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr); - - String[] names = {HTML40Namespace.ATTR_NAME_HTTP_EQUIV, HTML40Namespace.ATTR_NAME_CONTENT, HTML40Namespace.ATTR_NAME_SCHEME}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMarkChanges.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMarkChanges.java deleted file mode 100644 index 92c3d0ce3c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedMarkChanges.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * (INS|DEL) - */ -final class HedMarkChanges extends HedFlowContainer { - - /** - */ - public HedMarkChanges(String elementName, ElementCollection collection) { - super(elementName, collection); - } - - /** - * %attrs; - * (cite %URI; #IMPLIED) - * (datetime %Datetime; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CITE, HTML40Namespace.ATTR_NAME_DATETIME}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOBR.java deleted file mode 100644 index 42adbd14f0..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOBR.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * NOBR -- not standard tag but it is commonly used. - */ -final class HedNOBR extends HedInlineContainer { - - - public HedNOBR(ElementCollection collection) { - super(HTML40Namespace.ElementName.NOBR, collection); - correctionType = HTMLElementDeclaration.CORRECT_DUPLICATED; - } - - protected void createAttributeDeclarations() { - // No attributes is defined. - if (attributes != null) - return; - attributes = new CMNamedNodeMapImpl(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOEMBED.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOEMBED.java deleted file mode 100644 index ed71166d4b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOEMBED.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -/** - * NOEMBED. - */ -final class HedNOEMBED extends HedFlowContainer { - - /** - */ - public HedNOEMBED(ElementCollection collection) { - super(HTML40Namespace.ElementName.NOEMBED, collection); - } - - /** - * %coreattrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOFRAMES.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOFRAMES.java deleted file mode 100644 index 2ad931b052..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOFRAMES.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * NOFRAMES. - */ -final class HedNOFRAMES extends HTMLElemDeclImpl { - - /** - */ - public HedNOFRAMES(ElementCollection collection) { - super(HTML40Namespace.ElementName.NOFRAMES, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_NOFRAMES_CONTENT; - layoutType = LAYOUT_HIDDEN; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - * Exclusion. - * <code>NOFRAMES</code> has the exclusion. - * It is <code>NOFRAMES</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode label = elementCollection.getNamedItem(HTML40Namespace.ElementName.NOFRAMES); - if (label != null) - exclusion.appendChild(label); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU, HTML40Namespace.ElementName.NOFRAMES}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOSCRIPT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOSCRIPT.java deleted file mode 100644 index 2747c2348d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedNOSCRIPT.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * NOSCRIPT. - */ -final class HedNOSCRIPT extends HedFlowContainer { - - /** - */ - public HedNOSCRIPT(ElementCollection collection) { - super(HTML40Namespace.ElementName.NOSCRIPT, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOBJECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOBJECT.java deleted file mode 100644 index ad48e2f190..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOBJECT.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * OBJECT. - */ -final class HedOBJECT extends HTMLElemDeclImpl { - - /** - */ - public HedOBJECT(ElementCollection collection) { - super(HTML40Namespace.ElementName.OBJECT, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PARAM_CONTAINER; - layoutType = LAYOUT_OBJECT; - indentChild = true; - } - - /** - * %attrs; - * %reserved; ... empty. - * (declare (declare) #IMPLIED) - * (classid %URI; #IMPLIED) - * (codebase %URI; #IMPLIED) - * (data %URI; #IMPLIED) - * (type %ContentType; #IMPLIED) - * (codetype %ContentType; #IMPLIED) - * (archive CDATA #IMPLIED) - * (standby %Text; #IMPLIED) - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (usemap %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (align %IAlign; #IMPLIED) ... should be defined locally. - * (border %Pixels; #IMPLIED) - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %reserved; ... empty. - - String[] names = {HTML40Namespace.ATTR_NAME_DECLARE, HTML40Namespace.ATTR_NAME_CLASSID, HTML40Namespace.ATTR_NAME_CODEBASE, HTML40Namespace.ATTR_NAME_DATA, HTML40Namespace.ATTR_NAME_TYPE, HTML40Namespace.ATTR_NAME_CODETYPE, HTML40Namespace.ATTR_NAME_ARCHIVE, HTML40Namespace.ATTR_NAME_STANDBY, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_USEMAP, HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_HSPACE, HTML40Namespace.ATTR_NAME_VSPACE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - // %align; ... should be defined locally. - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForImage(); - if (attr != null) - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.PRE}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOL.java deleted file mode 100644 index 6668b903c1..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOL.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * OL. - */ -final class HedOL extends HedListItemContainer { - - /** - */ - public HedOL(ElementCollection collection) { - super(HTML40Namespace.ElementName.OL, collection); - } - - /** - * OL. - * (type %OLStyle; #IMPLIED) ... should be defined locally. - * (compact (compact) #IMPLIED) - * (start NUMBER #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (type %OLStyle; #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.OL_STYLE); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - - // the rest. - String[] names = {HTML40Namespace.ATTR_NAME_COMPACT, HTML40Namespace.ATTR_NAME_START}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTGROUP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTGROUP.java deleted file mode 100644 index 87a3fc3591..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTGROUP.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; - -/** - * OPTGROUP. - */ -final class HedOPTGROUP extends HTMLElemDeclImpl { - - /** - */ - public HedOPTGROUP(ElementCollection collection) { - super(HTML40Namespace.ElementName.OPTGROUP, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER; - layoutType = LAYOUT_HIDDEN; - indentChild = true; - } - - /** - * %attrs; - * (disabled (disabled) #IMPLIED) - * (label %Text; #REQUIRED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // (disabled (disabled) #IMPLIED) - String[] names = {HTML40Namespace.ATTR_NAME_DISABLED}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (label %Text; #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_LABEL, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_LABEL, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTION.java deleted file mode 100644 index b225ee8c92..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedOPTION.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * OPTION. - */ -final class HedOPTION extends HedPcdata { - - private static String[] terminators = {HTML40Namespace.ElementName.OPTION}; - - /** - */ - public HedOPTION(ElementCollection collection) { - super(HTML40Namespace.ElementName.OPTION, collection); - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_END; - } - - /** - * OPTION. - * %attrs; - * (selected (selected) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (label %Text; #IMPLIED) - * (value CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_SELECTED, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_LABEL, HTML40Namespace.ATTR_NAME_VALUE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * OPTION has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedP.java deleted file mode 100644 index 70feed7b9b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedP.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Collection; -import java.util.Iterator; -import java.util.Vector; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * P. - */ -final class HedP extends HedInlineContainer { - - private static Collection terminators = null; - - /** - */ - public HedP(ElementCollection collection) { - super(HTML40Namespace.ElementName.P, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>P</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * </tbody> - * </table> - * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>. - * Unfortunately, this <code>align</code> is different from one in - * <code>IMG</code> or <code>TABLE</code>. So, the attribute declaration - * of <code>align</code> should be localy created and it shouldn't be registered - * in a <code>HCMDocImpl</code> instance.</p> - * <p>However, %align is used in sevaral times. I wouldn't write same code - * in many times. So, I add a new utility method into <code>CMUtil</code> - * to create the attribute declaration.</p> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - // %attrs; - attributeCollection.getAttrs(attributes); - // align - HTMLAttrDeclImpl adec = AttributeCollection.createAlignForParagraph(); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, adec); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - return prohibitedAncestors; - } - - /** - * Return names of terminators. - * <code>P</code> has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - if (terminators != null) - return terminators.iterator(); - //<<D217982 - terminators = new Vector(); - terminators.addAll(elementCollection.getNamesOfBlock()); - terminators.add(HTML40Namespace.ElementName.LI); - terminators.add(HTML40Namespace.ElementName.DT); - terminators.add(HTML40Namespace.ElementName.DD); - //D217982 - return terminators.iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPARAM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPARAM.java deleted file mode 100644 index 5541a1f43d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPARAM.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * PARAM. - */ -final class HedPARAM extends HedEmpty { - - /** - */ - public HedPARAM(ElementCollection collection) { - super(HTML40Namespace.ElementName.PARAM, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * PARAM. - * (id ID #IMPLIED) - * (name CDATA #REQUIRED) ... should be defined locally. - * (value CDATA #IMPLIED) - * (valuetype (DATA|REF|OBJECT) DATA) - * (type %ContentType; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_ID, HTML40Namespace.ATTR_NAME_VALUE, HTML40Namespace.ATTR_NAME_VALUETYPE, HTML40Namespace.ATTR_NAME_TYPE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (name CDATA #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_NAME, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPRE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPRE.java deleted file mode 100644 index 2ba3479759..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPRE.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * PRE. - */ -final class HedPRE extends HedInlineContainer { - - /** - * PRE element should keep spaces in its source. - */ - public HedPRE(ElementCollection collection) { - super(HTML40Namespace.ElementName.PRE, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - - keepSpaces = true; - } - - /** - * %attrs; - * (width NUMBER #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // (width NUMBER #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_WIDTH, attr); - } - - /** - * Exclusion. - * <code>PRE</code> has the exclusion. - * It is <code>%pre.exclusion;</code>. - * %pre.exclusion is: - * IMG | OBJECT | APPLET | BIG | SMALL | SUB | SUP | FONT | BASEFONT - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {HTML40Namespace.ElementName.IMG, HTML40Namespace.ElementName.OBJECT, HTML40Namespace.ElementName.APPLET, HTML40Namespace.ElementName.BIG, HTML40Namespace.ElementName.SMALL, HTML40Namespace.ElementName.SUB, HTML40Namespace.ElementName.SUP, HTML40Namespace.ElementName.FONT, HTML40Namespace.ElementName.BASEFONT}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPcdata.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPcdata.java deleted file mode 100644 index 556149530c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPcdata.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * Base class for PCDATA type element declarations.<br> - */ -abstract class HedPcdata extends HTMLElemDeclImpl { - - /** - */ - public HedPcdata(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PCDATA; - } - - /** - * Content.<br> - * PCDATA type always returns <code>null</code>. - * <br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * Content type.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - return CMElementDeclaration.PCDATA; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPhrase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPhrase.java deleted file mode 100644 index 0e680d5dee..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedPhrase.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * %phrase; - */ -final class HedPhrase extends HedInlineContainer { - - /** - */ - public HedPhrase(String elementName, ElementCollection collection) { - super(elementName, collection); - correctionType = HTMLElementDeclaration.CORRECT_DUPLICATED; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedQ.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedQ.java deleted file mode 100644 index 185b757f9d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedQ.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * Q. - */ -final class HedQ extends HedInlineContainer { - - /** - */ - public HedQ(ElementCollection collection) { - super(HTML40Namespace.ElementName.Q, collection); - correctionType = CORRECT_DUPLICATED; - } - - /** - * %attrs; - * (cite %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_CITE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSCRIPT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSCRIPT.java deleted file mode 100644 index ae910b78f1..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSCRIPT.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * SCRIPT. - */ -final class HedSCRIPT extends HTMLElemDeclImpl { - - /** - */ - public HedSCRIPT(ElementCollection collection) { - super(HTML40Namespace.ElementName.SCRIPT, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_CDATA; - layoutType = LAYOUT_OBJECT; - } - - /** - * SCRIPT. - * (charset %Charset; #IMPLIED) - * (type %ContentType; #REQUIRED) ... should be defined locally. - * (language CDATA #IMPLIED) - * (src %URI; #IMPLIED) - * (defer (defer) #IMPLIED) - * (event CDATA #IMPLIED) - * (for %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_CHARSET, HTML40Namespace.ATTR_NAME_LANGUAGE, HTML40Namespace.ATTR_NAME_SRC, HTML40Namespace.ATTR_NAME_DEFER, HTML40Namespace.ATTR_NAME_EVENT, HTML40Namespace.ATTR_NAME_FOR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (type %ContentType; #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, "text/javascript"); //$NON-NLS-1$ - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - } - - /** - * <code>SCRIPT</code> is CDATA type. - * So, the method always returns <code>null</code>. - * <br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * CDATA content.<br> - * @return int - */ - public int getContentType() { - return CMElementDeclaration.CDATA; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSELECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSELECT.java deleted file mode 100644 index 78c3a08703..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSELECT.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * SELECT. - */ -final class HedSELECT extends HTMLElemDeclImpl { - - /** - */ - public HedSELECT(ElementCollection collection) { - super(HTML40Namespace.ElementName.SELECT, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_SELECT; - layoutType = LAYOUT_OBJECT; - indentChild = true; - } - - /** - * %attrs; - * %reserved; - * (name CDATA #IMPLIED) - * (size NUMBER #IMPLIED) ... should be defined locally. - * (multiple (multiple) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (size NUMBER #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_SIZE, attr); - - String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_MULTIPLE, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONCHANGE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSPAN.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSPAN.java deleted file mode 100644 index 42932f6d1d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSPAN.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -/** - * SPAN. - */ -final class HedSPAN extends HedInlineContainer { - - /** - * SPAN. - */ - public HedSPAN(ElementCollection collection) { - super(HTML40Namespace.ElementName.SPAN, collection); - } - - /** - * %attrs; - * %reserved; ... empty. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIBase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIBase.java deleted file mode 100644 index 46c7a80f1a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIBase.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; - - - -/** - * Base class for SSI declarations. - */ -abstract class HedSSIBase extends HedEmpty { - - /** - */ - public HedSSIBase(String elementName, ElementCollection collection) { - super(elementName, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - */ - public int getFormatType() { - return HTMLElementDeclaration.FORMAT_SSI; - } - - /** - */ - public boolean supports(String propName) { - if (propName.equals(HTMLCMProperties.IS_SSI)) - return true; - return super.supports(propName); - } - - /* - */ - public Object getProperty(String propName) { - if (propName.equals(HTMLCMProperties.IS_SSI)) - return new Boolean(true); - return super.getProperty(propName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIConfig.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIConfig.java deleted file mode 100644 index b8406a95f5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:CONFIG. - */ -final class HedSSIConfig extends HedSSIBase { - - /** - */ - public HedSSIConfig(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_CONFIG, collection); - } - - /** - * SSI:CONFIG. - * (errmsg CDATA #IMPLIED) - * (sizefmt CDATA #IMPLIED) - * (timefmt CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_ERRMSG, HTML40Namespace.ATTR_NAME_SIZEFMT, HTML40Namespace.ATTR_NAME_TIMEFMT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIEcho.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIEcho.java deleted file mode 100644 index 47388122c5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIEcho.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:ECHO. - */ -final class HedSSIEcho extends HedSSIBase { - - /** - */ - public HedSSIEcho(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_ECHO, collection); - } - - /** - * SSI:ECHO - * (var CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_VAR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIExec.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIExec.java deleted file mode 100644 index 2824d576da..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIExec.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:EXEC. - */ -final class HedSSIExec extends HedSSIBase { - - /** - */ - public HedSSIExec(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_EXEC, collection); - } - - /** - * SSI:EXEC - * (cgi %URI; #IMPLIED) - * (cmd CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_CGI, HTML40Namespace.ATTR_NAME_CMD}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFlastmod.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFlastmod.java deleted file mode 100644 index 50ebdf966e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFlastmod.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:FLASTMOD. - */ -final class HedSSIFlastmod extends HedSSIBase { - - /** - */ - public HedSSIFlastmod(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_FLASTMOD, collection); - } - - /** - * SSI:FLASTMOD - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFsize.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFsize.java deleted file mode 100644 index f2bdbf0361..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIFsize.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:FSIZE. - */ -final class HedSSIFsize extends HedSSIBase { - - /** - */ - public HedSSIFsize(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_FSIZE, collection); - } - - /** - * SSI:FSIZE - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIInclude.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIInclude.java deleted file mode 100644 index 63224d8d67..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIInclude.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:INCLUDE. - */ -final class HedSSIInclude extends HedSSIBase { - - /** - */ - public HedSSIInclude(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_INCLUDE, collection); - } - - /** - * SSI:INCLUDE - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_FILE, HTML40Namespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIPrintenv.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIPrintenv.java deleted file mode 100644 index bc10b56e49..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSIPrintenv.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * SSI:PRINTENV. - */ -final class HedSSIPrintenv extends HedSSIBase { - - /** - */ - public HedSSIPrintenv(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_PRINTENV, collection); - } - - /** - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - } - - /** - * SSI:PRINTENV has no attributes. So, this method should - * always return <code>null</code>. - * Note: Since somebody doesn't expect null is returned, return the empty attribute - * like a custom tag which doesn't have attributes - */ - public CMNamedNodeMap getAttributes() { - return super.getAttributes(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSISet.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSISet.java deleted file mode 100644 index 182b85ca2d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSSISet.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * SSI:SET. - */ -final class HedSSISet extends HedSSIBase { - - /** - */ - public HedSSISet(ElementCollection collection) { - super(HTML40Namespace.ElementName.SSI_SET, collection); - } - - /** - * SSI:SET - * (var CDATA #IMPLIED) - * (value CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {HTML40Namespace.ATTR_NAME_VAR, HTML40Namespace.ATTR_NAME_VALUE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSTYLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSTYLE.java deleted file mode 100644 index 985b7faa87..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedSTYLE.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * STYLE. - */ -final class HedSTYLE extends HTMLElemDeclImpl { - - /** - */ - public HedSTYLE(ElementCollection collection) { - super(HTML40Namespace.ElementName.STYLE, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_CDATA; - layoutType = LAYOUT_HIDDEN; - } - - /** - * STYLE - * %i18n; - * (type %ContentType; #REQUIRED) ... should be defined locally. - * (media %MediaDesc; #IMPLIED) - * (title %Text; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_MEDIA, HTML40Namespace.ATTR_NAME_TITLE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - // (type %ContentType; #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, "text/css"); //$NON-NLS-1$ - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - } - - /** - * Content.<br> - * <code>STYLE</code> is CDATA content type. So, it always returns <code>null</code>. - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * CDATA content.<br> - * @return int - */ - public int getContentType() { - return CMElementDeclaration.CDATA; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedScripts.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedScripts.java deleted file mode 100644 index 76bf70e6cf..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedScripts.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * SUB and SUP. - */ -final class HedScripts extends HedInlineContainer { - - /** - */ - public HedScripts(String elementName, ElementCollection collection) { - super(elementName, collection); - correctionType = CORRECT_EMPTY; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.PRE}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTABLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTABLE.java deleted file mode 100644 index bed267c3c2..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTABLE.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * TABLE. - */ -final class HedTABLE extends HTMLElemDeclImpl { - - /** - */ - public HedTABLE(ElementCollection collection) { - super(HTML40Namespace.ElementName.TABLE, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TABLE; - layoutType = LAYOUT_BLOCK; - indentChild = true; - } - - /** - * TABLE. - * %attrs; - * %reserved; - * (summary %Text; #IMPLIED) - * (width %Length; #IMPLIED) - * (border %Pixels; #IMPLIED) - * (frame %TFrame; #IMPLIED) - * (rules %TRules; #IMPLIED) - * (cellspacing %Length; #IMPLIED) - * (cellpadding %Length; #IMPLIED) - * (align %TAlign; #IMPLIED) - * (bgcolor %Color; #IMPLIED) - * (datapagesize CDATA #IMPLIED) - * (height %Pixels; #IMPLIED) - * (background %URI; #IMPLIED) - * (bordercolor %Color #IMPLIED) ... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %reserved; - // ... %reserved; is empty in the current DTD. - - String[] names = {HTML40Namespace.ATTR_NAME_SUMMARY, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_BORDER, HTML40Namespace.ATTR_NAME_FRAME, HTML40Namespace.ATTR_NAME_RULES, HTML40Namespace.ATTR_NAME_CELLSPACING, HTML40Namespace.ATTR_NAME_CELLPADDING, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_DATAPAGESIZE, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D205514 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] alignValues = {HTML40Namespace.ATTR_VALUE_LEFT, HTML40Namespace.ATTR_VALUE_CENTER, HTML40Namespace.ATTR_VALUE_RIGHT}; - atype.setEnumValues(alignValues); - HTMLAttrDeclImpl adec = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_ALIGN, adec); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTEXTAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTEXTAREA.java deleted file mode 100644 index f8a61c6f05..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTEXTAREA.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * TEXTAREA. - */ -final class HedTEXTAREA extends HedPcdata { - - /** - * TEXTAREA should keep spaces in its source. - */ - public HedTEXTAREA(ElementCollection collection) { - super(HTML40Namespace.ElementName.TEXTAREA, collection); - layoutType = LAYOUT_OBJECT; - - keepSpaces = true; - } - - /** - * TEXTAREA. - * %attrs; - * %reserved; ... empty - * (name CDATA #IMPLIED) - * (rows NUMBER #REQUIRED) - * (cols NUMBER #REQUIRED) - * (disabled (disabled) #IMPLIED) - * (readonly (readonly) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onselect %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - * (istyle CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_NAME, HTML40Namespace.ATTR_NAME_ROWS, HTML40Namespace.ATTR_NAME_COLS, HTML40Namespace.ATTR_NAME_DISABLED, HTML40Namespace.ATTR_NAME_READONLY, HTML40Namespace.ATTR_NAME_TABINDEX, HTML40Namespace.ATTR_NAME_ACCESSKEY, HTML40Namespace.ATTR_NAME_ONFOCUS, HTML40Namespace.ATTR_NAME_ONBLUR, HTML40Namespace.ATTR_NAME_ONSELECT, HTML40Namespace.ATTR_NAME_ONCHANGE, HTML40Namespace.ATTR_NAME_ISTYLE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.BUTTON}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTITLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTITLE.java deleted file mode 100644 index 6919004101..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTITLE.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * TITLE. - */ -final class HedTITLE extends HedPcdata { - - /** - */ - public HedTITLE(ElementCollection collection) { - super(HTML40Namespace.ElementName.TITLE, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * TITLE. - * %i18n; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - } - - /** - * Exclusion. - * <code>TITLE</code> has the exclusion. - * It is <code>%head.misc;</code>. - * %head.misc; is <code>SCRIPT|STYLE|META|LINK|OBJECT</code>. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - // (SCRIPT|STYLE|META|LINK|OBJECT) - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - - String[] names = {HTML40Namespace.ElementName.SCRIPT, HTML40Namespace.ElementName.STYLE, HTML40Namespace.ElementName.META, HTML40Namespace.ElementName.LINK, HTML40Namespace.ElementName.OBJECT}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - return exclusion; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTR.java deleted file mode 100644 index d68a54ac5c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTR.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * TR. - */ -final class HedTR extends HTMLElemDeclImpl { - - private static String[] terminators = {HTML40Namespace.ElementName.TR}; - - /** - */ - public HedTR(ElementCollection collection) { - super(HTML40Namespace.ElementName.TR, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TCELL_CONTAINER; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END; - indentChild = true; - } - - /** - * %attrs; - * %cellhalign; - * %cellvalign; - * (bgcolor %Color; #IMPLIED) - * (background %URI; #IMPLIED) - * (bordercolor %Color #IMPLIED) ... D205514 - * (height %Length #IMPLIED) bug2246 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %cellhalign; - attributeCollection.getCellhalign(attributes); - // %cellvalign; - attributeCollection.getCellvalign(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR, HTML40Namespace.ATTR_NAME_HEIGHT // D205514 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * TR has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableBody.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableBody.java deleted file mode 100644 index f66eeefaf0..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableBody.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * THEAD/TFOOT/TBODY - */ -final class HedTableBody extends HTMLElemDeclImpl { - - private static String[] terminators = {HTML40Namespace.ElementName.CAPTION, HTML40Namespace.ElementName.COL, HTML40Namespace.ElementName.COLGROUP, HTML40Namespace.ElementName.THEAD, HTML40Namespace.ElementName.TBODY, HTML40Namespace.ElementName.TFOOT}; - - /** - */ - public HedTableBody(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_TR_CONTAINER; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - if (elementName == HTML40Namespace.ElementName.TBODY) { - omitType = OMIT_BOTH; - } - else { - omitType = OMIT_END; - } - indentChild = true; - } - - /** - * TBODY/TFOOT/THEAD - * %attrs; - * %cellhalign; - * %cellvalign; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %cellhalign; - attributeCollection.getCellhalign(attributes); - // %cellvalign; - attributeCollection.getCellvalign(attributes); - } - - /** - * THEAD, TFOOT and TBODY have terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableCell.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableCell.java deleted file mode 100644 index 14fcb490cc..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedTableCell.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - -/** - * (TH | TD). - */ -final class HedTableCell extends HedFlowContainer { - - private static String[] terminators = {HTML40Namespace.ElementName.TR, HTML40Namespace.ElementName.TH, HTML40Namespace.ElementName.TD}; - - /** - */ - public HedTableCell(String elementName, ElementCollection collection) { - super(elementName, collection); - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END; - } - - /** - * %attrs; - * (abbr %Text; #IMPLIED) - * (axis CDATA #IMPLIED) - * (headers IDREFS #IMPLIED) - * (scope %Scope; #IMPLIED) - * (rowspan NUMBER 1) - * (colspan NUMBER 1) - * %cellhalign; - * %cellvalign; - * (nowrap (nowrap) #IMPLIED) - * (bgcolor %Color; #IMPLIED) - * (width %Length; #IMPLIED) - * (height %Length; #IMPLIED) - * (background %URI; #IMPLIED) - * (bordercolor %Color #IMPLIED) ... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %cellhalign; - attributeCollection.getCellhalign(attributes); - // %cellvalign; - attributeCollection.getCellvalign(attributes); - - String[] names = {HTML40Namespace.ATTR_NAME_ABBR, HTML40Namespace.ATTR_NAME_AXIS, HTML40Namespace.ATTR_NAME_HEADERS, HTML40Namespace.ATTR_NAME_SCOPE, HTML40Namespace.ATTR_NAME_ROWSPAN, HTML40Namespace.ATTR_NAME_COLSPAN, HTML40Namespace.ATTR_NAME_NOWRAP, HTML40Namespace.ATTR_NAME_BGCOLOR, HTML40Namespace.ATTR_NAME_WIDTH, HTML40Namespace.ATTR_NAME_HEIGHT, HTML40Namespace.ATTR_NAME_BACKGROUND, HTML40Namespace.ATTR_NAME_BORDERCOLOR // D205514 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * TH and TD have terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedUL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedUL.java deleted file mode 100644 index 041c5a56a5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedUL.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -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.CMNamedNodeMap; - -/** - * UL. - */ -final class HedUL extends HedListItemContainer { - - /** - */ - public HedUL(ElementCollection collection) { - super(HTML40Namespace.ElementName.UL, collection); - } - - /** - * UL. - * (type %ULStyle; #IMPLIED) ... should be defined locally. - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (type %ULStyle; #IMPLIED) ... should be defined locally. - // %ULStyle; is (disc|square|circle). - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {HTML40Namespace.ATTR_VALUE_DISC, HTML40Namespace.ATTR_VALUE_SQUARE, HTML40Namespace.ATTR_VALUE_CIRCLE}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(HTML40Namespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(HTML40Namespace.ATTR_NAME_TYPE, attr); - - // the rest. - String[] names = {HTML40Namespace.ATTR_NAME_COMPACT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {HTML40Namespace.ElementName.DIR, HTML40Namespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedWBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedWBR.java deleted file mode 100644 index f958fe7ed4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HedWBR.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -final class HedWBR extends HedEmpty { - - public HedWBR(ElementCollection collection) { - super(HTML40Namespace.ElementName.WBR, collection); - // LAYOUT_BREAK. - // same as BR. - layoutType = LAYOUT_BREAK; - } - - protected void createAttributeDeclarations() { - // No attributes is defined. - if (attributes != null) - return; - attributes = new CMNamedNodeMapImpl(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCM20DocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCM20DocImpl.java deleted file mode 100644 index 767b594cb8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCM20DocImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - - -/** - * Implementation of CMDocument for JSP 2.0. - */ -class JCM20DocImpl extends JCMDocImpl { - /** - * JCM20DocImpl constructor comment. - */ - public JCM20DocImpl(String docTypeName, CMNamespaceImpl targetNamespace) { - super(docTypeName, targetNamespace, new JSP20ElementCollection()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCMDocImpl.java deleted file mode 100644 index b5fe4da5f3..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JCMDocImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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 org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Implementation of CMDocument for JSP 1.1 and JSP 1.2. - */ -class JCMDocImpl extends CMNodeImpl implements JSPCMDocument { - - /** Namespace for all names of elements, entities and attributes. */ - private CMNamespaceImpl namespace = null; - private JSPElementCollection elements = null; - - /** - * HCMDocImpl constructor comment. - */ - public JCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) { - this(docTypeName, targetNamespace, new JSPElementCollection()); - } - - JCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace, JSPElementCollection collection) { - super(docTypeName); - namespace = targetNamespace; - elements = collection; - } - - public HTMLElementDeclaration getElementDeclaration(String elementName) { - if (elements == null) - return null; - return (HTMLElementDeclaration) elements.getNamedItem(elementName); - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public CMNamedNodeMap getElements() { - return elements; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public CMNamedNodeMap getEntities() { - return null; - } - - public HTMLEntityDeclaration getEntityDeclaration(String entityName) { - return null; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace getNamespace() { - return namespace; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.DOCUMENT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP11Namespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP11Namespace.java deleted file mode 100644 index 4d1a9b8b8b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP11Namespace.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - -/** - * JSP 1.1 Namespace. Note, this interface was - * copied form JSP core packages. One implication - * is that extra care is needed in using '==' instead - * of '.equals'. - */ -public interface JSP11Namespace { - - public static interface ElementName { - // Element names - public static final String SCRIPTLET = "jsp:scriptlet"; //$NON-NLS-1$ - public static final String EXPRESSION = "jsp:expression"; //$NON-NLS-1$ - public static final String DECLARATION = "jsp:declaration"; //$NON-NLS-1$ - public static final String DIRECTIVE_PAGE = "jsp:directive.page"; //$NON-NLS-1$ - public static final String DIRECTIVE_INCLUDE = "jsp:directive.include"; //$NON-NLS-1$ - public static final String DIRECTIVE_TAGLIB = "jsp:directive.taglib"; //$NON-NLS-1$ - public static final String USEBEAN = "jsp:useBean"; //$NON-NLS-1$ - public static final String SETPROPERTY = "jsp:setProperty"; //$NON-NLS-1$ - public static final String GETPROPERTY = "jsp:getProperty"; //$NON-NLS-1$ - public static final String INCLUDE = "jsp:include"; //$NON-NLS-1$ - public static final String FORWARD = "jsp:forward"; //$NON-NLS-1$ - public static final String PLUGIN = "jsp:plugin"; //$NON-NLS-1$ - public static final String PARAMS = "jsp:params"; //$NON-NLS-1$ - public static final String FALLBACK = "jsp:fallback"; //$NON-NLS-1$ - public static final String PARAM = "jsp:param"; //$NON-NLS-1$ - public static final String ROOT = "jsp:root"; //$NON-NLS-1$ - public static final String TEXT = "jsp:text"; //$NON-NLS-1$ - } - - public static final String JSP11_URI = ""; //$NON-NLS-1$ - public static final String JSP_TAG_PREFIX = "jsp"; //$NON-NLS-1$ - // attribute names - // directive.page - public static final String ATTR_NAME_LANGUAGE = "language"; //$NON-NLS-1$ - public static final String ATTR_NAME_EXTENDS = "extends"; //$NON-NLS-1$ - public static final String ATTR_NAME_CONTENT_TYPE = "contentType"; //$NON-NLS-1$ - public static final String ATTR_NAME_IMPORT = "import"; //$NON-NLS-1$ - public static final String ATTR_NAME_SESSION = "session"; //$NON-NLS-1$ - public static final String ATTR_NAME_BUFFER = "buffer"; //$NON-NLS-1$ - public static final String ATTR_NAME_AUTOFLUSH = "autoFlush"; //$NON-NLS-1$ - public static final String ATTR_NAME_IS_THREAD_SAFE = "isThreadSafe"; //$NON-NLS-1$ - public static final String ATTR_NAME_INFO = "info"; //$NON-NLS-1$ - public static final String ATTR_NAME_ERROR_PAGE = "errorPage"; //$NON-NLS-1$ - public static final String ATTR_NAME_IS_ERROR_PAGE = "isErrorPage"; //$NON-NLS-1$ - public static final String ATTR_NAME_PAGE_ENCODING = "pageEncoding"; //$NON-NLS-1$ - // directive.include - public static final String ATTR_NAME_FILE = "file"; //$NON-NLS-1$ - // directive.taglib - public static final String ATTR_NAME_URI = "uri"; //$NON-NLS-1$ - public static final String ATTR_NAME_PREFIX = "prefix"; //$NON-NLS-1$ - // useBean - public static final String ATTR_NAME_ID = "id"; //$NON-NLS-1$ - public static final String ATTR_NAME_SCOPE = "scope"; //$NON-NLS-1$ - public static final String ATTR_NAME_CLASS = "class"; //$NON-NLS-1$ - public static final String ATTR_NAME_BEAN_NAME = "beanName"; //$NON-NLS-1$ - public static final String ATTR_NAME_TYPE = "type"; //$NON-NLS-1$ - // setProperty - public static final String ATTR_NAME_NAME = "name"; //$NON-NLS-1$ - public static final String ATTR_NAME_PROPERTY = "property"; //$NON-NLS-1$ - public static final String ATTR_NAME_VALUE = "value"; //$NON-NLS-1$ - public static final String ATTR_NAME_PARAM = "param"; //$NON-NLS-1$ - // include - public static final String ATTR_NAME_PAGE = "page"; //$NON-NLS-1$ - public static final String ATTR_NAME_FLUSH = "flush"; //$NON-NLS-1$ - // plugin - public static final String ATTR_NAME_CODE = "code"; //$NON-NLS-1$ - public static final String ATTR_NAME_CODEBASE = "codebase"; //$NON-NLS-1$ - public static final String ATTR_NAME_ALIGN = "align"; //$NON-NLS-1$ - public static final String ATTR_NAME_ARCHIVE = "archive"; //$NON-NLS-1$ - public static final String ATTR_NAME_HEIGHT = "height"; //$NON-NLS-1$ - public static final String ATTR_NAME_HSPACE = "hspace"; //$NON-NLS-1$ - public static final String ATTR_NAME_JREVERSION = "jreversion"; //$NON-NLS-1$ - public static final String ATTR_NAME_VSPACE = "vspace"; //$NON-NLS-1$ - public static final String ATTR_NAME_WIDTH = "width"; //$NON-NLS-1$ - public static final String ATTR_NAME_NSPLUGINURL = "nspluginurl"; //$NON-NLS-1$ - public static final String ATTR_NAME_IEPLUGINURL = "iepluginurl"; //$NON-NLS-1$ - // root - public static final String ATTR_NAME_XMLNS_JSP = "xmlns:jsp"; //$NON-NLS-1$ - public static final String ATTR_NAME_VERSION = "version"; //$NON-NLS-1$ - // attribute values - public static final String ATTR_VALUE_TRUE = "true"; //$NON-NLS-1$ - public static final String ATTR_VALUE_FALSE = "false"; //$NON-NLS-1$ - public static final String ATTR_VALUE_JAVA = "java"; //$NON-NLS-1$ - public static final String ATTR_VALUE_CT_DEFAULT = "text/html; charset=ISO-8859-1";//D195366 //$NON-NLS-1$ - public static final String ATTR_VALUE_BUFSIZ_DEFAULT = "8kb"; //$NON-NLS-1$ - public static final String ATTR_VALUE_PAGE = "page"; //$NON-NLS-1$ - public static final String ATTR_VALUE_SESSION = "session"; //$NON-NLS-1$ - public static final String ATTR_VALUE_REQUEST = "request"; //$NON-NLS-1$ - public static final String ATTR_VALUE_APPLICATION = "application"; //$NON-NLS-1$ - public static final String ATTR_VALUE_BEAN = "bean"; //$NON-NLS-1$ - public static final String ATTR_VALUE_APPLET = "applet"; //$NON-NLS-1$ - public static final String ATTR_VALUE_TOP = "top"; //$NON-NLS-1$ - public static final String ATTR_VALUE_MIDDLE = "middle"; //$NON-NLS-1$ - public static final String ATTR_VALUE_BOTTOM = "bottom"; //$NON-NLS-1$ - public static final String ATTR_VALUE_LEFT = "left"; //$NON-NLS-1$ - public static final String ATTR_VALUE_RIGHT = "right"; //$NON-NLS-1$ - public static final String ATTR_VALUE_JVER11 = "1.1"; //$NON-NLS-1$ - public static final String ATTR_VALUE_XMLNS_JSP = "http://java.sun.com/JSP/Page"; //$NON-NLS-1$ -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20ElementCollection.java deleted file mode 100644 index 3ca1dadefe..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20ElementCollection.java +++ /dev/null @@ -1,491 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 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 1.1 and JSP 1.2. - */ -final class JSP20ElementCollection extends JSPElementCollection implements JSP20Namespace.ElementName { - - // element IDs - private static class Ids20 extends Ids { - public static final int ID_BODY = 17; - public static final int ID_ATTRIBUTE = 18; - public static final int ID_ELEMENT = 19; - public static final int ID_OUTPUT = 20; - - 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 = Ids20.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - // attribute creater - private class JACreater20 extends JACreater { - public JACreater20() { - super(); - } - - public CMNamedNodeMapImpl getDeclarations(int eid) { - switch (eid) { - case Ids20.ID_ATTRIBUTE : - createForAttribute(); - break; - case Ids20.ID_ELEMENT : - createForElement(); - break; - case Ids20.ID_BODY : - createForBody(); - break; - case Ids20.ID_OUTPUT : - createForOutput(); - break; - case Ids.ID_DIRECTIVE_TAGLIB : - createForDirTaglib(); - break; - case Ids.ID_DIRECTIVE_PAGE : - createForDirPage(); - break; - case Ids.ID_ROOT : - createForRoot(); - break; - case Ids.ID_PLUGIN : - createForPlugin(); - break; - default : - super.getDeclarations(eid); - } - return declarations; - } - - private void createForBody() { - } - - 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); - } - - /** - * Changed in 2.0 - */ - 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); - } - - void createForDirPage() { - AttrDecl adec = null; - // ("language" CDATA DECLARED "java") - adec = new AttrDecl(ATTR_NAME_LANGUAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_JAVA); - declarations.putNamedItem(ATTR_NAME_LANGUAGE, adec); - - // ("extends" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_EXTENDS); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_EXTENDS, adec); - - // ("import" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_IMPORT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_IMPORT, adec); - - // ("session" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_SESSION, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_SESSION, adec); - - // ("buffer" CDATA DECLARED "8kb") - adec = new AttrDecl(ATTR_NAME_BUFFER); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_BUFSIZ_DEFAULT); - declarations.putNamedItem(ATTR_NAME_BUFFER, adec); - - // ("autoFlush" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_AUTOFLUSH, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_AUTOFLUSH, adec); - - // ("isThreadSafe" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_IS_THREAD_SAFE, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_IS_THREAD_SAFE, adec); - - // ("info" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_INFO); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_INFO, adec); - - // ("errorPage" URI IMPLIED) - adec = new AttrDecl(ATTR_NAME_ERROR_PAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - declarations.putNamedItem(ATTR_NAME_ERROR_PAGE, adec); - - // ("isErrorPage" ENUM DECLARED (true|false) "false") - adec = createBoolType(ATTR_NAME_IS_ERROR_PAGE, ATTR_VALUE_FALSE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_IS_ERROR_PAGE, adec); - - // ("contentType" CDATA DECLARED "text/html; ISO-8859-1") - adec = new AttrDecl(ATTR_NAME_CONTENT_TYPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_CT_DEFAULT); - declarations.putNamedItem(ATTR_NAME_CONTENT_TYPE, adec); - - // ("pageEncoding" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_PAGE_ENCODING); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, JSP20Namespace.ATTR_VALUE_ENCODING_DEFAULT); - declarations.putNamedItem(ATTR_NAME_PAGE_ENCODING, adec); - - // ("isELIgnored" ENUM DECLARED (true|false) "false") - adec = new AttrDecl(JSP20Namespace.ATTR_NAME_ISELIGNORED); - 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_ISELIGNORED, 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 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 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); - } - } - - private static String[] names = null; - - static { - names = new String[Ids20.getNumOfIds()]; - names[Ids.ID_SCRIPTLET] = SCRIPTLET; - names[Ids.ID_EXPRESSION] = EXPRESSION; - names[Ids.ID_DECLARATION] = DECLARATION; - names[Ids.ID_DIRECTIVE_PAGE] = DIRECTIVE_PAGE; - names[Ids.ID_DIRECTIVE_INCLUDE] = DIRECTIVE_INCLUDE; - names[Ids.ID_DIRECTIVE_TAGLIB] = DIRECTIVE_TAGLIB; - names[Ids.ID_USEBEAN] = USEBEAN; - names[Ids.ID_SETPROPERTY] = SETPROPERTY; - names[Ids.ID_GETPROPERTY] = GETPROPERTY; - names[Ids.ID_INCLUDE] = INCLUDE; - names[Ids.ID_FORWARD] = FORWARD; - names[Ids.ID_PLUGIN] = PLUGIN; - names[Ids.ID_PARAMS] = PARAMS; - names[Ids.ID_FALLBACK] = FALLBACK; - names[Ids.ID_PARAM] = PARAM; - names[Ids.ID_ROOT] = ROOT; - names[Ids.ID_TEXT] = TEXT; - names[Ids20.ID_BODY] = JSP20Namespace.ElementName.BODY; - names[Ids20.ID_ATTRIBUTE] = JSP20Namespace.ElementName.ATTRIBUTE; - names[Ids20.ID_ELEMENT] = JSP20Namespace.ElementName.ELEMENT; - names[Ids20.ID_OUTPUT] = JSP20Namespace.ElementName.OUTPUT; - } - - /** - */ - public JSP20ElementCollection() { - super(JSP20ElementCollection.names, TOLERANT_CASE); - } - - /** - * @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, Ids20.ID_BODY, Ids20.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 Ids20.ID_BODY : - // declaration - packet.name = JSP20Namespace.ElementName.BODY; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case Ids20.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 Ids20.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 Ids20.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 Ids.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 Ids.ID_DIRECTIVE_PAGE : - // directive.page - packet.name = DIRECTIVE_PAGE; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case Ids.ID_ROOT : - packet.name = ROOT; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; // same as HTML - break; - case Ids.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); - - JACreater20 creater = new JACreater20(); - decl.setAttributes(creater.getDeclarations(eid)); - - return decl; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20Namespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20Namespace.java deleted file mode 100644 index ee138a2be4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSP20Namespace.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 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; - -/** - * New names for JSP 2.0 spec. - * - * @deprecated - use - * org.eclipse.jst.jsp.core.internal.provisional.JSP20Namespace - */ - -public interface JSP20Namespace extends JSP11Namespace { - public static String JSP20_URI = "";//$NON-NLS-1$ - - /** - * New elements for JSP 2.0 spec. - */ - public static interface ElementName extends JSP11Namespace.ElementName { - String DIRECTIVE_TAG = "jsp:directive.tag"; //$NON-NLS-1$ - String DIRECTIVE_ATTRIBUTE = "jsp:directive.attribute"; //$NON-NLS-1$ - String DIRECTIVE_VARIABLE = "jsp:directive.variable"; //$NON-NLS-1$ - String BODY = "jsp:body"; //$NON-NLS-1$ - String ATTRIBUTE = "jsp:attribute"; //$NON-NLS-1$ - String ELEMENT = "jsp:element"; //$NON-NLS-1$ - String DOBODY = "jsp:doBody"; - String INVOKE = "jsp:invoke"; - String OUTPUT = "jsp:output"; - } - - String ATTR_NAME_TAGDIR = "tagdir"; //$NON-NLS-1$ - - String ATTR_NAME_DISPLAY_NAME = "display-name"; //$NON-NLS-1$ - String ATTR_NAME_BODY_CONTENT = "body-content"; //$NON-NLS-1$ - String ATTR_NAME_SMALL_ICON = "small-icon"; //$NON-NLS-1$ - String ATTR_NAME_LARGE_ICON = "large-icon"; //$NON-NLS-1$ - String ATTR_NAME_DESCRIPTION = "description"; //$NON-NLS-1$ - String ATTR_NAME_EXAMPLE = "example"; //$NON-NLS-1$ - String ATTR_NAME_LANGUAGE = "language"; //$NON-NLS-1$ - String ATTR_NAME_ISELIGNORED = "isELIgnored"; //$NON-NLS-1$ - - String ATTR_NAME_REQUIRED = "required"; //$NON-NLS-1$ - String ATTR_NAME_FRAGMENT = "fragment"; //$NON-NLS-1$ - String ATTR_NAME_RTEXPRVALUE = "rtexprvalue"; //$NON-NLS-1$ - String ATTR_NAME_TYPE = "type"; //$NON-NLS-1$ - - String ATTR_NAME_NAME_GIVEN = "name-given"; //$NON-NLS-1$ - String ATTR_NAME_NAME_FROM_ATTRIBUTE = "name-from-attribute"; //$NON-NLS-1$ - String ATTR_NAME_ALIAS = "alias"; //$NON-NLS-1$ - String ATTR_NAME_VARIABLE_CLASS = "variable-class"; //$NON-NLS-1$ - String ATTR_NAME_DECLARE = "declare"; //$NON-NLS-1$ - - String ATTR_VALUE_SCRIPTLESS = "scriptless"; //$NON-NLS-1$ - String ATTR_VALUE_TAGDEPENDENT = "tagdependent"; //$NON-NLS-1$ - String ATTR_VALUE_EMPTY = "empty"; //$NON-NLS-1$ - - String ATTR_NAME_TRIM = "trim"; //$NON-NLS-1$ - - String ATTR_NAME_VAR = "var"; //$NON-NLS-1$ - String ATTR_NAME_VARREADER = "varReader"; //$NON-NLS-1$ - - String ATTR_NAME_OMIT_XML_DECL = "omit-xml-declaration"; //$NON-NLS-1$ - String ATTR_NAME_DOCTYPE_ROOT_ELEMENT = "doctype-root-element"; //$NON-NLS-1$ - String ATTR_NAME_DOCTYPE_SYSTEM = "doctype-system"; //$NON-NLS-1$ - String ATTR_NAME_DOCTYPE_PUBLIC = "doctype-public"; //$NON-NLS-1$ - - String ATTR_VALUE_NO = "no"; //$NON-NLS-1$ - String ATTR_VALUE_YES = "yes"; //$NON-NLS-1$ - - String ATTR_VALUE_SCOPE_AT_END = "AT_END"; //$NON-NLS-1$ - String ATTR_VALUE_SCOPE_AT_BEGIN = "AT_BEGIN"; //$NON-NLS-1$ - String ATTR_VALUE_SCOPE_NESTED = "NESTED"; //$NON-NLS-1$ - - String ATTR_NAME_DYNAMIC_ATTRIBUTES = "dynamic-attributes"; //$NON-NLS-1$ - - String ATTR_VALUE_ENCODING_DEFAULT = "ISO-8859-1"; //$NON-NLS-1$ - - String ATTR_VALUE_VARIABLE_CLASS_DEFAULT = "java.lang.String"; //$NON-NLS-1$ - - String ATTR_NAME_MAYSCRIPT = "mayscript"; //$NON-NLS-1$ - - String ATTR_VALUE_JVER12 = "1.2"; //$NON-NLS-1$ - - String ATTR_VALUE_JSP_VER_20 = "2.0"; //$NON-NLS-1$ - - // JSP 2.1 attributes -// String ATTR_NAME_DEFERRED_SYNTAX_ALLOWED_AS_LITERAL = "deferredSyntaxAllowedAsLiteral"; //$NON-NLS-1$ -// String ATTR_NAME_TRIM_DIRECTIVE_WHITESPACES = "trimDirectiveWhitespaces"; //$NON-NLS-1$ - -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPCMDocument.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPCMDocument.java deleted file mode 100644 index 802bfb2994..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPCMDocument.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - - -/** - * JSP extension for CMDocument. - * This interface provides some short hand methods to get declarations - * by a name. - */ -public interface JSPCMDocument extends org.eclipse.wst.xml.core.internal.contentmodel.CMDocument { - - /** - * A short hand method to get a element declaration for a JSP element. - * JSP declaration class implements HTMLElementDeclaration interface. - * @param elementName java.lang.String - */ - HTMLElementDeclaration getElementDeclaration(String elementName); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPElementCollection.java deleted file mode 100644 index c517f99e3e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/JSPElementCollection.java +++ /dev/null @@ -1,900 +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 java.util.Arrays; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.Vector; - -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -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.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Factory for element declarations of the JSP 1.1 and 1.2. - */ -class JSPElementCollection extends DeclCollection implements JSP11Namespace.ElementName { - - - class TypePacket { - public String name = null; - public int content = CMElementDeclaration.EMPTY; - public int omit = HTMLElementDeclaration.OMIT_NONE; - public int lineBreak = HTMLElementDeclaration.BREAK_NONE; - public int layout = HTMLElementDeclaration.LAYOUT_NONE; - public int correct = HTMLElementDeclaration.CORRECT_NONE; - public int format = HTMLElementDeclaration.FORMAT_XML; - public boolean indentChild = false; - - public TypePacket() { - } - } - - /** JSP element declaration. */ - class ElemDecl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration { - private TypePacket type = null; - private CMGroupImpl content = null; - private CMNamedNodeMapImpl attributes = null; - - public ElemDecl(TypePacket t) { - super(t.name, 1, 1); - type = t; - } - - public void setContent(CMGroupImpl group) { - content = group; - } - - public void setAttributes(CMNamedNodeMapImpl attrs) { - attributes = attrs; - } - - // implements CMNode - public int getNodeType() { - return CMNode.ELEMENT_DECLARATION; - } - - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return true; - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - return true; - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return false; - return pp.supports(this); - } - } - - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return Boolean.FALSE; //D208839 - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - String myName = getElementName(); - if (myName == JSP11Namespace.ElementName.PLUGIN) { - return getNamedItem(JSP11Namespace.ElementName.PARAMS); // outer class method. - } - else if (myName == JSP11Namespace.ElementName.PARAMS) { - return getNamedItem(JSP11Namespace.ElementName.PARAM); // outer class method. - } - else { - return null; - } - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return null; - return pp.get(this); - } - } - - // implementes CMElementDeclaration - public CMNamedNodeMap getAttributes() { - return attributes; - } - - public CMContent getContent() { - return content; - } - - public int getContentType() { - return type.content; - } - - public CMDataType getDataType() { - return null; - } - - public String getElementName() { - return getNodeName(); - } - - public CMNamedNodeMap getLocalElements() { - return null; - } - - // implementes HTMLElementDeclaration - public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) { - if (attributes == null) - return null; - return (HTMLAttributeDeclaration) attributes.getNamedItem(attrName); - } - - public int getCorrectionType() { - return type.correct; - } - - public CMContent getExclusion() { - return null; - } - - public CMContent getInclusion() { - return null; - } - - public CMNamedNodeMap getProhibitedAncestors() { - return EMPTY_MAP; - } - - public int getFormatType() { - return type.format; - } - - public int getLayoutType() { - return type.layout; - } - - public int getLineBreakHint() { - return type.lineBreak; - } - - public int getOmitType() { - return type.omit; - } - - public boolean shouldTerminateAt(HTMLElementDeclaration dec) { - return false; - } - - public boolean shouldKeepSpaces() { - return false; - } - - public boolean shouldIndentChildSource() { - return type.indentChild; - } - - public boolean isJSP() { - return true; - } - } - - // element IDs - static class Ids { - 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_PAGE = 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 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 = Ids.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - // attribute creater - class JACreater implements JSP11Namespace { - // attribute declaration - class AttrDecl extends CMNodeImpl implements HTMLAttributeDeclaration { - HTMLCMDataTypeImpl type = null; - int usage = CMAttributeDeclaration.OPTIONAL; - - // methods - public AttrDecl(String attrName) { - super(attrName); - } - - public String getAttrName() { - return getNodeName(); - } - - public CMDataType getAttrType() { - return type; - } - - /** @deprecated by superclass */ - public String getDefaultValue() { - if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT) - return null; - return type.getImpliedValue(); - } - - /** @deprecated by superclass */ - public Enumeration getEnumAttr() { - Vector v = new Vector(Arrays.asList(type.getEnumeratedValues())); - return v.elements(); - } - - public int getNodeType() { - return CMNode.ATTRIBUTE_DECLARATION; - } - - public int getUsage() { - return usage; - } - - public boolean shouldIgnoreCase() { - return false; - } - } - - CMNamedNodeMapImpl declarations = null; - - public JACreater() { - declarations = new CMNamedNodeMapImpl(); - } - - public CMNamedNodeMapImpl getDeclarations(int eid) { - switch (eid) { - case Ids.ID_DIRECTIVE_PAGE : - createForDirPage(); - break; - case Ids.ID_DIRECTIVE_INCLUDE : - createForDirInclude(); - break; - case Ids.ID_DIRECTIVE_TAGLIB : - createForDirTaglib(); - break; - case Ids.ID_USEBEAN : - createForUseBean(); - break; - case Ids.ID_SETPROPERTY : - createForSetProperty(); - break; - case Ids.ID_GETPROPERTY : - createForGetProperty(); - break; - case Ids.ID_INCLUDE : - createForInclude(); - break; - case Ids.ID_FORWARD : - createForForward(); - break; - case Ids.ID_PLUGIN : - createForPlugin(); - break; - case Ids.ID_PARAM : - createForParam(); - break; - case Ids.ID_ROOT : - createForRoot(); - break; - default : - // should warn. - break; - } - return declarations; - } - - AttrDecl createBoolType(String name, String defValue) { - AttrDecl adec = new AttrDecl(name); - 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, defValue); - return adec; - } - - private void createForDirPage() { - AttrDecl adec = null; - // ("language" CDATA DECLARED "java") - adec = new AttrDecl(ATTR_NAME_LANGUAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_JAVA); - declarations.putNamedItem(ATTR_NAME_LANGUAGE, adec); - - // ("extends" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_EXTENDS); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_EXTENDS, adec); - - // ("contentType" CDATA DECLARED "text/html; ISO-8859-1") - adec = new AttrDecl(ATTR_NAME_CONTENT_TYPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_CT_DEFAULT); - declarations.putNamedItem(ATTR_NAME_CONTENT_TYPE, adec); - - // ("import" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_IMPORT); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_IMPORT, adec); - - // ("session" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_SESSION, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_SESSION, adec); - - // ("buffer" CDATA DECLARED "8kb") - adec = new AttrDecl(ATTR_NAME_BUFFER); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_BUFSIZ_DEFAULT); - declarations.putNamedItem(ATTR_NAME_BUFFER, adec); - - // ("autoFlush" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_AUTOFLUSH, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_AUTOFLUSH, adec); - - // ("isThreadSafe" ENUM DECLARED (true|false) "true") - adec = createBoolType(ATTR_NAME_IS_THREAD_SAFE, ATTR_VALUE_TRUE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_IS_THREAD_SAFE, adec); - - // ("info" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_INFO); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_INFO, adec); - - // ("errorPage" URI IMPLIED) - adec = new AttrDecl(ATTR_NAME_ERROR_PAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - declarations.putNamedItem(ATTR_NAME_ERROR_PAGE, adec); - - // ("isErrorPage" ENUM DECLARED (true|false) "false") - adec = createBoolType(ATTR_NAME_IS_ERROR_PAGE, ATTR_VALUE_FALSE); - if (adec != null) - declarations.putNamedItem(ATTR_NAME_IS_ERROR_PAGE, adec); - - // ("pageEncoding" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_PAGE_ENCODING); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_PAGE_ENCODING, adec); - - } - - private void createForDirInclude() { - // ("file" URI REQUIRED); Defect TORO:185241 - AttrDecl adec = new AttrDecl(ATTR_NAME_FILE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_FILE, adec); - } - - private void createForDirTaglib() { - // ("uri" URI REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_URI); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_URI, 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 createForUseBean() { - // ("id" ID REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_ID); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ID); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_ID, adec); - - // ("scope" ENUM DECLARED (page|session|request|application) "page") - adec = new AttrDecl(ATTR_NAME_SCOPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_PAGE, ATTR_VALUE_SESSION, ATTR_VALUE_REQUEST, ATTR_VALUE_APPLICATION}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_PAGE); - declarations.putNamedItem(ATTR_NAME_SCOPE, adec); - - // ("class" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_CLASS); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_CLASS, adec); - - // ("beanName" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_BEAN_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_BEAN_NAME, adec); - - // ("type" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_TYPE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_TYPE, adec); - } - - private void createForSetProperty() { - // ("name" IDREF REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.IDREF); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - // ("property" CDATA REQUIRED) - adec = new AttrDecl(ATTR_NAME_PROPERTY); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_PROPERTY, adec); - - // ("value" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_VALUE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_VALUE, adec); - - // ("param" CDATA IMPLIED) - adec = new AttrDecl(ATTR_NAME_PARAM); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - declarations.putNamedItem(ATTR_NAME_PARAM, adec); - - } - - private void createForGetProperty() { - // ("name" IDREF REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.IDREF); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - // ("property" CDATA REQUIRED) - adec = new AttrDecl(ATTR_NAME_PROPERTY); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_PROPERTY, adec); - - } - - private void createForInclude() { - AttrDecl adec = null; - // ("page" URI REQUIRED) - adec = new AttrDecl(ATTR_NAME_PAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_PAGE, adec); - - // ("flush" ENUM OPTIONAL (true|false)); Defect TORO:185241 - adec = new AttrDecl(ATTR_NAME_FLUSH); - adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM); - adec.usage = CMAttributeDeclaration.OPTIONAL; - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - adec.type.setEnumValues(values); - adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - declarations.putNamedItem(ATTR_NAME_FLUSH, adec); - } - - private void createForForward() { - // ("page" URI REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_PAGE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.URI); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_PAGE, 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); - 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, ATTR_VALUE_JVER11); - 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); - } - - private void createForParam() { - // ("name" CDATA REQUIRED) - AttrDecl adec = new AttrDecl(ATTR_NAME_NAME); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_NAME, adec); - - // ("value" CDATA REQUIRED); Defect TORO:185241 - adec = new AttrDecl(ATTR_NAME_VALUE); - adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA); - adec.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_VALUE, 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.usage = CMAttributeDeclaration.REQUIRED; - declarations.putNamedItem(ATTR_NAME_VERSION, adec); - } - } - - private final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() { - public int getLength() { - return 0; - } - - public CMNode getNamedItem(String name) { - return null; - } - - public CMNode item(int index) { - return null; - } - - public Iterator iterator() { - return new Iterator() { - public boolean hasNext() { - return false; - } - - public Object next() { - return null; - } - - public void remove() { - } - }; - } - }; - private static String[] names = null; - - static { - names = new String[Ids.getNumOfIds()]; - names[Ids.ID_SCRIPTLET] = SCRIPTLET; - names[Ids.ID_EXPRESSION] = EXPRESSION; - names[Ids.ID_DECLARATION] = DECLARATION; - names[Ids.ID_DIRECTIVE_PAGE] = DIRECTIVE_PAGE; - names[Ids.ID_DIRECTIVE_INCLUDE] = DIRECTIVE_INCLUDE; - names[Ids.ID_DIRECTIVE_TAGLIB] = DIRECTIVE_TAGLIB; - names[Ids.ID_USEBEAN] = USEBEAN; - names[Ids.ID_SETPROPERTY] = SETPROPERTY; - names[Ids.ID_GETPROPERTY] = GETPROPERTY; - names[Ids.ID_INCLUDE] = INCLUDE; - names[Ids.ID_FORWARD] = FORWARD; - names[Ids.ID_PLUGIN] = PLUGIN; - names[Ids.ID_PARAMS] = PARAMS; - names[Ids.ID_FALLBACK] = FALLBACK; - names[Ids.ID_PARAM] = PARAM; - names[Ids.ID_ROOT] = ROOT; - names[Ids.ID_TEXT] = TEXT; - } - - JSPElementCollection(String[] names, boolean tolerant) { - super(names, tolerant); - } - - /** - */ - public JSPElementCollection() { - super(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_INCLUDE : - case Ids.ID_FORWARD : - // (jsp:param)* - content = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED); - child = item(Ids.ID_PARAM); - if (child != null) - content.appendChild(child); - break; - case Ids.ID_PLUGIN : - // (jsp:params | jsp:fallback)? - content = new CMGroupImpl(CMGroup.CHOICE, 0, 1); - // jsp:params - child = item(Ids.ID_PARAMS); - if (child != null) - content.appendChild(child); - // jsp:fallback - child = item(Ids.ID_FALLBACK); - if (child != null) - content.appendChild(child); - break; - case Ids.ID_PARAMS : - // (jsp:param)+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - child = item(Ids.ID_PARAM); - if (child != null) - content.appendChild(child); - break; - case Ids.ID_ROOT : - // %Body; - // --> (jsp:text|%Directives;|%Scripts;|%Actions;)* - // %Directives --> jsp:directive.page|jsp:directive.include - // %Scripts; --> jsp:scriptlet|jsp:declaration|jsp:expression - // %Actions --> jsp:useBean|jsp.setProperty|jsp:getProperty - // |jsp:include|jsp:forward|jsp:plugin - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - int validChildren[] = {Ids.ID_TEXT, - // %Directves; - Ids.ID_DIRECTIVE_PAGE, Ids.ID_DIRECTIVE_INCLUDE, - // %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; - } - - return content; - } - - /** - * @param eid int - */ - HTMLElementDeclaration createElemDecl(int eid) { - if (eid == ID_UNKNOWN) - return null; - - TypePacket packet = new TypePacket(); - switch (eid) { - case Ids.ID_SCRIPTLET : - // content, omit, lineBreak, layout, correct, format - // scriptlet - packet.name = SCRIPTLET; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case Ids.ID_EXPRESSION : - // expression - packet.name = EXPRESSION; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case Ids.ID_DECLARATION : - // declaration - packet.name = DECLARATION; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT; - break; - case Ids.ID_DIRECTIVE_PAGE : - // directive.page - packet.name = DIRECTIVE_PAGE; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case Ids.ID_DIRECTIVE_INCLUDE : - // directive.inlcude - packet.name = DIRECTIVE_INCLUDE; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE; - break; - case Ids.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 Ids.ID_USEBEAN : - // useBean - packet.name = USEBEAN; - packet.content = CMElementDeclaration.ANY; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.indentChild = true; - break; - case Ids.ID_SETPROPERTY : - // setProperty - packet.name = SETPROPERTY; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - break; - case Ids.ID_GETPROPERTY : - // getProperty - packet.name = GETPROPERTY; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - break; - case Ids.ID_INCLUDE : - // include - packet.name = INCLUDE; - packet.content = CMElementDeclaration.ELEMENT; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - break; - case Ids.ID_FORWARD : - // forward - packet.name = FORWARD; - packet.content = CMElementDeclaration.ELEMENT; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - break; - case Ids.ID_PLUGIN : - // plugin - packet.name = PLUGIN; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT; - packet.indentChild = true; - break; - case Ids.ID_PARAMS : - // params - packet.name = PARAMS; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - packet.indentChild = true; - break; - case Ids.ID_FALLBACK : - // fallback - packet.name = FALLBACK; - packet.content = CMElementDeclaration.CDATA; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - break; - case Ids.ID_PARAM : - // param - packet.name = PARAM; - packet.omit = HTMLElementDeclaration.OMIT_END; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; - break; - case Ids.ID_ROOT : - packet.name = ROOT; - packet.content = CMElementDeclaration.ELEMENT; - packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN; // same as HTML - break; - case Ids.ID_TEXT : - packet.name = TEXT; - packet.content = CMElementDeclaration.PCDATA; - break; - default : - // unknown ID - return null; - } - - ElemDecl dec = new ElemDecl(packet); - - CMGroupImpl content = createContent(eid); - if (content != null) - dec.setContent(content); - - JACreater creater = new JACreater(); - dec.setAttributes(creater.getDeclarations(eid)); - - return dec; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProvider.java deleted file mode 100644 index f3972ecd36..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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; - - -/** - * PropertyProvider class. - * This class is intended to be used in HTMLElementDeclaration instances. - */ -interface PropertyProvider { - - boolean supports(HTMLElementDeclaration edecl); - - Object get(HTMLElementDeclaration edecl); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProviderFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProviderFactory.java deleted file mode 100644 index 5eb1abe27e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/PropertyProviderFactory.java +++ /dev/null @@ -1,360 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.util.Hashtable; - -import org.eclipse.wst.html.core.internal.HTMLCorePlugin; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.annotation.AnnotationMap; - -/** - * The factory object of PropertyProvider. - */ -final class PropertyProviderFactory { - - - /** - * DefaultProvider is intended to be used for unknown properties. - * It always returns null value for any properties. - */ - class DefaultProvider implements PropertyProvider { - public DefaultProvider() { - super(); - } - - public boolean supports(HTMLElementDeclaration edecl) { - return false; - } - - public Object get(HTMLElementDeclaration edecl) { - return null; - } - } - - abstract class AbstractElementPropertyProvider implements PropertyProvider { - protected AbstractElementPropertyProvider() { - super(); - } - - public boolean supports(HTMLElementDeclaration edecl) { - return (edecl != null); - } - - public Object get(HTMLElementDeclaration edecl) { - if (!(edecl instanceof HTMLPropertyDeclaration)) - return null; - return getElementProperty((HTMLPropertyDeclaration)edecl); - } - - abstract protected Object getElementProperty(HTMLPropertyDeclaration decl); - } - - /* - * "tagInfo" - * gets documentation for the element - */ - class PPTagInfo extends AbstractElementPropertyProvider { - private final static String htmlAnnotationLoc = "data/htmref.xml"; //$NON-NLS-1$ - protected AnnotationMap fAnnotationMap = null; - - public PPTagInfo() { - super(); - } - - /** - * Gets the annotationMap. - * @return Returns a AnnotationMap - */ - protected AnnotationMap getAnnotationMap() { - if (fAnnotationMap == null) { - fAnnotationMap = new AnnotationMap(); - try { - fAnnotationMap.load(htmlAnnotationLoc, HTMLCorePlugin.getDefault().getBundle().getSymbolicName()); - } - catch (Exception e) { - // no annotation available - } - } - return fAnnotationMap; - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - if (decl instanceof HTMLElementDeclaration) { - return getAnnotationMap().getProperty(((HTMLElementDeclaration)decl).getElementName(), "tagInfo"); //$NON-NLS-1$ - } else { - return null; - } - } - } - - /* - * "shouldKeepSpace" - */ - class PPShouldKeepSpace extends AbstractElementPropertyProvider { - public PPShouldKeepSpace() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.shouldKeepSpaces()); - } - } - - /* - * "shouldIndentChildSource" - */ - class PPShouldIndentChildSource extends AbstractElementPropertyProvider { - public PPShouldIndentChildSource() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.shouldIndentChildSource()); - } - } - - /* - * "terminators" - */ - class PPTerminators extends AbstractElementPropertyProvider { - public PPTerminators() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - if (! (decl instanceof HTMLElemDeclImpl)) return null; - return ((HTMLElemDeclImpl)decl).getTerminators(); - } - } - - /* - * "prohibitedAncestors" - */ - class PPProhibitedAncestors extends AbstractElementPropertyProvider { - public PPProhibitedAncestors() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return decl.getProhibitedAncestors(); - } - } - - /* - * "isJSP" - */ - class PPIsJSP extends AbstractElementPropertyProvider { - public PPIsJSP() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.isJSP()); - } - } - - /* - * "isXHTML" - * HTMLElementDeclaration itself never represent any XHTML element declaration. - * So, this property must be always false. - */ - class PPIsXHTML extends AbstractElementPropertyProvider { - public PPIsXHTML() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(false); - } - } - - /* - * "isSSI" - * Each declaration class for SSI elements must provide this property itself, - * and then return true. Other declaration must always return false. - */ - class PPIsSSI extends AbstractElementPropertyProvider { - public PPIsSSI() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(false); - } - } - - /* - * "lineBreakHint" - */ - class PPLineBreakHint extends AbstractElementPropertyProvider { - public PPLineBreakHint() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String hint = HTMLCMProperties.Values.BREAK_NONE; - switch (decl.getLineBreakHint()) { - case HTMLElementDeclaration.BREAK_AFTER_START : - hint = HTMLCMProperties.Values.BREAK_AFTER_START; - break; - case HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END : - hint = HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END; - break; - case HTMLElementDeclaration.BREAK_NONE : - // nothing to do - default : - break; - } - return hint; - } - } - - /* - * "layoutType" - */ - class PPLayoutType extends AbstractElementPropertyProvider { - public PPLayoutType() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String type = HTMLCMProperties.Values.LAYOUT_NONE; - switch (decl.getLayoutType()) { - case HTMLElementDeclaration.LAYOUT_BLOCK : - type = HTMLCMProperties.Values.LAYOUT_BLOCK; - break; - case HTMLElementDeclaration.LAYOUT_BREAK : - type = HTMLCMProperties.Values.LAYOUT_BREAK; - break; - case HTMLElementDeclaration.LAYOUT_HIDDEN : - type = HTMLCMProperties.Values.LAYOUT_HIDDEN; - break; - case HTMLElementDeclaration.LAYOUT_OBJECT : - type = HTMLCMProperties.Values.LAYOUT_OBJECT; - break; - case HTMLElementDeclaration.LAYOUT_WRAP : - type = HTMLCMProperties.Values.LAYOUT_WRAP; - break; - case HTMLElementDeclaration.LAYOUT_NONE : - // nothing to do. - default : - break; - } - return type; - } - } - - /* - * "omitType" - */ - class PPOmitType extends AbstractElementPropertyProvider { - public PPOmitType() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String type = HTMLCMProperties.Values.OMIT_NONE; - switch (decl.getOmitType()) { - case HTMLElementDeclaration.OMIT_BOTH : - type = HTMLCMProperties.Values.OMIT_BOTH; - break; - case HTMLElementDeclaration.OMIT_END : - type = HTMLCMProperties.Values.OMIT_END; - break; - case HTMLElementDeclaration.OMIT_END_DEFAULT : - type = HTMLCMProperties.Values.OMIT_END_DEFAULT; - break; - case HTMLElementDeclaration.OMIT_END_MUST : - type = HTMLCMProperties.Values.OMIT_END_MUST; - break; - case HTMLElementDeclaration.OMIT_NONE : - // nothing to do. - default : - break; - } - return type; - } - } - - /* - * "inclusion" - */ - class PPInclusion extends AbstractElementPropertyProvider { - public PPInclusion() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return decl.getInclusion(); - } - } - - public static PropertyProvider getProvider(String propName) { - PropertyProviderFactory factory = getInstance(); - PropertyProvider pp = (PropertyProvider) factory.registry.get(propName); - if (pp != null) - return pp; - - pp = factory.create(propName); - if (pp == null) - return factory.defaultProvider; - - factory.registry.put(propName, pp); - return pp; - } - - private static PropertyProviderFactory instance = null; - - private synchronized static PropertyProviderFactory getInstance() { - if (instance != null) - return instance; - instance = new PropertyProviderFactory(); - return instance; - } - - private Hashtable registry = new Hashtable(); - private PropertyProvider defaultProvider = new DefaultProvider(); - - private PropertyProviderFactory() { - super(); - } - - private PropertyProvider create(String propName) { - PropertyProvider pp = null; - if (propName.equals(HTMLCMProperties.IS_JSP)) - pp = new PPIsJSP(); - else if (propName.equals(HTMLCMProperties.IS_XHTML)) - pp = new PPIsXHTML(); - else if (propName.equals(HTMLCMProperties.IS_SSI)) - pp = new PPIsSSI(); - else if (propName.equals(HTMLCMProperties.LAYOUT_TYPE)) - pp = new PPLayoutType(); - else if (propName.equals(HTMLCMProperties.LINE_BREAK_HINT)) - pp = new PPLineBreakHint(); - else if (propName.equals(HTMLCMProperties.PROHIBITED_ANCESTORS)) - pp = new PPProhibitedAncestors(); - else if (propName.equals(HTMLCMProperties.SHOULD_KEEP_SPACE)) - pp = new PPShouldKeepSpace(); - else if (propName.equals(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE)) - pp = new PPShouldIndentChildSource(); - else if (propName.equals(HTMLCMProperties.TERMINATORS)) - pp = new PPTerminators(); - else if (propName.equals(HTMLCMProperties.TAGINFO)) - pp = new PPTagInfo(); - else if (propName.equals(HTMLCMProperties.OMIT_TYPE)) - pp = new PPOmitType(); - else if (propName.equals(HTMLCMProperties.INCLUSION)) - pp = new PPInclusion(); - - return pp; - } -} 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 7ae40f22de..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[Ids.ID_SCRIPTLET] = JSP11Namespace.ElementName.SCRIPTLET; - names[Ids.ID_EXPRESSION] = JSP11Namespace.ElementName.EXPRESSION; - names[Ids.ID_DECLARATION] = JSP11Namespace.ElementName.DECLARATION; - names[TagIds20.ID_DIRECTIVE_TAG] = JSP20Namespace.ElementName.DIRECTIVE_TAG; - names[Ids.ID_DIRECTIVE_INCLUDE] = JSP11Namespace.ElementName.DIRECTIVE_INCLUDE; - names[Ids.ID_DIRECTIVE_TAGLIB] = JSP11Namespace.ElementName.DIRECTIVE_TAGLIB; - names[Ids.ID_USEBEAN] = JSP11Namespace.ElementName.USEBEAN; - names[Ids.ID_SETPROPERTY] = JSP11Namespace.ElementName.SETPROPERTY; - names[Ids.ID_GETPROPERTY] = JSP11Namespace.ElementName.GETPROPERTY; - names[Ids.ID_INCLUDE] = JSP11Namespace.ElementName.INCLUDE; - names[Ids.ID_FORWARD] = JSP11Namespace.ElementName.FORWARD; - names[Ids.ID_PLUGIN] = JSP11Namespace.ElementName.PLUGIN; - names[Ids.ID_PARAMS] = JSP11Namespace.ElementName.PARAMS; - names[Ids.ID_FALLBACK] = JSP11Namespace.ElementName.FALLBACK; - names[Ids.ID_PARAM] = JSP11Namespace.ElementName.PARAM; - names[Ids.ID_ROOT] = JSP11Namespace.ElementName.ROOT; - names[Ids.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; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/TagCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/TagCMDocImpl.java deleted file mode 100644 index b2298f22b7..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/TagCMDocImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 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; - -/** - * Implementation of CMDocument for the JSP 2.0 tag files. - */ -class TagCMDocImpl extends JCMDocImpl { - /** - * HCMDocImpl constructor comment. - */ - public TagCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) { - super(docTypeName, targetNamespace, new Tag20ElementCollection()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/AttributeCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/AttributeCollection.java deleted file mode 100644 index e563228f3c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/AttributeCollection.java +++ /dev/null @@ -1,314 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLAttributeDeclaration; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDataType; -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.CMNode; - -/** - * Factory for attribute declarations. - */ -final class AttributeCollection extends CMNamedNodeMapImpl implements CHTMLNamespace { - /** - * constructor. - */ - public AttributeCollection() { - super(); - } - - /** - * Create an attribute declaration. - * @param attrName java.lang.String - */ - private HTMLAttrDeclImpl create(String attrName) { - HTMLAttrDeclImpl attr = null; - HTMLCMDataTypeImpl atype = null; - - if (attrName.equalsIgnoreCase(ATTR_NAME_ACTION)) { - // (action %URI #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ACTION, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ALT)) { - // (alt %Text; #REQUIRED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ALT, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_BORDER)) { - // (border %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHECKED)) { - // (checked (checked) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_CHECKED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHECKED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CLEAR)) { - // (clear (left | all | right | none) none) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_ALL, ATTR_VALUE_RIGHT, ATTR_VALUE_NONE}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_NONE); - - attr = new HTMLAttrDeclImpl(ATTR_NAME_CLEAR, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_COLS)) { - // (cols NUMBER #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COLS, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ENCTYPE)) { - // (enctype %ContentType; "application/x-www-form-urlencoded") - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ENCTYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HEIGHT)) { - // (height %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HREF)) { - // (href %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HREF, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HSPACE)) { - // (hspace %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HSPACE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HTTP_EQUIV)) { - // (http-equiv NAME #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HTTP_EQUIV, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MAXLENGTH)) { - // (maxlength NUMBER #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAXLENGTH, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_METHOD)) { - // (method (GET|POST) GET) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_GET, ATTR_VALUE_POST}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_METHOD, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MULTIPLE)) { - // (multiple (multiple) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_MULTIPLE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MULTIPLE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NAME)) { - // (name CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_NOSHADE)) { - // (noshade (noshade) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NOSHADE}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NOSHADE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ROWS)) { - // (rows NUMBER #REQUIRED) - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ROWS, atype, CMAttributeDeclaration.REQUIRED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SELECTED)) { - // (selected (selected) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_SELECTED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SELECTED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SIZE)) { - // (size %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SRC)) { - // (src %URI; #IMPLIED) - // NOTE: "src" attributes are defined in several elements. - // The definition of IMG is different from others. - // So, it should be locally defined. - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SRC, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_TYPE)) { - // (type %CotentType; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VALUE)) { - // (value CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VERSION)) { - // (version CDATA #FIXED '%HTML.Version;) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_FIXED, ATTR_VALUE_VERSION_TRANSITIONAL); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VERSION, atype, CMAttributeDeclaration.FIXED); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_WIDTH)) { - // (width %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_VSPACE)) { - // (vspace %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VSPACE, atype, CMAttributeDeclaration.OPTIONAL); - - // <<D205514 - } - else { - // unknown attribute; maybe error. - // should warn. - attr = null; - } - - return attr; - } - - /** - * Get %bodycolors; declarations. - */ - public void getBodycolors(CMNamedNodeMapImpl declarations) { - } - - /** - * Get align attribute which has %IAlign; as values.. - */ - public static final HTMLAttrDeclImpl createAlignForImage() { - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values - String[] values = {ATTR_VALUE_TOP, ATTR_VALUE_MIDDLE, ATTR_VALUE_BOTTOM, ATTR_VALUE_LEFT, ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Create an attribute declaration for <code>align</code> - * in several elements, like <code>P</code>, <code>DIV</code>. - * The values are different from attributes those have the same name - * in other elements (<code>IMG</code> and <code>TABLE</code>). - * So, it can't treat as global attributes. - * <strong>NOTE: These attribute declaration has - * no owner CMDocument instance.</strong> - */ - public static final HTMLAttrDeclImpl createAlignForParagraph() { - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // set enum values: left|center|right|justify - String[] values = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT,}; - atype.setEnumValues(values); - - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - return attr; - } - - /** - * Get %attrs; declarations. - * %attrs; consists of %coreattrs;, %i18n, and %events;. - */ - public void getAttrs(CMNamedNodeMapImpl declarations) { - } - - /** - * Get %coreattrs; declarations. - */ - public void getCore(CMNamedNodeMapImpl declarations) { - } - - /** - * Get a global attribute declaration. - * @param attrName java.lang.String - */ - public HTMLAttributeDeclaration getDeclaration(String attrName) { - CMNode cmnode = getNamedItem(attrName); - if (cmnode != null) - return (HTMLAttributeDeclaration) cmnode; // already exists. - - HTMLAttrDeclImpl dec = create(attrName); - if (dec != null) - putNamedItem(attrName, dec); - - return dec; - } - - /** - * Get declarations which are specified by names. - * @param names java.util.Iterator - */ - public void getDeclarations(CMNamedNodeMapImpl declarations, Iterator names) { - while (names.hasNext()) { - String attrName = (String) names.next(); - HTMLAttributeDeclaration dec = getDeclaration(attrName); - if (dec != null) - declarations.putNamedItem(attrName, dec); - } - } - - /** - * Get %events; declarations. - */ - public void getEvents(CMNamedNodeMapImpl declarations) { - } - - /** - * Get %i18n; declarations. - */ - public void getI18n(CMNamedNodeMapImpl declarations) { - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHCMDocImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHCMDocImpl.java deleted file mode 100644 index 00b35285ac..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHCMDocImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocument; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLEntityDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * CMDocument implementation for the HTML. - */ -public class CHCMDocImpl extends CMNodeImpl implements HTMLCMDocument { - - /** Namespace for all names of elements, entities and attributes. */ - private CMNamespace namespace = null; - private ElementCollection elements = null; - private EntityCollection entities = null; - private AttributeCollection attributes = null; - - /** - */ - public CHCMDocImpl(String docTypeName, CMNamespace targetNamespace) { - super(docTypeName); - namespace = targetNamespace; - attributes = new AttributeCollection(); - elements = new ElementCollection(attributes); - entities = new EntityCollection(); - } - - AttributeCollection getAttributes() { - return attributes; - } - - public HTMLElementDeclaration getElementDeclaration(String elementName) { - if (elements == null) - return null; - return (HTMLElementDeclaration) elements.getNamedItem(elementName); - } - - public CMNamedNodeMap getElements() { - return elements; - } - - public CMNamedNodeMap getEntities() { - return entities; - } - - public HTMLEntityDeclaration getEntityDeclaration(String entityName) { - if (entities == null) - return null; - return (HTMLEntityDeclaration) entities.getNamedItem(entityName); - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument - */ - public org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace getNamespace() { - return namespace; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.DOCUMENT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHTMLNamespace.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHTMLNamespace.java deleted file mode 100644 index 456503c123..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CHTMLNamespace.java +++ /dev/null @@ -1,152 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; - - - -/** - * Provide all names defined in the HTML 4.0? specification. - */ -public interface CHTMLNamespace { - - // Element names - public static interface ElementName { - public static final String A = HTML40Namespace.ElementName.A; - public static final String ADDRESS = HTML40Namespace.ElementName.ADDRESS; - public static final String BASE = HTML40Namespace.ElementName.BASE; - public static final String BLOCKQUOTE = HTML40Namespace.ElementName.BLOCKQUOTE; - public static final String BODY = HTML40Namespace.ElementName.BODY; - public static final String BR = HTML40Namespace.ElementName.BR; - public static final String CENTER = HTML40Namespace.ElementName.CENTER; - public static final String DD = HTML40Namespace.ElementName.DD; - public static final String DIR = HTML40Namespace.ElementName.DIR; - public static final String DIV = HTML40Namespace.ElementName.DIV; - public static final String DL = HTML40Namespace.ElementName.DL; - public static final String DT = HTML40Namespace.ElementName.DT; - public static final String FORM = HTML40Namespace.ElementName.FORM; - public static final String H1 = HTML40Namespace.ElementName.H1; - public static final String H2 = HTML40Namespace.ElementName.H2; - public static final String H3 = HTML40Namespace.ElementName.H3; - public static final String H4 = HTML40Namespace.ElementName.H4; - public static final String H5 = HTML40Namespace.ElementName.H5; - public static final String H6 = HTML40Namespace.ElementName.H6; - public static final String HEAD = HTML40Namespace.ElementName.HEAD; - public static final String HR = HTML40Namespace.ElementName.HR; - public static final String HTML = HTML40Namespace.ElementName.HTML; - public static final String IMG = HTML40Namespace.ElementName.IMG; - public static final String INPUT = HTML40Namespace.ElementName.INPUT; - public static final String LI = HTML40Namespace.ElementName.LI; - public static final String MENU = HTML40Namespace.ElementName.MENU; - public static final String META = HTML40Namespace.ElementName.META; - public static final String OL = HTML40Namespace.ElementName.OL; - public static final String OPTION = HTML40Namespace.ElementName.OPTION; - public static final String P = HTML40Namespace.ElementName.P; - public static final String PRE = HTML40Namespace.ElementName.PRE; - public static final String SELECT = HTML40Namespace.ElementName.SELECT; - public static final String TEXTAREA = HTML40Namespace.ElementName.TEXTAREA; - public static final String TITLE = HTML40Namespace.ElementName.TITLE; - public static final String UL = HTML40Namespace.ElementName.UL; - public static final String SSI_CONFIG = HTML40Namespace.ElementName.SSI_CONFIG; - public static final String SSI_ECHO = HTML40Namespace.ElementName.SSI_ECHO; - public static final String SSI_EXEC = HTML40Namespace.ElementName.SSI_EXEC; - public static final String SSI_FSIZE = HTML40Namespace.ElementName.SSI_FSIZE; - public static final String SSI_FLASTMOD = HTML40Namespace.ElementName.SSI_FLASTMOD; - public static final String SSI_INCLUDE = HTML40Namespace.ElementName.SSI_INCLUDE; - public static final String SSI_PRINTENV = HTML40Namespace.ElementName.SSI_PRINTENV; - public static final String SSI_SET = HTML40Namespace.ElementName.SSI_SET; - } - - // Character Entities - public static interface EntityName { - } - - // global attribute names - public static final String ATTR_NAME_VERSION = HTML40Namespace.ATTR_NAME_VERSION; - public static final String ATTR_NAME_SRC = HTML40Namespace.ATTR_NAME_SRC; - public static final String ATTR_NAME_ALT = HTML40Namespace.ATTR_NAME_ALT; - public static final String ATTR_NAME_HEIGHT = HTML40Namespace.ATTR_NAME_HEIGHT; - public static final String ATTR_NAME_WIDTH = HTML40Namespace.ATTR_NAME_WIDTH; - public static final String ATTR_NAME_ALIGN = HTML40Namespace.ATTR_NAME_ALIGN; - public static final String ATTR_NAME_BORDER = HTML40Namespace.ATTR_NAME_BORDER; - public static final String ATTR_NAME_HSPACE = HTML40Namespace.ATTR_NAME_HSPACE; - public static final String ATTR_NAME_VSPACE = HTML40Namespace.ATTR_NAME_VSPACE; - public static final String ATTR_NAME_NAME = HTML40Namespace.ATTR_NAME_NAME; - public static final String ATTR_NAME_CLEAR = HTML40Namespace.ATTR_NAME_CLEAR; - public static final String ATTR_NAME_NOSHADE = HTML40Namespace.ATTR_NAME_NOSHADE; - public static final String ATTR_NAME_CHECKED = HTML40Namespace.ATTR_NAME_CHECKED; - public static final String ATTR_NAME_MAXLENGTH = HTML40Namespace.ATTR_NAME_MAXLENGTH; - public static final String ATTR_NAME_ISTYLE = HTML40Namespace.ATTR_NAME_ISTYLE; - public static final String ATTR_NAME_HTTP_EQUIV = HTML40Namespace.ATTR_NAME_HTTP_EQUIV; - public static final String ATTR_NAME_CONTENT = HTML40Namespace.ATTR_NAME_CONTENT; - - public static final String ATTR_NAME_HREF = HTML40Namespace.ATTR_NAME_HREF; - public static final String ATTR_NAME_MULTIPLE = HTML40Namespace.ATTR_NAME_MULTIPLE; - public static final String ATTR_NAME_SELECTED = HTML40Namespace.ATTR_NAME_SELECTED; - public static final String ATTR_NAME_ROWS = HTML40Namespace.ATTR_NAME_ROWS; - public static final String ATTR_NAME_COLS = HTML40Namespace.ATTR_NAME_COLS; - public static final String ATTR_NAME_ACTION = HTML40Namespace.ATTR_NAME_ACTION; - public static final String ATTR_NAME_METHOD = HTML40Namespace.ATTR_NAME_METHOD; - public static final String ATTR_NAME_ENCTYPE = HTML40Namespace.ATTR_NAME_ENCTYPE; - public static final String ATTR_NAME_SIZE = HTML40Namespace.ATTR_NAME_SIZE; - public static final String ATTR_NAME_TYPE = HTML40Namespace.ATTR_NAME_TYPE; - public static final String ATTR_NAME_VALUE = HTML40Namespace.ATTR_NAME_VALUE; - - - - public static final String ATTR_NAME_ERRMSG = HTML40Namespace.ATTR_NAME_ERRMSG; - public static final String ATTR_NAME_SIZEFMT = HTML40Namespace.ATTR_NAME_SIZEFMT; - public static final String ATTR_NAME_TIMEFMT = HTML40Namespace.ATTR_NAME_TIMEFMT; - public static final String ATTR_NAME_VAR = HTML40Namespace.ATTR_NAME_VAR; - public static final String ATTR_NAME_CGI = HTML40Namespace.ATTR_NAME_CGI; - public static final String ATTR_NAME_CMD = HTML40Namespace.ATTR_NAME_CMD; - public static final String ATTR_NAME_FILE = HTML40Namespace.ATTR_NAME_FILE; - public static final String ATTR_NAME_VIRTUAL = HTML40Namespace.ATTR_NAME_VIRTUAL; - - // global attribute values; mainly used in enumeration. - public static final String ATTR_VALUE_VERSION_TRANSITIONAL = "-//W3C//DTD Compact HTML 1.0 Draft//EN"; //$NON-NLS-1$ - // for align (top|middle|bottom|left|right) - public static final String ATTR_VALUE_TOP = HTML40Namespace.ATTR_VALUE_TOP; - public static final String ATTR_VALUE_MIDDLE = HTML40Namespace.ATTR_VALUE_MIDDLE; - public static final String ATTR_VALUE_BOTTOM = HTML40Namespace.ATTR_VALUE_BOTTOM; - public static final String ATTR_VALUE_LEFT = HTML40Namespace.ATTR_VALUE_LEFT; - public static final String ATTR_VALUE_CENTER = HTML40Namespace.ATTR_VALUE_CENTER; - public static final String ATTR_VALUE_RIGHT = HTML40Namespace.ATTR_VALUE_RIGHT; - // for clear (left|all|right|none): left and right are already defined above. - public static final String ATTR_VALUE_ALL = HTML40Namespace.ATTR_VALUE_ALL; - public static final String ATTR_VALUE_NONE = HTML40Namespace.ATTR_VALUE_NONE; - // for type of INPUT - // (text | password | checkbox | radio | submit | reset | - // file | hidden | image | button) - public static final String ATTR_VALUE_TEXT = HTML40Namespace.ATTR_VALUE_TEXT; - public static final String ATTR_VALUE_PASSWORD = HTML40Namespace.ATTR_VALUE_PASSWORD; - public static final String ATTR_VALUE_CHECKBOX = HTML40Namespace.ATTR_VALUE_CHECKBOX; - public static final String ATTR_VALUE_RADIO = HTML40Namespace.ATTR_VALUE_RADIO; - public static final String ATTR_VALUE_SUBMIT = HTML40Namespace.ATTR_VALUE_SUBMIT; - public static final String ATTR_VALUE_RESET = HTML40Namespace.ATTR_VALUE_RESET; - public static final String ATTR_VALUE_HIDDEN = HTML40Namespace.ATTR_VALUE_HIDDEN; - // for span, colspan, rowspan - public static final String ATTR_VALUE_1 = HTML40Namespace.ATTR_VALUE_1; - // for frameborder - public static final String ATTR_VALUE_0 = HTML40Namespace.ATTR_VALUE_0; - // for method of FORM - public static final String ATTR_VALUE_GET = HTML40Namespace.ATTR_VALUE_GET; - public static final String ATTR_VALUE_POST = HTML40Namespace.ATTR_VALUE_POST; - public static final String ATTR_VALUE_WWW_FORM_URLENCODED = HTML40Namespace.ATTR_VALUE_WWW_FORM_URLENCODED; - // for behaviro of MARQUEE - public static final String ATTR_VALUE_SCROLL = HTML40Namespace.ATTR_VALUE_SCROLL; - public static final String ATTR_VALUE_SLIDE = HTML40Namespace.ATTR_VALUE_SLIDE; - public static final String ATTR_VALUE_ALTERNATE = HTML40Namespace.ATTR_VALUE_ALTERNATE; - // for direction of MARQUEE - public static final String ATTR_VALUE_UP = HTML40Namespace.ATTR_VALUE_UP; - public static final String ATTR_VALUE_DOWN = HTML40Namespace.ATTR_VALUE_DOWN; -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMContentImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMContentImpl.java deleted file mode 100644 index 5633cf535a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMContentImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -/** - * Implementation of CMContent for HTML CM. - */ -abstract class CMContentImpl extends CMNodeImpl implements org.eclipse.wst.xml.core.internal.contentmodel.CMContent { - - public static final int UNBOUNDED = -1; - /** -1: it's UNBOUNDED. */ - private int maxOccur = UNBOUNDED; - /** 0: it's OPTIONAL, 1, it's REQUIRED. */ - private int minOccur = 0; - - /** - * The primary consturctor. - * Use this one for usual cases.<br> - */ - public CMContentImpl(String name, int min, int max) { - super(name); - minOccur = min; - maxOccur = max; - } - - /** - * getMaxOccur method - * @return int - * - * If -1, it's UNBOUNDED. - */ - public int getMaxOccur() { - return maxOccur; - } - - /** - * getMinOccur method - * @return int - * - * If 0, it's OPTIONAL. - * If 1, it's REQUIRED. - */ - public int getMinOccur() { - return minOccur; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMGroupImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMGroupImpl.java deleted file mode 100644 index 2c546f5d6b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMGroupImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList; - -/** - */ -class CMGroupImpl extends CMContentImpl implements CMGroup { - - private int operator = CMGroup.SEQUENCE; - private CMNodeListImpl children = null; - - /** - * CMGroupImpl constructor comment. - */ - public CMGroupImpl(int op, int minOccur, int maxOccur) { - super(null, minOccur, maxOccur); - switch (op) { - case CMGroup.ALL : - case CMGroup.CHOICE : - case CMGroup.SEQUENCE : - operator = op; - break; - default : - // should warn. - break; - } - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - protected CMNode appendChild(CMNode child) { - if (child == null) - return null; - if (children == null) - children = new CMNodeListImpl(); - return children.appendNode(child); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList - */ - public CMNodeList getChildNodes() { - return children; - } - - /** - * getNodeType method - * @return int - * - * Returns one of : - * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.GROUP; - } - - /** - * getOperation method - * @return int - * - * Returns one of : - * ALONE (a), SEQUENCE (a,b), CHOICE (a|b), ALL (a&b). - */ - public int getOperator() { - return operator; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNamedNodeMapImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNamedNodeMapImpl.java deleted file mode 100644 index d1bae1ef76..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNamedNodeMapImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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.chtml; - - - -import java.util.Iterator; -import java.util.Locale; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * An implementation of the CMNamedNodeMap interface. This class is intented - * to be used as a container of attribute declarations. If someone wants to - * use this class for other purpose, he must pay attention to the fact that - * this class is tolerant of the key name case. That is, this class does not - * distinguish "name", "NAME", and "Name" as a key name. - */ -class CMNamedNodeMapImpl implements org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap { - - private java.util.Hashtable items = null; - - /** - */ - public CMNamedNodeMapImpl() { - super(); - items = new java.util.Hashtable(); - } - - /** - * getLength method - * - * @return int - */ - public int getLength() { - return items.size(); - } - - /** - * getNamedItem method - * - * @return CMNode <code>null</code> for unknown keys. - * @param name - * java.lang.String - */ - public CMNode getNamedItem(String name) { - String cookedName = makeCanonicalForm(name); - if (!items.containsKey(cookedName)) - return null; - return (CMNode) items.get(cookedName); - } - - /** - * item method - * - * @return CMNode - * @param index - * int - */ - public CMNode item(int index) { - Iterator iter = iterator(); - while (iter.hasNext()) { - CMNode node = (CMNode) iter.next(); - if (--index < 0) - return node; - } - return null; - } - - /** - * @return java.util.Iterator - */ - public Iterator iterator() { - return items.values().iterator(); - } - - /** - * @return java.lang.String - * @param rawForm - * java.lang.String - */ - private String makeCanonicalForm(String raw) { - // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=100152 - // we are able to "cheat" here a little and use US Locale - // to get a good cononical form, since we are using this only - // for HTML and JSP standard tags. - // Long term, for similar needs with XML 1.1 (for example) - // we should use a class such as com.ibm.icu.text.Normalizer - return raw.toUpperCase(Locale.US); - } - - /** - * @param key - * java.lang.String - * @param item - * java.lang.String - */ - void putNamedItem(String name, CMNode item) { - String cookedName = makeCanonicalForm(name); - if (items.containsKey(cookedName)) - return; // already registered. - items.put(cookedName, item); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeImpl.java deleted file mode 100644 index 62f7a01d45..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; - - - -/** - */ -abstract class CMNodeImpl implements org.eclipse.wst.xml.core.internal.contentmodel.CMNode { - - private java.lang.String name = null; - - /** - * CMNodeImpl constructor comment. - */ - public CMNodeImpl(String nm) { - super(); - name = nm; - } - - /** - * getNodeName method - * @return java.lang.String - */ - public String getNodeName() { - return name; - } - - /** - * getProperty method - * @return java.lang.Object - * - * Returns the object property desciped by the propertyName - * - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.IS_XHTML)) - return new Boolean(false); - return null; - } - - /** - * supports method - * @return boolean - * - * Returns true if the CMNode supports a specified property - * - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.IS_XHTML)) - return true; - return false; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeListImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeListImpl.java deleted file mode 100644 index c1b1cdac40..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CMNodeListImpl.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Analog of dom.NodeList for CM. - */ -class CMNodeListImpl implements org.eclipse.wst.xml.core.internal.contentmodel.CMNodeList { - - private java.util.Vector nodes = null; - - /** - * CMNodeListImpl constructor comment. - */ - public CMNodeListImpl() { - super(); - nodes = new java.util.Vector(); - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param node org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - protected CMNode appendNode(CMNode node) { - nodes.addElement(node); - return node; - } - - /** - * getLength method - * @return int - */ - public int getLength() { - return nodes.size(); - } - - /** - * item method - * @return CMNode - * @param index int - */ - public CMNode item(int index) { - if (index < 0 || index >= nodes.size()) - return null; - return (CMNode) nodes.elementAt(index); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinition.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinition.java deleted file mode 100644 index fd47c7e63d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinition.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * This class is intended to represent a complex type definition - * in XML Schema.<br> - */ -abstract class ComplexTypeDefinition { - - protected CMGroupImpl content = null; - protected ElementCollection collection = null; - protected String primaryCandidateName = null; - - /** - * ComplexTypeDefinition constructor comment. - */ - public ComplexTypeDefinition(ElementCollection elementCollection) { - super(); - collection = elementCollection; - createContent(); - } - - /** - * Create an actual content model. - * This method should be called once and only once in the constructor.<br> - */ - protected abstract void createContent(); - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMGroup - */ - public CMGroup getContent() { - return content; - } - - /** - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - /* NOTE: Do we need LOGICAL type? - * -- 3/7/2001 - */ - public abstract int getContentType(); - - /** - * Get content hint. - */ - public HTMLElementDeclaration getPrimaryCandidate() { - if (primaryCandidateName == null) - return null; - return (HTMLElementDeclaration) collection.getNamedItem(primaryCandidateName); - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public abstract String getTypeName(); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinitionFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinitionFactory.java deleted file mode 100644 index 2a682f9706..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ComplexTypeDefinitionFactory.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -/** - * Factory of ComplexTypeDefinition. - */ -final class ComplexTypeDefinitionFactory { - - private static ComplexTypeDefinitionFactory instance = null; - private java.util.Hashtable definitions = null; - // constants for complex type name - /** for ADDRESS. */ - public final static String CTYPE_ADDRESS = "CTYPE_ADDRESS";//$NON-NLS-1$ - /** CDATA content. No ComplexTypeDefinition instance shuld be created. */ - public final static String CTYPE_CDATA = "CTYPE_CDATA";//$NON-NLS-1$ - /** col group content. COL* */ - public final static String CTYPE_COLUMN_GROUP = "CTYPE_COLUMN_GROUP";//$NON-NLS-1$ - /** for DL. */ - public final static String CTYPE_DEFINITION_LIST = "CTYPE_DEFINITION_LIST";//$NON-NLS-1$ - /** for EMBED. */ - public final static String CTYPE_EMBED = "CTYPE_EMBED";//$NON-NLS-1$ - /** empty content. No ComplexTypeDefinition instance should be created. */ - public final static String CTYPE_EMPTY = "CTYPE_EMPTY";//$NON-NLS-1$ - /** for FIELDSET. */ - public final static String CTYPE_FIELDSET = "CTYPE_FIELDSET";//$NON-NLS-1$ - /** for FRAMESET. */ - public final static String CTYPE_FRAMESET = "CTYPE_FRAMESET";//$NON-NLS-1$ - /** flow content. (%flow;)* */ - public final static String CTYPE_FLOW_CONTAINER = "CTYPE_FLOW_CONTAINER";//$NON-NLS-1$ - /** html content. HEAD, (FRAMESET|BODY) */ - public final static String CTYPE_HTML = "CTYPE_HTML";//$NON-NLS-1$ - /** head content. TITLE & ISINDEX? & BASE? */ - public final static String CTYPE_HEAD = "CTYPE_HEAD";//$NON-NLS-1$ - /** inline content. (%inline;)* */ - public final static String CTYPE_INLINE_CONTAINER = "CTYPE_INLINE_CONTAINER";//$NON-NLS-1$ - /** list item container. (LI)+ */ - public final static String CTYPE_LI_CONTAINER = "CTYPE_LI_CONTAINER";//$NON-NLS-1$ - /** for MAP. */ - public final static String CTYPE_MAP = "CTYPE_MAP";//$NON-NLS-1$ - /** noframes content. */ - public final static String CTYPE_NOFRAMES_CONTENT = "CTYPE_NOFRAMES_CONTENT";//$NON-NLS-1$ - /** for OPTGROUP. */ - public final static String CTYPE_OPTION_CONTAINER = "CTYPE_OPTION_CONTAINER";//$NON-NLS-1$ - /** param container. For OBJECT/APPLET. */ - public final static String CTYPE_PARAM_CONTAINER = "CTYPE_PARAM_CONTAINER";//$NON-NLS-1$ - /** PCDATA content. No ComplexTypeDefinition instance shuld be created. */ - public final static String CTYPE_PCDATA = "CTYPE_PCDATA";//$NON-NLS-1$ - /** for SELECT. */ - public final static String CTYPE_SELECT = "CTYPE_SELECT";//$NON-NLS-1$ - /** table content. CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+ */ - public final static String CTYPE_TABLE = "CTYPE_TABLE";//$NON-NLS-1$ - /** table cell contaier. (TH|TD)+ */ - public final static String CTYPE_TCELL_CONTAINER = "CTYPE_TCELL_CONTAINER";//$NON-NLS-1$ - /** table record container. (TR)+ */ - public final static String CTYPE_TR_CONTAINER = "CTYPE_TR_CONTAINER";//$NON-NLS-1$ - - /** - * ComplexTypeDefinitionFactory constructor comment. - */ - private ComplexTypeDefinitionFactory() { - super(); - definitions = new java.util.Hashtable(); - } - - /** - * Factory method for ComplexTypeDefinition. - * Each instance created in this method must be registered into - * the map with its name. - * @param definitionName java.lang.String - * @param elementCollection ElementCollection - */ - public ComplexTypeDefinition createTypeDefinition(String definitionName, ElementCollection elementCollection) { - if (definitions.containsKey(definitionName)) { - return (ComplexTypeDefinition) definitions.get(definitionName); - } - - ComplexTypeDefinition def = null; - if (definitionName == CTYPE_ADDRESS) { - def = new CtdAddress(elementCollection); - - } - else if (definitionName == CTYPE_DEFINITION_LIST) { - def = new CtdDl(elementCollection); - - } - else if (definitionName == CTYPE_FLOW_CONTAINER) { - def = new CtdFlowContainer(elementCollection); - - } - else if (definitionName == CTYPE_HEAD) { - def = new CtdHead(elementCollection); - - } - else if (definitionName == CTYPE_HTML) { - def = new CtdHtml(elementCollection); - - } - else if (definitionName == CTYPE_INLINE_CONTAINER) { - def = new CtdInlineContainer(elementCollection); - - } - else if (definitionName == CTYPE_LI_CONTAINER) { - def = new CtdLiContainer(elementCollection); - - - } - else if (definitionName == CTYPE_OPTION_CONTAINER) { - def = new CtdOptionContainer(elementCollection); - - } - else if (definitionName == CTYPE_SELECT) { - def = new CtdSelect(elementCollection); - - } - else { - def = null; - } - if (def == null) - return null; // fail to create. - definitions.put(definitionName, def); - return def; - } - - /** - * For singleton.<br> - */ - public synchronized static ComplexTypeDefinitionFactory getInstance() { - if (instance != null) - return instance; - instance = new ComplexTypeDefinitionFactory(); - return instance; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdAddress.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdAddress.java deleted file mode 100644 index 4ad13c025b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdAddress.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -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; - -/** - * for ADDRESS. - */ -final class CtdAddress extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdAddress(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * ((%inline) | P)*. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )* - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - // (%inline) - CMGroupImpl inlines = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (inlines == null) - return; - collection.getInline(inlines); - content.appendChild(inlines); - // P - CMNode p = collection.getNamedItem(CHTMLNamespace.ElementName.P); - if (p != null) - content.appendChild(p); - } - - /** - * ((%inline) | P)*. - * Because %inline; contains #PCDATA, the type is MIXED. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_ADDRESS; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdDl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdDl.java deleted file mode 100644 index c0abf8afb4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdDl.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -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; - -/** - * for DL. - */ -final class CtdDl extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdDl(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.DT; - } - - /** - * (DT | DD)+ - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // DT - CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.DT); - if (dec != null) - content.appendChild(dec); - // DD - dec = collection.getNamedItem(CHTMLNamespace.ElementName.DD); - if (dec != null) - content.appendChild(dec); - } - - /** - * (DT | DD)+. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdFlowContainer.java deleted file mode 100644 index a198d74ec4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdFlowContainer.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * Complex type definition for containers of <code>%flow;</code>. - */ -final class CtdFlowContainer extends ComplexTypeDefinition { - - /** - */ - public CtdFlowContainer(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (%flow;)* - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - collection.getFlow(content); - } - - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHead.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHead.java deleted file mode 100644 index 9af78c671d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHead.java +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -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; - -/** - * Complex type definition for the head content. - * Content Model: (TITLE & ISINDEX? & BASE?) - */ -final class CtdHead extends ComplexTypeDefinition { - - /** - */ - public CtdHead(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.TITLE; - } - - /** - * for HEAD. - * To avoid using inclusion, the content model comes from the XHTML 1.0. - * - * (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;)))) - * And %head.misc; is: - * (script|style|meta|link|object|isindex)* - * - * 0: (%head.misc, A) - * A: (B | C) - * B: (title, %head.misc;, D) - * C: (base, %head.misc;, E) - * D: (base, %head.misc;)? - * E: (title, %head.misc;) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // At 1st, create %head.misc; content. - // %head.misc; - // ( | )* - CMGroupImpl misc = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - if (misc == null) - return; - String[] names = {CHTMLNamespace.ElementName.META,}; - collection.getDeclarations(misc, Arrays.asList(names).iterator()); - // 2nd, get a title - CMNode title = collection.getNamedItem(CHTMLNamespace.ElementName.TITLE); - // 3rd, get a base - CMNode base = collection.getNamedItem(CHTMLNamespace.ElementName.BASE); - if (title == null || base == null) - return; - - // Top level content is a sequence of %head.misc; and A. - // 0: (%head.misc;, A) - // create a sequence - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (content == null) - return; - // append %head.misc; - content.appendChild(misc); - // create A and append it to the top level. - { - // A is a choice of B and C. - // A: (B | C) - // create a choice - CMGroupImpl gA = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (gA == null) - return; - // append A to the top level. - content.appendChild(gA); - - // create B and append it to A - { - // B is a sequence of title, %head.misc;, and D. - // B: (title, %head.misc;, D) - // create a sequence - CMGroupImpl gB = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gB == null) - return; - // append B to A. - gA.appendChild(gB); - - // append title to B - gB.appendChild(title); - // append %head.misc; to B - gB.appendChild(misc); - // create D and append it to B. - { - // D is a sequence of base, %head.misc;. - // D: (base, %head.misc;)? - // create a sequence - CMGroupImpl gD = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (gD == null) - return; - // append D to B. - gB.appendChild(gD); - - // append base to D - gD.appendChild(base); - // append %head.misc; to D. - gD.appendChild(misc); - } - } - // create C and append it to A - { - // C is a sequence of base, %head.misc;, and E - // C: (base, %head.misc;, E) - // create a sequence - CMGroupImpl gC = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gC == null) - return; - // append C to A. - gA.appendChild(gC); - - // append base to C - gC.appendChild(base); - // append %head.misc; to C - gC.appendChild(misc); - - // create E and append it to C. - { - // E is a sequence of title and %head.misc;. - // E: (title, %head.misc;) - // create a sequence - CMGroupImpl gE = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gE == null) - return; - // append E to C. - gC.appendChild(gE); - - // append title to E - gE.appendChild(title); - // append %head.misc; to E. - gE.appendChild(misc); - } - } - } - } - - /** - * Element content.<br> - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_HEAD; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHtml.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHtml.java deleted file mode 100644 index cf4fe4ae30..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdHtml.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -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; - -/** - * Complex type definition for <code>HTML</code>.<br> - * Content Model: - * HEAD, (FRAMESET|BODY)<br> - */ -final class CtdHtml extends ComplexTypeDefinition { - - /** - */ - public CtdHtml(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.HEAD; - } - - /** - * (%html.content;). - * %html.content; is HEAD, (FRAMESET | BODY). - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( ) - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (content == null) - return; - - // HEAD - CMNode edec = collection.getNamedItem(CHTMLNamespace.ElementName.HEAD); - if (edec != null) - content.appendChild(edec); - - // ( | ) - CMGroupImpl group = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - content.appendChild(group); - - // FRAMESET, BODY - String[] names = {CHTMLNamespace.ElementName.BODY}; - collection.getDeclarations(group, Arrays.asList(names).iterator()); - } - - /** - * Element content. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_HTML; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdInlineContainer.java deleted file mode 100644 index ed234aadae..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdInlineContainer.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * Complex type definition for (%inline;)*. - */ -final class CtdInlineContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdInlineContainer(ElementCollection elementCollection) { - super(elementCollection); - } - - /** - * (%inline)*. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - collection.getInline(content); - } - - public int getContentType() { - return CMElementDeclaration.MIXED; - } - - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdLiContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdLiContainer.java deleted file mode 100644 index b28956ef73..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdLiContainer.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -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; - -/** - * List item container. - * (LI)+ - */ -final class CtdLiContainer extends ComplexTypeDefinition { - - /** - * @param elemenCollection ElementCollection - */ - public CtdLiContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.LI; - } - - /** - * (LI)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // (LI)+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - CMNode li = collection.getNamedItem(CHTMLNamespace.ElementName.LI); - if (li != null) - content.appendChild(li); - } - - /** - * ELEMENT content.<br> - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdOptionContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdOptionContainer.java deleted file mode 100644 index c2ec6c535f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdOptionContainer.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -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; - -/** - * OPTION container. - * (OPTION)+ - */ -final class CtdOptionContainer extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdOptionContainer(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.OPTION; - } - - /** - * (OPTION)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( )+ - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED); - // OPTION - CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.OPTION); - if (dec != null) - content.appendChild(dec); - } - - /** - * (OPTION)+ - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_OPTION_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdSelect.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdSelect.java deleted file mode 100644 index 7f0c96c0c8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/CtdSelect.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -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; - -/** - * for SELECT. - */ -final class CtdSelect extends ComplexTypeDefinition { - - /** - * @param elementCollection ElementCollection - */ - public CtdSelect(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = CHTMLNamespace.ElementName.OPTION; - } - - /** - * (OPTGROUP | OPTION)+. - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // ( | )+ - content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); - // OPTION - CMNode dec = collection.getNamedItem(CHTMLNamespace.ElementName.OPTION); - if (dec != null) - content.appendChild(dec); - } - - /** - * (OPTGROUP | OPTION)+. - * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, - * those are defined in CMElementDeclaration. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_SELECT; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/DeclCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/DeclCollection.java deleted file mode 100644 index af90b74336..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/DeclCollection.java +++ /dev/null @@ -1,251 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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.chtml; - - - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Locale; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - */ -abstract class DeclCollection implements CMNamedNodeMap { - - - protected class DualMap { - public DualMap() { - super(); - } - - public DualMap(Object[] objects) { - super(); - initialize(objects); - } - - public int size() { - return table.length; - } - - public Object getValue(int key) { - if (!isValidIndex(key)) - return null; - return table[key]; - } - - public int getKey(Object value) { - Integer keyObj = (Integer) map.get(value); - if (keyObj == null) - return ID_UNKNOWN; - return keyObj.intValue(); - } - - protected void initialize(Object[] objects) { - if (objects == null) - return; - table = objects; - map = new HashMap(); - for (int key = 0; key < objects.length; key++) { - Object value = table[key]; - map.put(value, new Integer(key)); - } - } - - private Object[] table = null; - private HashMap map = null; - - private boolean isValidIndex(int index) { - return index >= 0 && index < table.length; - } - } - - protected class TolerantStringDualMap extends DualMap { - public TolerantStringDualMap(String[] names) { - super(); - Object[] objects = new Object[names.length]; - for (int i = 0; i < names.length; i++) { - objects[i] = makeCanonicalForm(names[i]); - } - initialize(objects); - } - - public int getKey(Object value) { - try { - String name = (String) value; - return super.getKey(makeCanonicalForm(name)); - } - catch (ClassCastException e) { - return ID_UNKNOWN; - } - } - - private String makeCanonicalForm(String raw) { - // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=100152 - // we are able to "cheat" here a little and use US Locale - // to get a good cononical form, since we are using this only - // for HTML and JSP standard tags. - // Long term, for similar needs with XML 1.1 (for example) - // we should use a class such as com.ibm.icu.text.Normalizer - return raw.toUpperCase(Locale.US); - } - } - - private class DeclIterator implements Iterator { - public DeclIterator() { - maxid = fDecls.length - 1; - } - - public boolean hasNext() { - return id < maxid; - } - - public Object next() { - if (!hasNext()) - return null; - return item(++id); - } - - public void remove() { /* nothing should be done. */ - } - - private int id = -1; - private int maxid = -1; - } - - CMNode[] fDecls = null; - protected final static boolean STRICT_CASE = false; - protected final static boolean TOLERANT_CASE = true; - protected final static int ID_UNKNOWN = -1; - private DualMap fMap = null; - - /** - */ - public DeclCollection(String[] names, boolean tolerant) { - super(); - fDecls = new CMNode[names.length]; - if (tolerant) { - fMap = new TolerantStringDualMap(names); - } - else { - fMap = new DualMap(names); - } - } - - /** - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param id - * int - */ - protected abstract CMNode create(String name); - - /** - */ - public CMNamedNodeMap getDeclarations(String[] names) { - CMNamedNodeMapImpl map = new CMNamedNodeMapImpl(); - for (int i = 0; i < names.length; i++) { - String name = names[i]; - CMNode node = getNamedItem(name); - if (node == null) - continue; - map.putNamedItem(name, node); - } - return map; - } - - public void getDeclarations(CMGroupImpl group, Iterator names) { - while (names.hasNext()) { - String entityName = (String) names.next(); - CMNode dec = getNamedItem(entityName); - if (dec != null) - group.appendChild(dec); - } - } - - /** - * Map name to id. - * - * @return int - * @param name - * java.lang.String - */ - protected int getID(String name) { - return fMap.getKey(name); - } - - /** - * getLength method - * - * @return int - */ - public int getLength() { - return fDecls.length; - } - - /** - * @return java.lang.String - * @param id - * int - */ - protected String getName(int id) { - return (String) fMap.getValue(id); - } - - /** - * getNamedItem method - * - * @return CMNode - * @param name - * java.lang.String - */ - public CMNode getNamedItem(String name) { - int id = getID(name); - if (!isValidID(id)) - return null; - return item(id); - } - - /** - * @return boolean - * @param id - * int - */ - private boolean isValidID(int id) { - return id >= 0 && id < fDecls.length; - } - - /** - * item method - * - * @return CMNode - * @param index - * int - */ - public CMNode item(int index) { - if (!isValidID(index)) - return null; - CMNode decl = fDecls[index]; - if (decl != null) - return decl; // already exist. - - decl = create(getName(index)); - fDecls[index] = decl; - return decl; - } - - /** - */ - public Iterator iterator() { - return new DeclIterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ElementCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ElementCollection.java deleted file mode 100644 index 8a80135eb5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/ElementCollection.java +++ /dev/null @@ -1,492 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.Collection; -import java.util.Vector; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Factory for element declarations. - */ -final class ElementCollection extends DeclCollection implements org.eclipse.wst.html.core.internal.provisional.HTML40Namespace.ElementName { - - - // Element IDs - private static class Ids { - public static final int ID_A = 0; - public static final int ID_ADDRESS = 1; - public static final int ID_BASE = 2; - public static final int ID_BLOCKQUOTE = 3; - public static final int ID_BODY = 4; - public static final int ID_BR = 5; - public static final int ID_CENTER = 6; - public static final int ID_DD = 7; - public static final int ID_DIR = 8; - public static final int ID_DIV = 9; - public static final int ID_DL = 10; - public static final int ID_DT = 11; - public static final int ID_FORM = 12; - public static final int ID_H1 = 13; - public static final int ID_H2 = 14; - public static final int ID_H3 = 15; - public static final int ID_H4 = 16; - public static final int ID_H5 = 17; - public static final int ID_H6 = 18; - public static final int ID_HEAD = 19; - public static final int ID_HR = 20; - public static final int ID_HTML = 21; - public static final int ID_IMG = 22; - public static final int ID_INPUT = 23; - public static final int ID_LI = 24; - public static final int ID_MENU = 25; - public static final int ID_META = 26; - public static final int ID_OL = 27; - public static final int ID_OPTION = 28; - public static final int ID_P = 29; - public static final int ID_PRE = 30; - public static final int ID_SELECT = 31; - public static final int ID_TEXTAREA = 32; - public static final int ID_TITLE = 33; - public static final int ID_UL = 34; - public static final int ID_SSI_CONFIG = 35; - public static final int ID_SSI_ECHO = 36; - public static final int ID_SSI_EXEC = 37; - public static final int ID_SSI_FSIZE = 38; - public static final int ID_SSI_FLASTMOD = 39; - public static final int ID_SSI_INCLUDE = 40; - public static final int ID_SSI_PRINTENV = 41; - public static final int ID_SSI_SET = 42; - - 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 = Ids.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - /** %formctl;. INPUT | SELECT | TEXTAREA */ - private static final String[] FORMCTL = {INPUT, SELECT, TEXTAREA}; - /** %phrase;. - * DFN - */ - private static final String[] PHRASE = {DFN}; - /** %special;. - * A | IMG | BR - */ - private static final String[] SPECIAL = {A, IMG, BR}; - /** %heading;. H[1-6] */ - private static final String[] HEADING = {H1, H2, H3, H4, H5, H6}; - /** %list;. UL | OL | DIR | MENU */ - private static final String[] LIST = {UL, OL, DIR, MENU}; - /** %preformatted;. PRE */ - private static final String[] PREFORMATTED = {PRE}; - private AttributeCollection attributeCollection = null; - private static String[] names = null; - - static { - names = new String[Ids.getNumOfIds()]; - names[Ids.ID_A] = A; - names[Ids.ID_ADDRESS] = ADDRESS; - names[Ids.ID_BASE] = BASE; - names[Ids.ID_BLOCKQUOTE] = BLOCKQUOTE; - names[Ids.ID_BODY] = BODY; - names[Ids.ID_BR] = BR; - names[Ids.ID_CENTER] = CENTER; - names[Ids.ID_DD] = DD; - names[Ids.ID_DIR] = DIR; - names[Ids.ID_DIV] = DIV; - names[Ids.ID_DL] = DL; - names[Ids.ID_DT] = DT; - names[Ids.ID_FORM] = FORM; - names[Ids.ID_H1] = H1; - names[Ids.ID_H2] = H2; - names[Ids.ID_H3] = H3; - names[Ids.ID_H4] = H4; - names[Ids.ID_H5] = H5; - names[Ids.ID_H6] = H6; - names[Ids.ID_HEAD] = HEAD; - names[Ids.ID_HR] = HR; - names[Ids.ID_HTML] = HTML; - names[Ids.ID_IMG] = IMG; - names[Ids.ID_INPUT] = INPUT; - names[Ids.ID_LI] = LI; - names[Ids.ID_MENU] = MENU; - names[Ids.ID_META] = META; - names[Ids.ID_OL] = OL; - names[Ids.ID_OPTION] = OPTION; - names[Ids.ID_P] = P; - names[Ids.ID_PRE] = PRE; - names[Ids.ID_SELECT] = SELECT; - names[Ids.ID_TEXTAREA] = TEXTAREA; - names[Ids.ID_TITLE] = TITLE; - names[Ids.ID_UL] = UL; - names[Ids.ID_SSI_CONFIG] = SSI_CONFIG; - names[Ids.ID_SSI_ECHO] = SSI_ECHO; - names[Ids.ID_SSI_EXEC] = SSI_EXEC; - names[Ids.ID_SSI_FSIZE] = SSI_FSIZE; - names[Ids.ID_SSI_FLASTMOD] = SSI_FLASTMOD; - names[Ids.ID_SSI_INCLUDE] = SSI_INCLUDE; - names[Ids.ID_SSI_PRINTENV] = SSI_PRINTENV; - names[Ids.ID_SSI_SET] = SSI_SET; - } - - /** - */ - public ElementCollection(AttributeCollection collection) { - super(names, TOLERANT_CASE); - attributeCollection = collection; - } - - /** - * Actually creates HTMLElementDeclaration instance. - * @return HTMLElementDeclaration - */ - protected CMNode create(String elementName) { - HTMLElemDeclImpl edec = null; - - if (elementName.equalsIgnoreCase(A)) { - edec = new HedA(this); - - } - else if (elementName.equalsIgnoreCase(ADDRESS)) { - edec = new HedADDRESS(this); - - } - else if (elementName.equalsIgnoreCase(BASE)) { - edec = new HedBASE(this); - - } - else if (elementName.equalsIgnoreCase(BLOCKQUOTE)) { - edec = new HedBLOCKQUOTE(this); - - } - else if (elementName.equalsIgnoreCase(BODY)) { - edec = new HedBODY(this); - - } - else if (elementName.equalsIgnoreCase(BR)) { - edec = new HedBR(this); - - } - else if (elementName.equalsIgnoreCase(CENTER)) { - edec = new HedCENTER(this); - - } - else if (elementName.equalsIgnoreCase(DD)) { - edec = new HedDD(this); - - } - else if (elementName.equalsIgnoreCase(DIR)) { - edec = new HedMENU(DIR, this); - - } - else if (elementName.equalsIgnoreCase(DIV)) { - edec = new HedDIV(this); - - } - else if (elementName.equalsIgnoreCase(DL)) { - edec = new HedDL(this); - - } - else if (elementName.equalsIgnoreCase(DT)) { - edec = new HedDT(this); - - } - else if (elementName.equalsIgnoreCase(FORM)) { - edec = new HedFORM(this); - - } - else if (elementName.equalsIgnoreCase(H1)) { - edec = new HedHeading(H1, this); - - } - else if (elementName.equalsIgnoreCase(H2)) { - edec = new HedHeading(H2, this); - - } - else if (elementName.equalsIgnoreCase(H3)) { - edec = new HedHeading(H3, this); - - } - else if (elementName.equalsIgnoreCase(H4)) { - edec = new HedHeading(H4, this); - - } - else if (elementName.equalsIgnoreCase(H5)) { - edec = new HedHeading(H5, this); - - } - else if (elementName.equalsIgnoreCase(H6)) { - edec = new HedHeading(H6, this); - - } - else if (elementName.equalsIgnoreCase(HEAD)) { - edec = new HedHEAD(this); - - } - else if (elementName.equalsIgnoreCase(HR)) { - edec = new HedHR(this); - - } - else if (elementName.equalsIgnoreCase(HTML)) { - edec = new HedHTML(this); - - } - else if (elementName.equalsIgnoreCase(IMG)) { - edec = new HedIMG(this); - - } - else if (elementName.equalsIgnoreCase(INPUT)) { - edec = new HedINPUT(this); - - } - else if (elementName.equalsIgnoreCase(LI)) { - edec = new HedLI(this); - - } - else if (elementName.equalsIgnoreCase(MENU)) { - edec = new HedMENU(MENU, this); - - } - else if (elementName.equalsIgnoreCase(META)) { - edec = new HedMETA(this); - - } - else if (elementName.equalsIgnoreCase(OL)) { - edec = new HedOL(this); - - } - else if (elementName.equalsIgnoreCase(OPTION)) { - edec = new HedOPTION(this); - - } - else if (elementName.equalsIgnoreCase(P)) { - edec = new HedP(this); - - } - else if (elementName.equalsIgnoreCase(PRE)) { - edec = new HedPRE(this); - - } - else if (elementName.equalsIgnoreCase(SELECT)) { - edec = new HedSELECT(this); - - } - else if (elementName.equalsIgnoreCase(TEXTAREA)) { - edec = new HedTEXTAREA(this); - - } - else if (elementName.equalsIgnoreCase(TITLE)) { - edec = new HedTITLE(this); - - } - else if (elementName.equalsIgnoreCase(UL)) { - edec = new HedUL(this); - - } - else if (elementName.equalsIgnoreCase(SSI_CONFIG)) { - edec = new HedSSIConfig(this); - - } - else if (elementName.equalsIgnoreCase(SSI_ECHO)) { - edec = new HedSSIEcho(this); - - } - else if (elementName.equalsIgnoreCase(SSI_EXEC)) { - edec = new HedSSIExec(this); - - } - else if (elementName.equalsIgnoreCase(SSI_FSIZE)) { - edec = new HedSSIFsize(this); - - } - else if (elementName.equalsIgnoreCase(SSI_FLASTMOD)) { - edec = new HedSSIFlastmod(this); - - } - else if (elementName.equalsIgnoreCase(SSI_INCLUDE)) { - edec = new HedSSIInclude(this); - - } - else if (elementName.equalsIgnoreCase(SSI_PRINTENV)) { - edec = new HedSSIPrintenv(this); - - } - else if (elementName.equalsIgnoreCase(SSI_SET)) { - edec = new HedSSISet(this); - - } // unknown - else { - // NOTE: We don't define the UNKNOWN element declaration. - // <code>null</code> for a declaration is a sign of - // the target element is unknown. - // -- 3/9/2001 - edec = null; - } - return edec; - } - - public AttributeCollection getAttributeCollection() { - return attributeCollection; - } - - /** - */ - public final Collection getNamesOfBlock() { - // P | %list | %preformatted | DL | DIV | CENTER | BLOCKQUOTE | FORM | HR - String[] blockMisc = {P, DL, DIV, CENTER, BLOCKQUOTE, FORM, HR,}; - Vector blockNames = new Vector(Arrays.asList(blockMisc)); - // %heading; - blockNames.addAll(Arrays.asList(HEADING)); - // %list; - blockNames.addAll(Arrays.asList(LIST)); - // %preformatted; - blockNames.addAll(Arrays.asList(PREFORMATTED)); - - return blockNames; - } - - /** - * %block;. - * %block; is: - * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | - * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | - * TABLE | FIELDSET | ADDRESS.<br> - * @param group CMGroupImpl Return values. - */ - public final void getBlock(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, getNamesOfBlock().iterator()); - } - - /** - * Create element declarations and store them - * into a <code>CMGroupImpl</code> instance. - * @param group CMGroupImpl Return values. - */ - public final void getFlow(CMGroupImpl group) { - if (group == null) - return; - getBlock(group); - getInline(group); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getFontstyle(CMGroupImpl group) { - return; - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getFormctrl(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(FORMCTL).iterator()); - } - - /** - * %heading;. - * @param group CMGroupImpl Return values. - */ - public final void getHeading(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(HEADING).iterator()); - } - - /** - * Create element declarations and store them - * into a <code>CMGroupImpl</code> instance. - * @param group CMGroupImpl Return values. - */ - public final void getInline(CMGroupImpl group) { - if (group == null) - return; - getFontstyle(group); - getPhrase(group); - getSpecial(group); - getFormctrl(group); - } - - /** - * %list;. - * @param group CMGroupImpl Return values. - */ - public final void getList(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(LIST).iterator()); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getPhrase(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(PHRASE).iterator()); - } - - /** - * %preformatted; - * @param group CMGroupImpl Return values. - */ - public final void getPreformatted(CMGroupImpl group) { - if (group == null) - return; - - getDeclarations(group, Arrays.asList(PREFORMATTED).iterator()); - } - - /** - * Create element declarations and store them into a <code>CMGroupImpl</code> - * instance.<br> - * @param group CMGroupImpl Return values. - */ - public final void getSpecial(CMGroupImpl group) { - if (group == null) - return; - getDeclarations(group, Arrays.asList(SPECIAL).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/EntityCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/EntityCollection.java deleted file mode 100644 index 4f371fc77d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/EntityCollection.java +++ /dev/null @@ -1,837 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.lang.reflect.Field; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Factory for entity declarations. - */ -final class EntityCollection extends DeclCollection implements org.eclipse.wst.html.core.internal.provisional.HTML40Namespace.EntityName { - - - private static class Ids { - public static final int ID_AACUTE_L = 0; - public static final int ID_AACUTE_U = 1; - public static final int ID_ACIRC_L = 2; - public static final int ID_ACIRC_U = 3; - public static final int ID_ACUTE = 4; - public static final int ID_AELIG_L = 5; - public static final int ID_AELIG_U = 6; - public static final int ID_AGRAVE_L = 7; - public static final int ID_AGRAVE_U = 8; - public static final int ID_ALEFSYM = 9; - public static final int ID_ALPHA_L = 10; - public static final int ID_ALPHA_U = 11; - public static final int ID_AMP = 12; - public static final int ID_AND = 13; - public static final int ID_ANG = 14; - public static final int ID_ARING_L = 15; - public static final int ID_ARING_U = 16; - public static final int ID_ASYMP = 17; - public static final int ID_ATILDE_L = 18; - public static final int ID_ATILDE_U = 19; - public static final int ID_AUML_L = 20; - public static final int ID_AUML_U = 21; - public static final int ID_BDQUO = 22; - public static final int ID_BETA_L = 23; - public static final int ID_BETA_U = 24; - public static final int ID_BRVBAR = 25; - public static final int ID_BULL = 26; - public static final int ID_CAP = 27; - public static final int ID_CCEDIL_L = 28; - public static final int ID_CCEDIL_U = 29; - public static final int ID_CEDIL = 30; - public static final int ID_CENT = 31; - public static final int ID_CHI_L = 32; - public static final int ID_CHI_U = 33; - public static final int ID_CIRC = 34; - public static final int ID_CLUBS = 35; - public static final int ID_CONG = 36; - public static final int ID_COPY = 37; - public static final int ID_CRARR = 38; - public static final int ID_CUP = 39; - public static final int ID_CURREN = 40; - public static final int ID_DAGGER_L = 41; - public static final int ID_DAGGER_U = 42; - public static final int ID_DARR_L = 43; - public static final int ID_DARR_U = 44; - public static final int ID_DEG = 45; - public static final int ID_DELTA_L = 46; - public static final int ID_DELTA_U = 47; - public static final int ID_DIAMS = 48; - public static final int ID_DIVIDE = 49; - public static final int ID_EACUTE_L = 50; - public static final int ID_EACUTE_U = 51; - public static final int ID_ECIRC_L = 52; - public static final int ID_ECIRC_U = 53; - public static final int ID_EGRAVE_L = 54; - public static final int ID_EGRAVE_U = 55; - public static final int ID_EMPTY = 56; - public static final int ID_EMSP = 57; - public static final int ID_ENSP = 58; - public static final int ID_EPSILON_L = 59; - public static final int ID_EPSILON_U = 60; - public static final int ID_EQUIV = 61; - public static final int ID_ETA_L = 62; - public static final int ID_ETA_U = 63; - public static final int ID_ETH_L = 64; - public static final int ID_ETH_U = 65; - public static final int ID_EUML_L = 66; - public static final int ID_EUML_U = 67; - public static final int ID_EURO = 68; - public static final int ID_EXIST = 69; - public static final int ID_FNOF = 70; - public static final int ID_FORALL = 71; - public static final int ID_FRAC12 = 72; - public static final int ID_FRAC14 = 73; - public static final int ID_FRAC34 = 74; - public static final int ID_FRASL = 75; - public static final int ID_GAMMA_L = 76; - public static final int ID_GAMMA_U = 77; - public static final int ID_GE = 78; - public static final int ID_GT = 79; - public static final int ID_HARR_L = 80; - public static final int ID_HARR_U = 81; - public static final int ID_HEARTS = 82; - public static final int ID_HELLIP = 83; - public static final int ID_IACUTE_L = 84; - public static final int ID_IACUTE_U = 85; - public static final int ID_ICIRC_L = 86; - public static final int ID_ICIRC_U = 87; - public static final int ID_IEXCL = 88; - public static final int ID_IGRAVE_L = 89; - public static final int ID_IGRAVE_U = 90; - public static final int ID_IMAGE = 91; - public static final int ID_INFIN = 92; - public static final int ID_INT = 93; - public static final int ID_IOTA_L = 94; - public static final int ID_IOTA_U = 95; - public static final int ID_IQUEST = 96; - public static final int ID_ISIN = 97; - public static final int ID_IUML_L = 98; - public static final int ID_IUML_U = 99; - public static final int ID_KAPPA_L = 100; - public static final int ID_KAPPA_U = 101; - public static final int ID_LAMBDA_L = 102; - public static final int ID_LAMBDA_U = 103; - public static final int ID_LANG = 104; - public static final int ID_LAQUO = 105; - public static final int ID_LARR_L = 106; - public static final int ID_LARR_U = 107; - public static final int ID_LCEIL = 108; - public static final int ID_LDQUO = 109; - public static final int ID_LE = 110; - public static final int ID_LFLOOR = 111; - public static final int ID_LOWAST = 112; - public static final int ID_LOZ = 113; - public static final int ID_LRM = 114; - public static final int ID_LSAQUO = 115; - public static final int ID_LSQUO = 116; - public static final int ID_LT = 117; - public static final int ID_MACR = 118; - public static final int ID_MDASH = 119; - public static final int ID_MICRO = 120; - public static final int ID_MIDDOT = 121; - public static final int ID_MINUS = 122; - public static final int ID_MU_L = 123; - public static final int ID_MU_U = 124; - public static final int ID_NABLA = 125; - public static final int ID_NBSP = 126; - public static final int ID_NDASH = 127; - public static final int ID_NE = 128; - public static final int ID_NI = 129; - public static final int ID_NOT = 130; - public static final int ID_NOTIN = 131; - public static final int ID_NSUB = 132; - public static final int ID_NTILDE_L = 133; - public static final int ID_NTILDE_U = 134; - public static final int ID_NU_L = 135; - public static final int ID_NU_U = 136; - public static final int ID_OACUTE_L = 137; - public static final int ID_OACUTE_U = 138; - public static final int ID_OCIRC_L = 139; - public static final int ID_OCIRC_U = 140; - public static final int ID_OELIG_L = 141; - public static final int ID_OELIG_U = 142; - public static final int ID_OGRAVE_L = 143; - public static final int ID_OGRAVE_U = 144; - public static final int ID_OLINE = 145; - public static final int ID_OMEGA_L = 146; - public static final int ID_OMEGA_U = 147; - public static final int ID_OMICRON_L = 148; - public static final int ID_OMICRON_U = 149; - public static final int ID_OPLUS = 150; - public static final int ID_OR = 151; - public static final int ID_ORDF = 152; - public static final int ID_ORDM = 153; - public static final int ID_OSLASH_L = 154; - public static final int ID_OSLASH_U = 155; - public static final int ID_OTILDE_L = 156; - public static final int ID_OTILDE_U = 157; - public static final int ID_OTIMES = 158; - public static final int ID_OUML_L = 159; - public static final int ID_OUML_U = 160; - public static final int ID_PARA = 161; - public static final int ID_PART = 162; - public static final int ID_PERMIL = 163; - public static final int ID_PERP = 164; - public static final int ID_PHI_L = 165; - public static final int ID_PHI_U = 166; - public static final int ID_PIV = 167; - public static final int ID_PI_L = 168; - public static final int ID_PI_U = 169; - public static final int ID_PLUSMN = 170; - public static final int ID_POUND = 171; - public static final int ID_PRIME_L = 172; - public static final int ID_PRIME_U = 173; - public static final int ID_PROD = 174; - public static final int ID_PROP = 175; - public static final int ID_PSI_L = 176; - public static final int ID_PSI_U = 177; - public static final int ID_QUOT = 178; - public static final int ID_RADIC = 179; - public static final int ID_RANG = 180; - public static final int ID_RAQUO = 181; - public static final int ID_RARR_L = 182; - public static final int ID_RARR_U = 183; - public static final int ID_RCEIL = 184; - public static final int ID_RDQUO = 185; - public static final int ID_REAL = 186; - public static final int ID_REG = 187; - public static final int ID_RFLOOR = 188; - public static final int ID_RHO_L = 189; - public static final int ID_RHO_U = 190; - public static final int ID_RLM = 191; - public static final int ID_RSAQUO = 192; - public static final int ID_RSQUO = 193; - public static final int ID_SBQUO = 194; - public static final int ID_SCARON_L = 195; - public static final int ID_SCARON_U = 196; - public static final int ID_SDOT = 197; - public static final int ID_SECT = 198; - public static final int ID_SHY = 199; - public static final int ID_SIGMAF = 200; - public static final int ID_SIGMA_L = 201; - public static final int ID_SIGMA_U = 202; - public static final int ID_SIM = 203; - public static final int ID_SPADES = 204; - public static final int ID_SUB = 205; - public static final int ID_SUBE = 206; - public static final int ID_SUM = 207; - public static final int ID_SUP = 208; - public static final int ID_SUP1 = 209; - public static final int ID_SUP2 = 210; - public static final int ID_SUP3 = 211; - public static final int ID_SUPE = 212; - public static final int ID_SZLIG = 213; - public static final int ID_TAU_L = 214; - public static final int ID_TAU_U = 215; - public static final int ID_THERE4 = 216; - public static final int ID_THETASYM = 217; - public static final int ID_THETA_L = 218; - public static final int ID_THETA_U = 219; - public static final int ID_THINSP = 220; - public static final int ID_THORN_L = 221; - public static final int ID_THORN_U = 222; - public static final int ID_TILDE = 223; - public static final int ID_TIMES = 224; - public static final int ID_TRADE = 225; - public static final int ID_UACUTE_L = 226; - public static final int ID_UACUTE_U = 227; - public static final int ID_UARR_L = 228; - public static final int ID_UARR_U = 229; - public static final int ID_UCIRC_L = 230; - public static final int ID_UCIRC_U = 231; - public static final int ID_UGRAVE_L = 232; - public static final int ID_UGRAVE_U = 233; - public static final int ID_UML = 234; - public static final int ID_UPSIH = 235; - public static final int ID_UPSILON_L = 236; - public static final int ID_UPSILON_U = 237; - public static final int ID_UUML_L = 238; - public static final int ID_UUML_U = 239; - public static final int ID_WEIERP = 240; - public static final int ID_XI_L = 241; - public static final int ID_XI_U = 242; - public static final int ID_YACUTE_L = 243; - public static final int ID_YACUTE_U = 244; - public static final int ID_YEN = 245; - public static final int ID_YUML_L = 246; - public static final int ID_YUML_U = 247; - public static final int ID_ZETA_L = 248; - public static final int ID_ZETA_U = 249; - public static final int ID_ZWJ = 250; - public static final int ID_ZWNJ = 251; - - 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 252. - // -- 5/24/2001 - Class clazz = Ids.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; - } - - // chache the result of the reflection. - private static int numofids = -1; - } - - private static String[] names = null; - - static { - names = new String[Ids.getNumOfIds()]; - names[Ids.ID_AACUTE_L] = AACUTE_L; - names[Ids.ID_AACUTE_U] = AACUTE_U; - names[Ids.ID_ACIRC_L] = ACIRC_L; - names[Ids.ID_ACIRC_U] = ACIRC_U; - names[Ids.ID_ACUTE] = ACUTE; - names[Ids.ID_AELIG_L] = AELIG_L; - names[Ids.ID_AELIG_U] = AELIG_U; - names[Ids.ID_AGRAVE_L] = AGRAVE_L; - names[Ids.ID_AGRAVE_U] = AGRAVE_U; - names[Ids.ID_ALEFSYM] = ALEFSYM; - names[Ids.ID_ALPHA_L] = ALPHA_L; - names[Ids.ID_ALPHA_U] = ALPHA_U; - names[Ids.ID_AMP] = AMP; - names[Ids.ID_AND] = AND; - names[Ids.ID_ANG] = ANG; - names[Ids.ID_ARING_L] = ARING_L; - names[Ids.ID_ARING_U] = ARING_U; - names[Ids.ID_ASYMP] = ASYMP; - names[Ids.ID_ATILDE_L] = ATILDE_L; - names[Ids.ID_ATILDE_U] = ATILDE_U; - names[Ids.ID_AUML_L] = AUML_L; - names[Ids.ID_AUML_U] = AUML_U; - names[Ids.ID_BDQUO] = BDQUO; - names[Ids.ID_BETA_L] = BETA_L; - names[Ids.ID_BETA_U] = BETA_U; - names[Ids.ID_BRVBAR] = BRVBAR; - names[Ids.ID_BULL] = BULL; - names[Ids.ID_CAP] = CAP; - names[Ids.ID_CCEDIL_L] = CCEDIL_L; - names[Ids.ID_CCEDIL_U] = CCEDIL_U; - names[Ids.ID_CEDIL] = CEDIL; - names[Ids.ID_CENT] = CENT; - names[Ids.ID_CHI_L] = CHI_L; - names[Ids.ID_CHI_U] = CHI_U; - names[Ids.ID_CIRC] = CIRC; - names[Ids.ID_CLUBS] = CLUBS; - names[Ids.ID_CONG] = CONG; - names[Ids.ID_COPY] = COPY; - names[Ids.ID_CRARR] = CRARR; - names[Ids.ID_CUP] = CUP; - names[Ids.ID_CURREN] = CURREN; - names[Ids.ID_DAGGER_L] = DAGGER_L; - names[Ids.ID_DAGGER_U] = DAGGER_U; - names[Ids.ID_DARR_L] = DARR_L; - names[Ids.ID_DARR_U] = DARR_U; - names[Ids.ID_DEG] = DEG; - names[Ids.ID_DELTA_L] = DELTA_L; - names[Ids.ID_DELTA_U] = DELTA_U; - names[Ids.ID_DIAMS] = DIAMS; - names[Ids.ID_DIVIDE] = DIVIDE; - names[Ids.ID_EACUTE_L] = EACUTE_L; - names[Ids.ID_EACUTE_U] = EACUTE_U; - names[Ids.ID_ECIRC_L] = ECIRC_L; - names[Ids.ID_ECIRC_U] = ECIRC_U; - names[Ids.ID_EGRAVE_L] = EGRAVE_L; - names[Ids.ID_EGRAVE_U] = EGRAVE_U; - names[Ids.ID_EMPTY] = EMPTY; - names[Ids.ID_EMSP] = EMSP; - names[Ids.ID_ENSP] = ENSP; - names[Ids.ID_EPSILON_L] = EPSILON_L; - names[Ids.ID_EPSILON_U] = EPSILON_U; - names[Ids.ID_EQUIV] = EQUIV; - names[Ids.ID_ETA_L] = ETA_L; - names[Ids.ID_ETA_U] = ETA_U; - names[Ids.ID_ETH_L] = ETH_L; - names[Ids.ID_ETH_U] = ETH_U; - names[Ids.ID_EUML_L] = EUML_L; - names[Ids.ID_EUML_U] = EUML_U; - names[Ids.ID_EURO] = EURO; - names[Ids.ID_EXIST] = EXIST; - names[Ids.ID_FNOF] = FNOF; - names[Ids.ID_FORALL] = FORALL; - names[Ids.ID_FRAC12] = FRAC12; - names[Ids.ID_FRAC14] = FRAC14; - names[Ids.ID_FRAC34] = FRAC34; - names[Ids.ID_FRASL] = FRASL; - names[Ids.ID_GAMMA_L] = GAMMA_L; - names[Ids.ID_GAMMA_U] = GAMMA_U; - names[Ids.ID_GE] = GE; - names[Ids.ID_GT] = GT; - names[Ids.ID_HARR_L] = HARR_L; - names[Ids.ID_HARR_U] = HARR_U; - names[Ids.ID_HEARTS] = HEARTS; - names[Ids.ID_HELLIP] = HELLIP; - names[Ids.ID_IACUTE_L] = IACUTE_L; - names[Ids.ID_IACUTE_U] = IACUTE_U; - names[Ids.ID_ICIRC_L] = ICIRC_L; - names[Ids.ID_ICIRC_U] = ICIRC_U; - names[Ids.ID_IEXCL] = IEXCL; - names[Ids.ID_IGRAVE_L] = IGRAVE_L; - names[Ids.ID_IGRAVE_U] = IGRAVE_U; - names[Ids.ID_IMAGE] = IMAGE; - names[Ids.ID_INFIN] = INFIN; - names[Ids.ID_INT] = INT; - names[Ids.ID_IOTA_L] = IOTA_L; - names[Ids.ID_IOTA_U] = IOTA_U; - names[Ids.ID_IQUEST] = IQUEST; - names[Ids.ID_ISIN] = ISIN; - names[Ids.ID_IUML_L] = IUML_L; - names[Ids.ID_IUML_U] = IUML_U; - names[Ids.ID_KAPPA_L] = KAPPA_L; - names[Ids.ID_KAPPA_U] = KAPPA_U; - names[Ids.ID_LAMBDA_L] = LAMBDA_L; - names[Ids.ID_LAMBDA_U] = LAMBDA_U; - names[Ids.ID_LANG] = LANG; - names[Ids.ID_LAQUO] = LAQUO; - names[Ids.ID_LARR_L] = LARR_L; - names[Ids.ID_LARR_U] = LARR_U; - names[Ids.ID_LCEIL] = LCEIL; - names[Ids.ID_LDQUO] = LDQUO; - names[Ids.ID_LE] = LE; - names[Ids.ID_LFLOOR] = LFLOOR; - names[Ids.ID_LOWAST] = LOWAST; - names[Ids.ID_LOZ] = LOZ; - names[Ids.ID_LRM] = LRM; - names[Ids.ID_LSAQUO] = LSAQUO; - names[Ids.ID_LSQUO] = LSQUO; - names[Ids.ID_LT] = LT; - names[Ids.ID_MACR] = MACR; - names[Ids.ID_MDASH] = MDASH; - names[Ids.ID_MICRO] = MICRO; - names[Ids.ID_MIDDOT] = MIDDOT; - names[Ids.ID_MINUS] = MINUS; - names[Ids.ID_MU_L] = MU_L; - names[Ids.ID_MU_U] = MU_U; - names[Ids.ID_NABLA] = NABLA; - names[Ids.ID_NBSP] = NBSP; - names[Ids.ID_NDASH] = NDASH; - names[Ids.ID_NE] = NE; - names[Ids.ID_NI] = NI; - names[Ids.ID_NOT] = NOT; - names[Ids.ID_NOTIN] = NOTIN; - names[Ids.ID_NSUB] = NSUB; - names[Ids.ID_NTILDE_L] = NTILDE_L; - names[Ids.ID_NTILDE_U] = NTILDE_U; - names[Ids.ID_NU_L] = NU_L; - names[Ids.ID_NU_U] = NU_U; - names[Ids.ID_OACUTE_L] = OACUTE_L; - names[Ids.ID_OACUTE_U] = OACUTE_U; - names[Ids.ID_OCIRC_L] = OCIRC_L; - names[Ids.ID_OCIRC_U] = OCIRC_U; - names[Ids.ID_OELIG_L] = OELIG_L; - names[Ids.ID_OELIG_U] = OELIG_U; - names[Ids.ID_OGRAVE_L] = OGRAVE_L; - names[Ids.ID_OGRAVE_U] = OGRAVE_U; - names[Ids.ID_OLINE] = OLINE; - names[Ids.ID_OMEGA_L] = OMEGA_L; - names[Ids.ID_OMEGA_U] = OMEGA_U; - names[Ids.ID_OMICRON_L] = OMICRON_L; - names[Ids.ID_OMICRON_U] = OMICRON_U; - names[Ids.ID_OPLUS] = OPLUS; - names[Ids.ID_OR] = OR; - names[Ids.ID_ORDF] = ORDF; - names[Ids.ID_ORDM] = ORDM; - names[Ids.ID_OSLASH_L] = OSLASH_L; - names[Ids.ID_OSLASH_U] = OSLASH_U; - names[Ids.ID_OTILDE_L] = OTILDE_L; - names[Ids.ID_OTILDE_U] = OTILDE_U; - names[Ids.ID_OTIMES] = OTIMES; - names[Ids.ID_OUML_L] = OUML_L; - names[Ids.ID_OUML_U] = OUML_U; - names[Ids.ID_PARA] = PARA; - names[Ids.ID_PART] = PART; - names[Ids.ID_PERMIL] = PERMIL; - names[Ids.ID_PERP] = PERP; - names[Ids.ID_PHI_L] = PHI_L; - names[Ids.ID_PHI_U] = PHI_U; - names[Ids.ID_PIV] = PIV; - names[Ids.ID_PI_L] = PI_L; - names[Ids.ID_PI_U] = PI_U; - names[Ids.ID_PLUSMN] = PLUSMN; - names[Ids.ID_POUND] = POUND; - names[Ids.ID_PRIME_L] = PRIME_L; - names[Ids.ID_PRIME_U] = PRIME_U; - names[Ids.ID_PROD] = PROD; - names[Ids.ID_PROP] = PROP; - names[Ids.ID_PSI_L] = PSI_L; - names[Ids.ID_PSI_U] = PSI_U; - names[Ids.ID_QUOT] = QUOT; - names[Ids.ID_RADIC] = RADIC; - names[Ids.ID_RANG] = RANG; - names[Ids.ID_RAQUO] = RAQUO; - names[Ids.ID_RARR_L] = RARR_L; - names[Ids.ID_RARR_U] = RARR_U; - names[Ids.ID_RCEIL] = RCEIL; - names[Ids.ID_RDQUO] = RDQUO; - names[Ids.ID_REAL] = REAL; - names[Ids.ID_REG] = REG; - names[Ids.ID_RFLOOR] = RFLOOR; - names[Ids.ID_RHO_L] = RHO_L; - names[Ids.ID_RHO_U] = RHO_U; - names[Ids.ID_RLM] = RLM; - names[Ids.ID_RSAQUO] = RSAQUO; - names[Ids.ID_RSQUO] = RSQUO; - names[Ids.ID_SBQUO] = SBQUO; - names[Ids.ID_SCARON_L] = SCARON_L; - names[Ids.ID_SCARON_U] = SCARON_U; - names[Ids.ID_SDOT] = SDOT; - names[Ids.ID_SECT] = SECT; - names[Ids.ID_SHY] = SHY; - names[Ids.ID_SIGMAF] = SIGMAF; - names[Ids.ID_SIGMA_L] = SIGMA_L; - names[Ids.ID_SIGMA_U] = SIGMA_U; - names[Ids.ID_SIM] = SIM; - names[Ids.ID_SPADES] = SPADES; - names[Ids.ID_SUB] = SUB; - names[Ids.ID_SUBE] = SUBE; - names[Ids.ID_SUM] = SUM; - names[Ids.ID_SUP] = SUP; - names[Ids.ID_SUP1] = SUP1; - names[Ids.ID_SUP2] = SUP2; - names[Ids.ID_SUP3] = SUP3; - names[Ids.ID_SUPE] = SUPE; - names[Ids.ID_SZLIG] = SZLIG; - names[Ids.ID_TAU_L] = TAU_L; - names[Ids.ID_TAU_U] = TAU_U; - names[Ids.ID_THERE4] = THERE4; - names[Ids.ID_THETASYM] = THETASYM; - names[Ids.ID_THETA_L] = THETA_L; - names[Ids.ID_THETA_U] = THETA_U; - names[Ids.ID_THINSP] = THINSP; - names[Ids.ID_THORN_L] = THORN_L; - names[Ids.ID_THORN_U] = THORN_U; - names[Ids.ID_TILDE] = TILDE; - names[Ids.ID_TIMES] = TIMES; - names[Ids.ID_TRADE] = TRADE; - names[Ids.ID_UACUTE_L] = UACUTE_L; - names[Ids.ID_UACUTE_U] = UACUTE_U; - names[Ids.ID_UARR_L] = UARR_L; - names[Ids.ID_UARR_U] = UARR_U; - names[Ids.ID_UCIRC_L] = UCIRC_L; - names[Ids.ID_UCIRC_U] = UCIRC_U; - names[Ids.ID_UGRAVE_L] = UGRAVE_L; - names[Ids.ID_UGRAVE_U] = UGRAVE_U; - names[Ids.ID_UML] = UML; - names[Ids.ID_UPSIH] = UPSIH; - names[Ids.ID_UPSILON_L] = UPSILON_L; - names[Ids.ID_UPSILON_U] = UPSILON_U; - names[Ids.ID_UUML_L] = UUML_L; - names[Ids.ID_UUML_U] = UUML_U; - names[Ids.ID_WEIERP] = WEIERP; - names[Ids.ID_XI_L] = XI_L; - names[Ids.ID_XI_U] = XI_U; - names[Ids.ID_YACUTE_L] = YACUTE_L; - names[Ids.ID_YACUTE_U] = YACUTE_U; - names[Ids.ID_YEN] = YEN; - names[Ids.ID_YUML_L] = YUML_L; - names[Ids.ID_YUML_U] = YUML_U; - names[Ids.ID_ZETA_L] = ZETA_L; - names[Ids.ID_ZETA_U] = ZETA_U; - names[Ids.ID_ZWJ] = ZWJ; - names[Ids.ID_ZWNJ] = ZWNJ; - } - private static char[] values = null; - - static { - values = new char[Ids.getNumOfIds()]; - values[Ids.ID_AACUTE_L] = 225; - values[Ids.ID_AACUTE_U] = 193; - values[Ids.ID_ACIRC_L] = 226; - values[Ids.ID_ACIRC_U] = 194; - values[Ids.ID_ACUTE] = 180; - values[Ids.ID_AELIG_L] = 230; - values[Ids.ID_AELIG_U] = 198; - values[Ids.ID_AGRAVE_L] = 224; - values[Ids.ID_AGRAVE_U] = 192; - values[Ids.ID_ALEFSYM] = 8501; - values[Ids.ID_ALPHA_L] = 945; - values[Ids.ID_ALPHA_U] = 913; - values[Ids.ID_AMP] = 38; - values[Ids.ID_AND] = 8743; - values[Ids.ID_ANG] = 8736; - values[Ids.ID_ARING_L] = 229; - values[Ids.ID_ARING_U] = 197; - values[Ids.ID_ASYMP] = 8776; - values[Ids.ID_ATILDE_L] = 227; - values[Ids.ID_ATILDE_U] = 195; - values[Ids.ID_AUML_L] = 228; - values[Ids.ID_AUML_U] = 196; - values[Ids.ID_BDQUO] = 8222; - values[Ids.ID_BETA_L] = 946; - values[Ids.ID_BETA_U] = 914; - values[Ids.ID_BRVBAR] = 166; - values[Ids.ID_BULL] = 8226; - values[Ids.ID_CAP] = 8745; - values[Ids.ID_CCEDIL_L] = 231; - values[Ids.ID_CCEDIL_U] = 199; - values[Ids.ID_CEDIL] = 184; - values[Ids.ID_CENT] = 162; - values[Ids.ID_CHI_L] = 967; - values[Ids.ID_CHI_U] = 935; - values[Ids.ID_CIRC] = 710; - values[Ids.ID_CLUBS] = 9827; - values[Ids.ID_CONG] = 8773; - values[Ids.ID_COPY] = 169; - values[Ids.ID_CRARR] = 8629; - values[Ids.ID_CUP] = 8746; - values[Ids.ID_CURREN] = 164; - values[Ids.ID_DAGGER_L] = 8224; - values[Ids.ID_DAGGER_U] = 8225; - values[Ids.ID_DARR_L] = 8595; - values[Ids.ID_DARR_U] = 8659; - values[Ids.ID_DEG] = 176; - values[Ids.ID_DELTA_L] = 948; - values[Ids.ID_DELTA_U] = 916; - values[Ids.ID_DIAMS] = 9830; - values[Ids.ID_DIVIDE] = 247; - values[Ids.ID_EACUTE_L] = 233; - values[Ids.ID_EACUTE_U] = 201; - values[Ids.ID_ECIRC_L] = 234; - values[Ids.ID_ECIRC_U] = 202; - values[Ids.ID_EGRAVE_L] = 232; - values[Ids.ID_EGRAVE_U] = 200; - values[Ids.ID_EMPTY] = 8709; - values[Ids.ID_EMSP] = 8195; - values[Ids.ID_ENSP] = 8194; - values[Ids.ID_EPSILON_L] = 949; - values[Ids.ID_EPSILON_U] = 917; - values[Ids.ID_EQUIV] = 8801; - values[Ids.ID_ETA_L] = 951; - values[Ids.ID_ETA_U] = 919; - values[Ids.ID_ETH_L] = 240; - values[Ids.ID_ETH_U] = 208; - values[Ids.ID_EUML_L] = 235; - values[Ids.ID_EUML_U] = 203; - values[Ids.ID_EURO] = 8364; - values[Ids.ID_EXIST] = 8707; - values[Ids.ID_FNOF] = 402; - values[Ids.ID_FORALL] = 8704; - values[Ids.ID_FRAC12] = 189; - values[Ids.ID_FRAC14] = 188; - values[Ids.ID_FRAC34] = 190; - values[Ids.ID_FRASL] = 8260; - values[Ids.ID_GAMMA_L] = 947; - values[Ids.ID_GAMMA_U] = 915; - values[Ids.ID_GE] = 8805; - values[Ids.ID_GT] = 62; - values[Ids.ID_HARR_L] = 8596; - values[Ids.ID_HARR_U] = 8660; - values[Ids.ID_HEARTS] = 9829; - values[Ids.ID_HELLIP] = 8230; - values[Ids.ID_IACUTE_L] = 237; - values[Ids.ID_IACUTE_U] = 205; - values[Ids.ID_ICIRC_L] = 238; - values[Ids.ID_ICIRC_U] = 206; - values[Ids.ID_IEXCL] = 161; - values[Ids.ID_IGRAVE_L] = 236; - values[Ids.ID_IGRAVE_U] = 204; - values[Ids.ID_IMAGE] = 8465; - values[Ids.ID_INFIN] = 8734; - values[Ids.ID_INT] = 8747; - values[Ids.ID_IOTA_L] = 953; - values[Ids.ID_IOTA_U] = 921; - values[Ids.ID_IQUEST] = 191; - values[Ids.ID_ISIN] = 8712; - values[Ids.ID_IUML_L] = 239; - values[Ids.ID_IUML_U] = 207; - values[Ids.ID_KAPPA_L] = 954; - values[Ids.ID_KAPPA_U] = 922; - values[Ids.ID_LAMBDA_L] = 955; - values[Ids.ID_LAMBDA_U] = 923; - values[Ids.ID_LANG] = 9001; - values[Ids.ID_LAQUO] = 171; - values[Ids.ID_LARR_L] = 8592; - values[Ids.ID_LARR_U] = 8656; - values[Ids.ID_LCEIL] = 8968; - values[Ids.ID_LDQUO] = 8220; - values[Ids.ID_LE] = 8804; - values[Ids.ID_LFLOOR] = 8970; - values[Ids.ID_LOWAST] = 8727; - values[Ids.ID_LOZ] = 9674; - values[Ids.ID_LRM] = 8206; - values[Ids.ID_LSAQUO] = 8249; - values[Ids.ID_LSQUO] = 8216; - values[Ids.ID_LT] = 60; - values[Ids.ID_MACR] = 175; - values[Ids.ID_MDASH] = 8212; - values[Ids.ID_MICRO] = 181; - values[Ids.ID_MIDDOT] = 183; - values[Ids.ID_MINUS] = 8722; - values[Ids.ID_MU_L] = 956; - values[Ids.ID_MU_U] = 924; - values[Ids.ID_NABLA] = 8711; - values[Ids.ID_NBSP] = 160; - values[Ids.ID_NDASH] = 8211; - values[Ids.ID_NE] = 8800; - values[Ids.ID_NI] = 8715; - values[Ids.ID_NOT] = 172; - values[Ids.ID_NOTIN] = 8713; - values[Ids.ID_NSUB] = 8836; - values[Ids.ID_NTILDE_L] = 241; - values[Ids.ID_NTILDE_U] = 209; - values[Ids.ID_NU_L] = 957; - values[Ids.ID_NU_U] = 925; - values[Ids.ID_OACUTE_L] = 243; - values[Ids.ID_OACUTE_U] = 211; - values[Ids.ID_OCIRC_L] = 244; - values[Ids.ID_OCIRC_U] = 212; - values[Ids.ID_OELIG_L] = 339; - values[Ids.ID_OELIG_U] = 338; - values[Ids.ID_OGRAVE_L] = 242; - values[Ids.ID_OGRAVE_U] = 210; - values[Ids.ID_OLINE] = 8254; - values[Ids.ID_OMEGA_L] = 969; - values[Ids.ID_OMEGA_U] = 937; - values[Ids.ID_OMICRON_L] = 959; - values[Ids.ID_OMICRON_U] = 927; - values[Ids.ID_OPLUS] = 8853; - values[Ids.ID_OR] = 8744; - values[Ids.ID_ORDF] = 170; - values[Ids.ID_ORDM] = 186; - values[Ids.ID_OSLASH_L] = 248; - values[Ids.ID_OSLASH_U] = 216; - values[Ids.ID_OTILDE_L] = 245; - values[Ids.ID_OTILDE_U] = 213; - values[Ids.ID_OTIMES] = 8855; - values[Ids.ID_OUML_L] = 246; - values[Ids.ID_OUML_U] = 214; - values[Ids.ID_PARA] = 182; - values[Ids.ID_PART] = 8706; - values[Ids.ID_PERMIL] = 8240; - values[Ids.ID_PERP] = 8869; - values[Ids.ID_PHI_L] = 966; - values[Ids.ID_PHI_U] = 934; - values[Ids.ID_PIV] = 982; - values[Ids.ID_PI_L] = 960; - values[Ids.ID_PI_U] = 928; - values[Ids.ID_PLUSMN] = 177; - values[Ids.ID_POUND] = 163; - values[Ids.ID_PRIME_L] = 8242; - values[Ids.ID_PRIME_U] = 8243; - values[Ids.ID_PROD] = 8719; - values[Ids.ID_PROP] = 8733; - values[Ids.ID_PSI_L] = 968; - values[Ids.ID_PSI_U] = 936; - values[Ids.ID_QUOT] = 34; - values[Ids.ID_RADIC] = 8730; - values[Ids.ID_RANG] = 9002; - values[Ids.ID_RAQUO] = 187; - values[Ids.ID_RARR_L] = 8594; - values[Ids.ID_RARR_U] = 8658; - values[Ids.ID_RCEIL] = 8969; - values[Ids.ID_RDQUO] = 8221; - values[Ids.ID_REAL] = 8476; - values[Ids.ID_REG] = 174; - values[Ids.ID_RFLOOR] = 8971; - values[Ids.ID_RHO_L] = 961; - values[Ids.ID_RHO_U] = 929; - values[Ids.ID_RLM] = 8207; - values[Ids.ID_RSAQUO] = 8250; - values[Ids.ID_RSQUO] = 8217; - values[Ids.ID_SBQUO] = 8218; - values[Ids.ID_SCARON_L] = 353; - values[Ids.ID_SCARON_U] = 352; - values[Ids.ID_SDOT] = 8901; - values[Ids.ID_SECT] = 167; - values[Ids.ID_SHY] = 173; - values[Ids.ID_SIGMAF] = 962; - values[Ids.ID_SIGMA_L] = 963; - values[Ids.ID_SIGMA_U] = 931; - values[Ids.ID_SIM] = 8764; - values[Ids.ID_SPADES] = 9824; - values[Ids.ID_SUB] = 8834; - values[Ids.ID_SUBE] = 8838; - values[Ids.ID_SUM] = 8721; - values[Ids.ID_SUP] = 8835; - values[Ids.ID_SUP1] = 185; - values[Ids.ID_SUP2] = 178; - values[Ids.ID_SUP3] = 179; - values[Ids.ID_SUPE] = 8839; - values[Ids.ID_SZLIG] = 223; - values[Ids.ID_TAU_L] = 964; - values[Ids.ID_TAU_U] = 932; - values[Ids.ID_THERE4] = 8756; - values[Ids.ID_THETASYM] = 977; - values[Ids.ID_THETA_L] = 952; - values[Ids.ID_THETA_U] = 920; - values[Ids.ID_THINSP] = 8201; - values[Ids.ID_THORN_L] = 254; - values[Ids.ID_THORN_U] = 222; - values[Ids.ID_TILDE] = 732; - values[Ids.ID_TIMES] = 215; - values[Ids.ID_TRADE] = 8482; - values[Ids.ID_UACUTE_L] = 250; - values[Ids.ID_UACUTE_U] = 218; - values[Ids.ID_UARR_L] = 8593; - values[Ids.ID_UARR_U] = 8657; - values[Ids.ID_UCIRC_L] = 251; - values[Ids.ID_UCIRC_U] = 219; - values[Ids.ID_UGRAVE_L] = 249; - values[Ids.ID_UGRAVE_U] = 217; - values[Ids.ID_UML] = 168; - values[Ids.ID_UPSIH] = 978; - values[Ids.ID_UPSILON_L] = 965; - values[Ids.ID_UPSILON_U] = 933; - values[Ids.ID_UUML_L] = 252; - values[Ids.ID_UUML_U] = 220; - values[Ids.ID_WEIERP] = 8472; - values[Ids.ID_XI_L] = 958; - values[Ids.ID_XI_U] = 926; - values[Ids.ID_YACUTE_L] = 253; - values[Ids.ID_YACUTE_U] = 221; - values[Ids.ID_YEN] = 165; - values[Ids.ID_YUML_L] = 255; - values[Ids.ID_YUML_U] = 376; - values[Ids.ID_ZETA_L] = 950; - values[Ids.ID_ZETA_U] = 918; - values[Ids.ID_ZWJ] = 8205; - values[Ids.ID_ZWNJ] = 8204; - } - - /** - */ - public EntityCollection() { - super(names, STRICT_CASE); - } - - /** - * Create an entity declaration. - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode - * @param attrName java.lang.String - */ - protected CMNode create(String entityName) { - int id = getID(entityName); - if (id == ID_UNKNOWN) - return null; - - String value = String.valueOf(values[id]); - HTMLEntityDeclImpl dec = new HTMLEntityDeclImpl(entityName, value); - - return dec; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLAttrDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLAttrDeclImpl.java deleted file mode 100644 index 98ab2d9ad8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLAttrDeclImpl.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Enumeration; -import java.util.Vector; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLAttributeDeclaration; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Implementation class of {@link <code>HTMLAttributeDeclaration</code>} interface.<br> - */ -class HTMLAttrDeclImpl extends CMNodeImpl implements HTMLAttributeDeclaration { - - private HTMLCMDataTypeImpl type = null; - private int usage = 0; - - /** - */ - public HTMLAttrDeclImpl(String attrName, HTMLCMDataTypeImpl valueType, int valueUsage) { - super(attrName); - this.type = valueType; - - switch (valueUsage) { - case OPTIONAL : - case REQUIRED : - case FIXED : - case PROHIBITED : - this.usage = valueUsage; - break; - default : - // should warn... - this.usage = OPTIONAL; // fall back - break; - } - } - - /** - * getAttrName method - * @return java.lang.String - */ - public String getAttrName() { - return getNodeName(); - } - - /** - * getAttrType method - * @return CMDataType - */ - public CMDataType getAttrType() { - return type; - } - - /** - * @deprecated in superclass - */ - public String getDefaultValue() { - if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT) - return null; - return type.getImpliedValue(); - } - - /** - * @deprecated in superclass - */ - public Enumeration getEnumAttr() { - Vector v = new Vector(Arrays.asList(type.getEnumeratedValues())); - return v.elements(); - } - - /** - * getNodeType method - * @return int - * - * Returns one of : - * ELEMENT_DECLARATION, ATTRIBUTE_DECLARATION, GROUP, ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.ATTRIBUTE_DECLARATION; - } - - /** - * @return int - */ - public int getUsage() { - return usage; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return true; - return super.supports(propertyName); - } - - /** - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return new Boolean(true); - return super.getProperty(propertyName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMDataTypeImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMDataTypeImpl.java deleted file mode 100644 index 63366fd3f9..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMDataTypeImpl.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - - - -/** - */ -class HTMLCMDataTypeImpl extends CMNodeImpl implements HTMLCMDataType { - - private int impliedValueKind = IMPLIED_VALUE_NONE; - private String impliedValue = null; - private final static String[] emptyArray = new String[0]; - private String[] enumValues = emptyArray; - private String instanceValue = null; - - /** - * HTMLCMDataTypeImpl constructor comment. - * @param nm java.lang.String - */ - public HTMLCMDataTypeImpl(String typeName) { - super(typeName); - } - - /** - * HTMLCMDataTypeImpl constructor comment. - * @param nm java.lang.String - */ - public HTMLCMDataTypeImpl(String typeName, String instanceValue) { - super(typeName); - this.instanceValue = instanceValue; - } - - /** - * getTypeName method - * @return java.lang.String - * - * This method returns a suitable default value that can be used when an instance of the data type is created. - * This returns null of a suitable default is not available. - */ - public String generateInstanceValue() { - return instanceValue; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMDataType - */ - public String getDataTypeName() { - return getNodeName(); - } - - /** - * getTypeName method - * @return java.lang.String[] - * - */ - public String[] getEnumeratedValues() { - return enumValues; - } - - /** - * getTypeName method - * @return java.lang.String - * - * Returns the implied value or null if none exists. - */ - public String getImpliedValue() { - return impliedValue; - } - - /** - * getImpliedValueKind method - * @return int - * - * Returns one of : - * IMPLIED_VALUE_NONE, IMPLIED_VALUE_FIXED, IMPLIED_VALUE_DEFAULT. - */ - public int getImpliedValueKind() { - return impliedValueKind; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.DATA_TYPE; - } - - /** - */ - void setEnumValues(String[] values) { - enumValues = new String[values.length]; - for (int i = 0; i < values.length; i++) { - enumValues[i] = values[i]; - } - } - - /** - * package scope. - */ - void setImpliedValue(int kind, String value) { - switch (kind) { - case IMPLIED_VALUE_FIXED : - case IMPLIED_VALUE_DEFAULT : - impliedValueKind = kind; - impliedValue = value; - break; - case IMPLIED_VALUE_NONE : - default : - impliedValueKind = IMPLIED_VALUE_NONE; - impliedValue = null; // maybe a null string? - break; - } - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMNode.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMNode.java deleted file mode 100644 index b294b27576..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLCMNode.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - -/** - * In HTML Documents, name and value of an attribute/element/entity - * should be treated ignoring theirs case. However, in XML documents, - * they should be distinguished with sensitiveness of their case. - * CMNode is basically designed to represent DTDs or Schemas for XML - * documents. So, it doesn't have interfaces to retrieve such information. - * However, declarations in the HTML CM should provide such information. - * This intermediate interface is intended to provide whether ignore cases - * or not.<br> - */ -interface HTMLCMNode extends org.eclipse.wst.xml.core.internal.contentmodel.CMNode { - - /** - * Returns <code>true</code>, if declaration is for HTML attribute/element/entity. - * Otherwise, returns <code>false</code>. - * @return boolean - */ - boolean shouldIgnoreCase(); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLElemDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLElemDeclImpl.java deleted file mode 100644 index c003526d22..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLElemDeclImpl.java +++ /dev/null @@ -1,369 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLAttributeDeclaration; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLPropertyDeclaration; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -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.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Base class for all Hed???? classes. - */ -abstract class HTMLElemDeclImpl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration { - - // DTD - protected CMNamedNodeMapImpl attributes = null; - protected String typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY; - /** Never access this field directly. Instead, use getComplexTypeDefinition method. */ - private ComplexTypeDefinition typeDefinition = null; - protected CMGroupImpl inclusion = null; - protected CMGroupImpl exclusion = null; - // advanced information - protected CMNamedNodeMap prohibitedAncestors = null; - protected int correctionType = CORRECT_NONE; - protected int formatType = FORMAT_HTML; - protected int layoutType = LAYOUT_NONE; - protected int omitType = OMIT_NONE; - protected boolean keepSpaces = false; - protected boolean indentChild = false; - protected ElementCollection elementCollection = null; - protected AttributeCollection attributeCollection = null; - protected final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() { - public int getLength() { - return 0; - } - - public CMNode getNamedItem(String name) { - return null; - } - - public CMNode item(int index) { - return null; - } - - public Iterator iterator() { - return new Iterator() { - public boolean hasNext() { - return false; - } - - public Object next() { - return null; - } - - public void remove() { - } - }; - } - }; - - /** - * HTMLElemDeclImpl constructor. - * In the HTML DTD, an element declaration has no specification - * for its occurrence. Occurrence is specifed in content model, like - * <code>(LI)+</code>. To avoid confusion (and complexity), - * occurrence of an element declaration is always 1 (it means, min = 1 and - * max = 1). Instead, occurrence of CMGroup represents actual occurrence - * of the content. - * <br> - * @param name java.lang.String - */ - public HTMLElemDeclImpl(String elementName, ElementCollection collection) { - super(elementName, 1, 1); - elementCollection = collection; - attributeCollection = collection.getAttributeCollection(); - } - - /** - */ - protected abstract void createAttributeDeclarations(); - - private ComplexTypeDefinition createComplexTypeDefinition() { - if (typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_CDATA) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_EMPTY) || typeDefinitionName.equals(ComplexTypeDefinitionFactory.CTYPE_PCDATA)) - return null; - - ComplexTypeDefinitionFactory factory = ComplexTypeDefinitionFactory.getInstance(); - if (factory == null) - return null; // fatal error. - - ComplexTypeDefinition def = factory.createTypeDefinition(typeDefinitionName, elementCollection); - return def; - } - - /** - * Get an attribute declaration. - */ - public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) { - if (attributes == null) { - createAttributeDeclarations(); - if (attributes == null) - return null; // fail to create - } - - CMNode cmnode = attributes.getNamedItem(attrName); - if (cmnode == null) { - return null; - } - else { - return (HTMLAttributeDeclaration) cmnode; // already exists. - } - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMNamedNodeMap getAttributes() { - if (attributes == null) - createAttributeDeclarations(); // lazy eval. - return attributes; - } - - /** - * Get an instance of complex type definition. - */ - private ComplexTypeDefinition getComplexTypeDefinition() { - if (typeDefinition == null) - typeDefinition = createComplexTypeDefinition(); - return typeDefinition; - } - - /** - * Content.<br> - * Element declarations which type is EMPTY or CDATA (maybe PCDATA) - * <strong>MUST</strong> override this method and always return null. - * This default implementation always tries to create a complex type definition - * instance and access to it. - * <br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMContent getContent() { - ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval. - return (def != null) ? def.getContent() : null; - } - - /** - * Content type.<br> - * Element declarations which type is EMPTY or CDATA (maybe PCDATA) - * <strong>MUST</strong> override this method and return an appropriate type. - * This default implementation always tries to create a complex type definition - * instance and access to it. - * <br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - ComplexTypeDefinition def = getComplexTypeDefinition(); // lazy eval. - return (def != null) ? def.getContentType() : CMElementDeclaration.CDATA; - } - - /** - * @see HTMLElementDeclaration#getCorrectionType - */ - public int getCorrectionType() { - return correctionType; - } - - /** - * HTML element doesn't have any data type. So, this method always - * returns <code>null</code>.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMDataType getDataType() { - return null; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public String getElementName() { - return getNodeName(); - } - - /** - * Exclusion. - * Almost elements don't have a exclusion. - * Only classes those have exclusion should override this method. - */ - public CMContent getExclusion() { - return null; - } - - /** - * Default format type is <code>FORMAT_HTML</code>.<br> - */ - public int getFormatType() { - return formatType; - } - - /** - * Inclusion. - * Almost elements don't have a inclusion. - * Only classes those have inclusion should override this method. - */ - public CMContent getInclusion() { - return null; - } - - /** - */ - public int getLayoutType() { - return layoutType; - } - - /** - * Line break hint is strongly related to layout type. - * Indeed, in the C++DOM, it is determined from layout type only. - * So, this implementation, as the default implementation for all declarations, - * also determines from layout type only.<br> - * @return int - */ - public int getLineBreakHint() { - switch (getLayoutType()) { - case HTMLElementDeclaration.LAYOUT_BLOCK : - return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END; - case HTMLElementDeclaration.LAYOUT_BREAK : - return HTMLElementDeclaration.BREAK_AFTER_START; - case HTMLElementDeclaration.LAYOUT_HIDDEN : - return HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END; - default : - return HTMLElementDeclaration.BREAK_NONE; - } - } - - /** - * No HTML element has local elements. So, this method always - * returns an empty map. - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public CMNamedNodeMap getLocalElements() { - return EMPTY_MAP; - } - - /** - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode - */ - public int getNodeType() { - return CMNode.ELEMENT_DECLARATION; - } - - /** - */ - public int getOmitType() { - return omitType; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - return EMPTY_MAP; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return true; - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - ComplexTypeDefinition def = getComplexTypeDefinition(); - return (def != null); - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return false; - return pp.supports(this); - } - - } - - /** - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) { - return new Boolean(true); - } - else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) { - ComplexTypeDefinition def = getComplexTypeDefinition(); - return (def != null) ? def.getPrimaryCandidate() : null; - } - else { - PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName); - if (pp == null) - return null; - return pp.get(this); - } - } - - /** - * Return element names which terminates this element.<br> - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return null; - } - - /** - * return true when the element is a JSP element. - */ - public boolean isJSP() { - return false; - } - - /** - * In some elements, such as APPLET, a source generator should indent child - * elements that their parents. That is, a source generator should generate - * source of APPLET and PARAMS like this: - * <PRE> - * <APPLET ...> - * <PARAM ... > - * <PARAM ... > - * </APPLET> - * <PRE> - * @return boolean - */ - public boolean shouldIndentChildSource() { - return indentChild; - } - - /** - * Most of elements can compact spaces in their child text nodes. - * Some special elements should keep them in their source. - * @return boolean - */ - public boolean shouldKeepSpaces() { - return keepSpaces; - } - - /** - * @return boolean - */ - public boolean shouldTerminateAt(HTMLElementDeclaration nextElement) { - Iterator i = getTerminators(); - if (i == null) - return false; - String nextName = nextElement.getElementName(); - while (i.hasNext()) { - if (nextName.equals(i.next())) - return true; - } - return false; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLEntityDeclImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLEntityDeclImpl.java deleted file mode 100644 index 1a47b01dfb..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HTMLEntityDeclImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLEntityDeclaration; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - - - -/** - */ -class HTMLEntityDeclImpl extends CMNodeImpl implements HTMLEntityDeclaration { - - private java.lang.String value = null; - - /** - * CMEntityDeclImpl constructor comment. - * @param entityName java.lang.String; Entity name. - * @param entityValue java.lang.String; Value string. - */ - public HTMLEntityDeclImpl(String entityName, String entityValue) { - super(entityName); - value = entityValue; - } - - /** - * getName method - * @return java.lang.String - */ - public String getName() { - return getNodeName(); - } - - /** - * Get CMNode type.<br> - * @return int; Always return ENTITY_DECLARATION. - */ - public int getNodeType() { - return CMNode.ENTITY_DECLARATION; - } - - /** - * getValue method - * @return java.lang.String - */ - public String getValue() { - return value; - } - - /** - */ - public boolean supports(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return true; - return super.supports(propertyName); - } - - /** - * Entities in HTML documents are always treated with ignoring cases. - * Because no special entities are defined in JSP 1.0, this method - * can always return <code>true</code>.<br> - */ - public Object getProperty(String propertyName) { - if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) - return new Boolean(true); - return super.getProperty(propertyName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedA.java deleted file mode 100644 index f603c37b79..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedA.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * A. - */ -final class HedA extends HedInlineContainer { - - /** - */ - public HedA(ElementCollection collection) { - super(CHTMLNamespace.ElementName.A, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - } - - /** - * %attrs; - * (charset %Charset; #IMPLIED) - * (type %ContentType; #IMPLIED) - * (name CDATA #IMPLIED) - * (href %URI; #IMPLIED) - * (hreflang %LanguageCode; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (rel %LinkTypes; #IMPLIED) - * (rev %LinkTypes; #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (directkey %Character; #IMPLIED) - * (shape %Shape; rect) - * (coords %Coords; #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_HREF,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>A</code> has the exclusion. - * It is <code>A</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode a = elementCollection.getNamedItem(CHTMLNamespace.ElementName.A); - if (a != null) - exclusion.appendChild(a); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.A,}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedADDRESS.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedADDRESS.java deleted file mode 100644 index 36a72f2f0f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedADDRESS.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * ADDRESS. - */ -final class HedADDRESS extends HTMLElemDeclImpl { - - /** - */ - public HedADDRESS(ElementCollection collection) { - super(CHTMLNamespace.ElementName.ADDRESS, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_ADDRESS; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBASE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBASE.java deleted file mode 100644 index f33abe0813..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBASE.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * BASE. - */ -final class HedBASE extends HedEmpty { - - /** - */ - public HedBASE(ElementCollection collection) { - super(CHTMLNamespace.ElementName.BASE, collection); - // LAYOUT_HIDDEN. - // Because, BASE is GROUP_HIDDEN in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_HIDDEN; - } - - /** - * BASE. - * (href %URI; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_HREF,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBLOCKQUOTE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBLOCKQUOTE.java deleted file mode 100644 index 5aef97b8a6..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBLOCKQUOTE.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * BLOCKQUOTE. - */ -final class HedBLOCKQUOTE extends HedFlowContainer { - - /** - */ - public HedBLOCKQUOTE(ElementCollection collection) { - super(CHTMLNamespace.ElementName.BLOCKQUOTE, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * (cite %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBODY.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBODY.java deleted file mode 100644 index 7483c58911..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBODY.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * BODY. - */ -final class HedBODY extends HedFlowContainer { - - private static String[] terminators = {CHTMLNamespace.ElementName.HEAD, CHTMLNamespace.ElementName.BODY, CHTMLNamespace.ElementName.HTML}; - - /** - */ - public HedBODY(ElementCollection collection) { - super(CHTMLNamespace.ElementName.BODY, collection); - layoutType = LAYOUT_BLOCK; - omitType = OMIT_BOTH; - } - - /** - * %attrs; - * %bodycolors; - * (onload %Script; #IMPLIED) - * (onunload %Script; #IMPLIED) - * (background %URI; #IMPLIED) - * (marginwidth %Pixels; #IMPLIED) ... D205514 - * (marginheight %Pixels; #IMPLIED) .. D205514 - * (topmargin, CDATA, #IMPLIED) ...... D205514 - * (bottommargin, CDATA, #IMPLIED) ... D205514 - * (leftmargin, CDATA, #IMPLIED) ..... D205514 - * (rightmargin, CDATA, #IMPLIED) .... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %bodycolors; - attributeCollection.getBodycolors(attributes); - - } - - /** - * BODY has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBR.java deleted file mode 100644 index 3ec16f585b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedBR.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLAttributeDeclaration; - - - -/** - * BR. - */ -final class HedBR extends HedEmpty { - - /** - */ - public HedBR(ElementCollection collection) { - super(CHTMLNamespace.ElementName.BR, collection); - // LAYOUT_BREAK. - // Because, BR is GROUP_BREAK in the C++DOM/DTDParser.cpp. - layoutType = LAYOUT_BREAK; - } - - /** - * BR. - * %coreattrs; - * (clear (left | all | right | none) none) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %coreattrs; - attributeCollection.getCore(attributes); - // clear - HTMLAttributeDeclaration attr = attributeCollection.getDeclaration(CHTMLNamespace.ATTR_NAME_CLEAR); - if (attr != null) - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_CLEAR, attr); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedCENTER.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedCENTER.java deleted file mode 100644 index 769393380e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedCENTER.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * CENTER. - */ -final class HedCENTER extends HedFlowContainer { - - /** - */ - public HedCENTER(ElementCollection collection) { - super(CHTMLNamespace.ElementName.CENTER, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDD.java deleted file mode 100644 index dd70e26781..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDD.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * DD. - */ -final class HedDD extends HedFlowContainer { - - private static String[] terminators = {CHTMLNamespace.ElementName.DT, CHTMLNamespace.ElementName.DD}; - - /** - */ - public HedDD(ElementCollection collection) { - super(CHTMLNamespace.ElementName.DD, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - * DD has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDIV.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDIV.java deleted file mode 100644 index 8e2d794f13..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDIV.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * DIV. - */ -final class HedDIV extends HedFlowContainer { - - /** - */ - public HedDIV(ElementCollection collection) { - super(CHTMLNamespace.ElementName.DIV, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * %align; - * %reserved; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // %align; - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph(); - if (attr != null) - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr); - // %reserved; ... empty - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDL.java deleted file mode 100644 index 1746bb23ed..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDL.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * DL. - */ -final class HedDL extends HTMLElemDeclImpl { - - /** - */ - public HedDL(ElementCollection collection) { - super(CHTMLNamespace.ElementName.DL, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_DEFINITION_LIST; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - indentChild = true; - } - - /** - * %arrays; - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDT.java deleted file mode 100644 index 933d877c13..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedDT.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * DT. - */ -final class HedDT extends HedInlineContainer { - - private static String[] terminators = {CHTMLNamespace.ElementName.DT, CHTMLNamespace.ElementName.DD}; - - /** - */ - public HedDT(ElementCollection collection) { - super(CHTMLNamespace.ElementName.DT, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - } - - /** - * DT has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedEmpty.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedEmpty.java deleted file mode 100644 index c6de6e0bc4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedEmpty.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * Base class for EMPTY type element declarations. - */ -abstract class HedEmpty extends HTMLElemDeclImpl { - - /** - */ - public HedEmpty(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_EMPTY; - // EMPTY type has no end tag. - omitType = OMIT_END_MUST; - } - - /** - * Content.<br> - * EMPTY type always returns <code>null</code>. - * <br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * Content type.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - return CMElementDeclaration.EMPTY; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFORM.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFORM.java deleted file mode 100644 index 090d61aacc..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFORM.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * FORM. - */ -final class HedFORM extends HedFlowContainer { - - /** - */ - public HedFORM(ElementCollection collection) { - super(CHTMLNamespace.ElementName.FORM, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs; - * (action %URI; #REQUIRED) - * (method (GET|POST) GET) - * (enctype %ContentType; "application/x-www-form-urlencoded") - * (accept %ContentTypes; #IMPLIED) - * (name CDATA #IMPLIED) - * (onsubmit %Script; #IMPLIED) - * (onreset %Script; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (accept-charset %Charsets; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {CHTMLNamespace.ATTR_NAME_ACTION, CHTMLNamespace.ATTR_NAME_METHOD, CHTMLNamespace.ATTR_NAME_ENCTYPE, CHTMLNamespace.ATTR_NAME_NAME,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * Exclusion. - * <code>FORM</code> has the exclusion. - * It is <code>FORM</code> itself. - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; // fatal - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - CMNode form = elementCollection.getNamedItem(CHTMLNamespace.ElementName.FORM); - if (form != null) - exclusion.appendChild(form); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.FORM, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFlowContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFlowContainer.java deleted file mode 100644 index 8c484160f5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedFlowContainer.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -/** - * Base class for (%flow;)* containers. - */ -abstract class HedFlowContainer extends HTMLElemDeclImpl { - - /** - */ - public HedFlowContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_FLOW_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHEAD.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHEAD.java deleted file mode 100644 index e8ef6f9640..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHEAD.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * HTML. - */ -final class HedHEAD extends HTMLElemDeclImpl { - - private static String[] terminators = {CHTMLNamespace.ElementName.HEAD, CHTMLNamespace.ElementName.BODY, CHTMLNamespace.ElementName.HTML}; - - /** - */ - public HedHEAD(ElementCollection collection) { - super(CHTMLNamespace.ElementName.HEAD, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HEAD; - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_BOTH; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>HEAD</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%i18n;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>profile</td><td>URI</td><td>#IMPLIED</td><td>N/A</td><td>-</td> - * </tr> - * </tbody> - * </table> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - } - - /** - * HEAD has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHR.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHR.java deleted file mode 100644 index 732d09528a..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHR.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -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.CMNamedNodeMap; - -/** - * HR. - */ -final class HedHR extends HedEmpty { - - /** - */ - public HedHR(ElementCollection collection) { - super(CHTMLNamespace.ElementName.HR, collection); - layoutType = LAYOUT_BLOCK; - } - - /** - * %attrs - * (align (left|center|right) #IMPLIED) ... should be defined locally. - * (noshade (noshade) #IMPLIED) - * (size %Pixels; #IMPLIED) - * (width %Length; #IMPLIED) - * (color %Color; #IMPLIED) ... D205514 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (align (left|center|right) #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {CHTMLNamespace.ATTR_VALUE_LEFT, CHTMLNamespace.ATTR_VALUE_CENTER, CHTMLNamespace.ATTR_VALUE_RIGHT}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr); - - // the rest. - String[] names = {CHTMLNamespace.ATTR_NAME_NOSHADE, CHTMLNamespace.ATTR_NAME_SIZE, CHTMLNamespace.ATTR_NAME_WIDTH,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHTML.java deleted file mode 100644 index 36c2e4adee..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHTML.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLAttributeDeclaration; - - -/** - * HTML. - */ -final class HedHTML extends HTMLElemDeclImpl { - - private static String[] terminators = {CHTMLNamespace.ElementName.HTML}; - - /** - */ - public HedHTML(ElementCollection collection) { - super(CHTMLNamespace.ElementName.HTML, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_HTML; - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_BOTH; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>HTML</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td><code>%i18n;</code></td><td>-</td><td>-</td><td>-</td> - * <td>{@link PDCMDocImpl#getAttrDeclarationsI18n}</td> - * </tr> - * <tr> - * <td>version</td><td>CDATA</td><td>#FIXED</td> - * <td>{@link HTML_VERSION_TRANSITIONAL}</td><td>deplecated in HTML4.01</td> - * </tr> - * </tbody> - * </table><br> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - // version - HTMLAttributeDeclaration adec = attributeCollection.getDeclaration(CHTMLNamespace.ATTR_NAME_VERSION); - if (adec != null) - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_VERSION, adec); - } - - /** - * HTML has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHeading.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHeading.java deleted file mode 100644 index af3be378f6..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedHeading.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * H[1-6]. - */ -final class HedHeading extends HedInlineContainer { - - /** - */ - public HedHeading(String elementName, ElementCollection collection) { - super(elementName, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>H1</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * </tbody> - * </table> - * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>. - * Unfortunately, this <code>align</code> is different from one in - * <code>IMG</code> or <code>TABLE</code>. So, the attribute declaration - * of <code>align</code> should be localy created and it shouldn't be registered - * in a <code>HCMDocImpl</code> instance.</p> - * <p>However, %align is used in sevaral times. I wouldn't write same code - * in many times. So, I add a new utility method into <code>CMUtil</code> - * to create the attribute declaration.</p> - * <br> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // align - HTMLAttrDeclImpl attr = AttributeCollection.createAlignForParagraph(); - if (attr != null) - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedIMG.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedIMG.java deleted file mode 100644 index e8454e2774..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedIMG.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -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.CMNamedNodeMap; - -/** - * IMG. - */ -final class HedIMG extends HedEmpty { - - /** - */ - public HedIMG(ElementCollection collection) { - super(CHTMLNamespace.ElementName.IMG, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * IMG. - * %attrs; - * (src %URI; #REQUIRED): should be defined locally. - * (alt %Text; #REQUIRED) - * (longdesc %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - * (align %IAlign; #IMPLIED): should be defined locally. - * (border %Pixels; #IMPLIED) - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - * (mapfile %URI; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (src %URI; #REQUIRED): should be defined locally. - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SRC, attr); - - String[] names = {CHTMLNamespace.ATTR_NAME_ALT, CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_HEIGHT, CHTMLNamespace.ATTR_NAME_WIDTH, CHTMLNamespace.ATTR_NAME_BORDER, CHTMLNamespace.ATTR_NAME_HSPACE, CHTMLNamespace.ATTR_NAME_VSPACE,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align (local); should be defined locally. - attr = AttributeCollection.createAlignForImage(); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.PRE}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedINPUT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedINPUT.java deleted file mode 100644 index 29acb3aa73..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedINPUT.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * INPUT. - */ -final class HedINPUT extends HedEmpty { - - /** - */ - public HedINPUT(ElementCollection collection) { - super(CHTMLNamespace.ElementName.INPUT, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - * INPUT. - * %attrs; - * (type %InputType; TEXT) ... should be defined locally. - * (name CDATA #IMPLIED) - * (value CDATA #IMPLIED) - * (checked (checked) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (readonly (readonly) #IMPLIED) - * (size CDATA #IMPLIED) ... should be defined locally. - * (maxlength NUMBER #IMPLIED) - * (src %URI; #IMPLIED) - * (alt CDATA #IMPLIED) ... should be defined locally. - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onselect %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - * (accept %ContentTypes; #IMPLIED) - * (align %IAlign; #IMPLIED) ... should be defined locally. - * (istyle CDATA #IMPLIED) - * <<D215684 - * (width CDATA; #IMPLIED) - * (height CDATA; #IMPLIED) - * (border CDATA; #IMPLIED) - * D215684 - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - // (type %InputType; TEXT) ... should be defined locally. - // NOTE: %InputType is ENUM; - // (text | password | checkbox | radio | submit | reset | - // file | hidden | image | button) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {CHTMLNamespace.ATTR_VALUE_TEXT, CHTMLNamespace.ATTR_VALUE_PASSWORD, CHTMLNamespace.ATTR_VALUE_CHECKBOX, CHTMLNamespace.ATTR_VALUE_RADIO, CHTMLNamespace.ATTR_VALUE_SUBMIT, CHTMLNamespace.ATTR_VALUE_RESET, CHTMLNamespace.ATTR_VALUE_HIDDEN,}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, CHTMLNamespace.ATTR_VALUE_TEXT); - attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_TYPE, attr); - - // (size CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SIZE, attr); - - // (alt CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_ALT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALT, attr); - - // (align %IAlign; #IMPLIED) ... should be defined locally. - attr = AttributeCollection.createAlignForImage(); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, attr); - - // the rest. - String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_VALUE, CHTMLNamespace.ATTR_NAME_CHECKED, CHTMLNamespace.ATTR_NAME_SIZE, CHTMLNamespace.ATTR_NAME_MAXLENGTH, CHTMLNamespace.ATTR_NAME_SRC, CHTMLNamespace.ATTR_NAME_ALT, CHTMLNamespace.ATTR_NAME_ALIGN, CHTMLNamespace.ATTR_NAME_ISTYLE, - //<<D215684 - CHTMLNamespace.ATTR_NAME_WIDTH, CHTMLNamespace.ATTR_NAME_HEIGHT, CHTMLNamespace.ATTR_NAME_BORDER - //<D215684 - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedInlineContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedInlineContainer.java deleted file mode 100644 index dbd4bc94b4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedInlineContainer.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -/** - * Base class for (%inline;)* containers. - */ -abstract class HedInlineContainer extends HTMLElemDeclImpl { - - /** - * HedInlineContainer. - * @param elementName java.lang.String - * @param collection ElementCollection - */ - public HedInlineContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_INLINE_CONTAINER; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedLI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedLI.java deleted file mode 100644 index ea1f4a63a9..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedLI.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * LI. - */ -final class HedLI extends HedFlowContainer { - - private static String[] terminators = {CHTMLNamespace.ElementName.LI}; - - /** - */ - public HedLI(ElementCollection collection) { - super(CHTMLNamespace.ElementName.LI, collection); - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END_DEFAULT; - } - - /** - * %attrs; - * (type %LIStyle; #IMPLIED) ... should be defined locally. - * (value NUMBER #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - } - - /** - * LI has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedListItemContainer.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedListItemContainer.java deleted file mode 100644 index 1f35e93674..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedListItemContainer.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -/** - * Base class for list item container declarations. - * - OL, UL, MENU, DIR. - */ -abstract class HedListItemContainer extends HTMLElemDeclImpl { - - /** - */ - public HedListItemContainer(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_LI_CONTAINER; - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - indentChild = true; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMENU.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMENU.java deleted file mode 100644 index c0f0e83b06..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMENU.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * MENU/DIR. - */ -final class HedMENU extends HedListItemContainer { - - /** - */ - public HedMENU(String elementName, ElementCollection collection) { - super(elementName, collection); - } - - /** - * MENU/DIR. - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - } - - /** - * Exclusion. - * <code>MENU/DIR</code> has the exclusion. - * It is <code>%block;</code>. - * %block; is: - * P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | - * NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | - * TABLE | FIELDSET | ADDRESS. - * %heading; is: H1 | H2 | H3 | H4 | H5 | H6. - * %list; is : UL | OL | DIR | MENU. - * %preformatted; is PRE. - * <br> - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - // %block; - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {CHTMLNamespace.ElementName.P, CHTMLNamespace.ElementName.H1, CHTMLNamespace.ElementName.H2, CHTMLNamespace.ElementName.H3, CHTMLNamespace.ElementName.H4, CHTMLNamespace.ElementName.H5, CHTMLNamespace.ElementName.H6, CHTMLNamespace.ElementName.UL, CHTMLNamespace.ElementName.OL, CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU, CHTMLNamespace.ElementName.PRE, CHTMLNamespace.ElementName.DL, CHTMLNamespace.ElementName.DIV, CHTMLNamespace.ElementName.CENTER, CHTMLNamespace.ElementName.BLOCKQUOTE, CHTMLNamespace.ElementName.FORM, CHTMLNamespace.ElementName.HR, CHTMLNamespace.ElementName.ADDRESS}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMETA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMETA.java deleted file mode 100644 index 172a6fb407..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedMETA.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * META. - */ -final class HedMETA extends HedEmpty { - - /** - */ - public HedMETA(ElementCollection collection) { - super(CHTMLNamespace.ElementName.META, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * META. - * %i18n; - * (http-equiv NAME #IMPLIED) - * (name NAME #IMPLIED) ... should be defined locally. - * (content CDATA #REQUIRED) - * (scheme CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - - // (name NAME #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_NAME, attr); - - // 249493 - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_CONTENT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_CONTENT, attr); - - String[] names = {CHTMLNamespace.ATTR_NAME_HTTP_EQUIV, - // CHTMLNamespace.ATTR_NAME_CONTENT - }; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOL.java deleted file mode 100644 index 7e801d2065..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOL.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * OL. - */ -final class HedOL extends HedListItemContainer { - - /** - */ - public HedOL(ElementCollection collection) { - super(CHTMLNamespace.ElementName.OL, collection); - } - - /** - * OL. - * (type %OLStyle; #IMPLIED) ... should be defined locally. - * (compact (compact) #IMPLIED) - * (start NUMBER #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOPTION.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOPTION.java deleted file mode 100644 index 6df202d46e..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedOPTION.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; -import java.util.Iterator; - -/** - * OPTION. - */ -final class HedOPTION extends HedPcdata { - - private static String[] terminators = {CHTMLNamespace.ElementName.OPTION}; - - /** - */ - public HedOPTION(ElementCollection collection) { - super(CHTMLNamespace.ElementName.OPTION, collection); - layoutType = LAYOUT_HIDDEN; - omitType = OMIT_END; - } - - /** - * OPTION. - * %attrs; - * (selected (selected) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (label %Text; #IMPLIED) - * (value CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {CHTMLNamespace.ATTR_NAME_SELECTED, CHTMLNamespace.ATTR_NAME_VALUE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } - - /** - * OPTION has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - return Arrays.asList(terminators).iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedP.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedP.java deleted file mode 100644 index a92e091b70..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedP.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Collection; -import java.util.Iterator; -import java.util.Vector; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * P. - */ -final class HedP extends HedInlineContainer { - - private static Collection terminators = null; - - /** - */ - public HedP(ElementCollection collection) { - super(CHTMLNamespace.ElementName.P, collection); - correctionType = CORRECT_EMPTY; - layoutType = LAYOUT_BLOCK; - omitType = OMIT_END; - } - - /** - * Create all attribute declarations. - * This method is called once in the constructor of the super class. - * The <code>P</code> element may have the following attributes: - * <table> - * <tbody> - * <tr> - * <th>NAME</th><th>TYPE</th><th>USAGE</th><th>DEFAULT (INITIAL) VALUE</th><th>MEMO</th> - * </tr> - * <tr> - * <td>%attrs;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * <tr> - * <td>%align;</td><td>-</td><td>-</td><td>-</td><td>-</td> - * </tr> - * </tbody> - * </table> - * <p><b>%align;</b> means <code>align (left|center|right|justify) #IMPLIED</code>. - * Unfortunately, this <code>align</code> is different from one in - * <code>IMG</code> or <code>TABLE</code>. So, the attribute declaration - * of <code>align</code> should be localy created and it shouldn't be registered - * in a <code>HCMDocImpl</code> instance.</p> - * <p>However, %align is used in sevaral times. I wouldn't write same code - * in many times. So, I add a new utility method into <code>CMUtil</code> - * to create the attribute declaration.</p> - * <br> - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - // %attrs; - attributeCollection.getAttrs(attributes); - // align - HTMLAttrDeclImpl adec = AttributeCollection.createAlignForParagraph(); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_ALIGN, adec); - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - return prohibitedAncestors; - } - - /** - * Return names of terminators. - * <code>P</code> has terminators. - * @return java.util.Iterator - */ - protected Iterator getTerminators() { - if (terminators != null) - return terminators.iterator(); - //<<D217982 - terminators = new Vector(); - terminators.addAll(elementCollection.getNamesOfBlock()); - terminators.add(CHTMLNamespace.ElementName.LI); - terminators.add(CHTMLNamespace.ElementName.DT); - terminators.add(CHTMLNamespace.ElementName.DD); - //D217982 - return terminators.iterator(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPRE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPRE.java deleted file mode 100644 index 02f53537b1..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPRE.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * PRE. - */ -final class HedPRE extends HedInlineContainer { - - /** - * PRE element should keep spaces in its source. - */ - public HedPRE(ElementCollection collection) { - super(CHTMLNamespace.ElementName.PRE, collection); - // CORRECT_EMPTY - GROUP_COMPACT - correctionType = CORRECT_EMPTY; - - keepSpaces = true; - } - - /** - * %attrs; - * (width NUMBER #IMPLIED) ... should be defined locally. - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - // (width NUMBER #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_WIDTH, attr); - } - - /** - * Exclusion. - * <code>PRE</code> has the exclusion. - * It is <code>%pre.exclusion;</code>. - * %pre.exclusion is: - * IMG | OBJECT | APPLET | BIG | SMALL | SUB | SUP | FONT | BASEFONT - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - String[] names = {CHTMLNamespace.ElementName.IMG,}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - - return exclusion; - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPcdata.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPcdata.java deleted file mode 100644 index 6490df0185..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedPcdata.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; - -/** - * Base class for PCDATA type element declarations.<br> - */ -abstract class HedPcdata extends HTMLElemDeclImpl { - - /** - */ - public HedPcdata(String elementName, ElementCollection collection) { - super(elementName, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_PCDATA; - } - - /** - * Content.<br> - * PCDATA type always returns <code>null</code>. - * <br> - * @return org.eclipse.wst.xml.core.internal.contentmodel.CMContent - */ - public CMContent getContent() { - return null; - } - - /** - * Content type.<br> - * @see org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration - */ - public int getContentType() { - return CMElementDeclaration.PCDATA; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSELECT.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSELECT.java deleted file mode 100644 index db036f7b0d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSELECT.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -/** - * SELECT. - */ -final class HedSELECT extends HTMLElemDeclImpl { - - /** - */ - public HedSELECT(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SELECT, collection); - typeDefinitionName = ComplexTypeDefinitionFactory.CTYPE_SELECT; - layoutType = LAYOUT_OBJECT; - indentChild = true; - } - - /** - * %attrs; - * %reserved; - * (name CDATA #IMPLIED) - * (size NUMBER #IMPLIED) ... should be defined locally. - * (multiple (multiple) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - // (size NUMBER #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(CHTMLNamespace.ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(CHTMLNamespace.ATTR_NAME_SIZE, attr); - - String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_MULTIPLE,}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIBase.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIBase.java deleted file mode 100644 index fddb04df9f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIBase.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; - - - - -/** - * Base class for SSI declarations. - */ -abstract class HedSSIBase extends HedEmpty { - - /** - */ - public HedSSIBase(String elementName, ElementCollection collection) { - super(elementName, collection); - layoutType = LAYOUT_OBJECT; - } - - /** - */ - public int getFormatType() { - return HTMLElementDeclaration.FORMAT_SSI; - } - - /** - */ - public boolean supports(String propName) { - if (propName.equals(HTMLCMProperties.IS_SSI)) - return true; - return super.supports(propName); - } - - /* - */ - public Object getProperty(String propName) { - if (propName.equals(HTMLCMProperties.IS_SSI)) - return new Boolean(true); - return super.getProperty(propName); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIConfig.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIConfig.java deleted file mode 100644 index 3b52b06414..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIConfig.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:CONFIG. - */ -final class HedSSIConfig extends HedSSIBase { - - /** - */ - public HedSSIConfig(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_CONFIG, collection); - } - - /** - * SSI:CONFIG. - * (errmsg CDATA #IMPLIED) - * (sizefmt CDATA #IMPLIED) - * (timefmt CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_ERRMSG, CHTMLNamespace.ATTR_NAME_SIZEFMT, CHTMLNamespace.ATTR_NAME_TIMEFMT}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIEcho.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIEcho.java deleted file mode 100644 index 9d1b226d53..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIEcho.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:ECHO. - */ -final class HedSSIEcho extends HedSSIBase { - - /** - */ - public HedSSIEcho(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_ECHO, collection); - } - - /** - * SSI:ECHO - * (var CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_VAR}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIExec.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIExec.java deleted file mode 100644 index 26ad58e4d4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIExec.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:EXEC. - */ -final class HedSSIExec extends HedSSIBase { - - /** - */ - public HedSSIExec(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_EXEC, collection); - } - - /** - * SSI:EXEC - * (cgi %URI; #IMPLIED) - * (cmd CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_CGI, CHTMLNamespace.ATTR_NAME_CMD}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFlastmod.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFlastmod.java deleted file mode 100644 index 5a0cb7333c..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFlastmod.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:FLASTMOD. - */ -final class HedSSIFlastmod extends HedSSIBase { - - /** - */ - public HedSSIFlastmod(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_FLASTMOD, collection); - } - - /** - * SSI:FLASTMOD - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFsize.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFsize.java deleted file mode 100644 index c56f2823a4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIFsize.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:FSIZE. - */ -final class HedSSIFsize extends HedSSIBase { - - /** - */ - public HedSSIFsize(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_FSIZE, collection); - } - - /** - * SSI:FSIZE - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIInclude.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIInclude.java deleted file mode 100644 index 220f7264a8..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIInclude.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:INCLUDE. - */ -final class HedSSIInclude extends HedSSIBase { - - /** - */ - public HedSSIInclude(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_INCLUDE, collection); - } - - /** - * SSI:INCLUDE - * (file %URI; #IMPLIED) - * (virtual %URI #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_FILE, CHTMLNamespace.ATTR_NAME_VIRTUAL}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIPrintenv.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIPrintenv.java deleted file mode 100644 index 6860996ba5..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSIPrintenv.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * SSI:PRINTENV. - */ -final class HedSSIPrintenv extends HedSSIBase { - - /** - */ - public HedSSIPrintenv(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_PRINTENV, collection); - } - - /** - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - } - - /** - * SSI:PRINTENV has no attributes. So, this method should - * always return <code>null</code>. - * Note: Since somebody doesn't expect null is returned, return the empty attribute - * like a custom tag which doesn't have attributes - */ - public CMNamedNodeMap getAttributes() { - return super.getAttributes(); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSISet.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSISet.java deleted file mode 100644 index d447488828..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedSSISet.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * SSI:SET. - */ -final class HedSSISet extends HedSSIBase { - - /** - */ - public HedSSISet(ElementCollection collection) { - super(CHTMLNamespace.ElementName.SSI_SET, collection); - } - - /** - * SSI:SET - * (var CDATA #IMPLIED) - * (value CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - String[] names = {CHTMLNamespace.ATTR_NAME_VAR, CHTMLNamespace.ATTR_NAME_VALUE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTEXTAREA.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTEXTAREA.java deleted file mode 100644 index 18198ea54f..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTEXTAREA.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -/** - * TEXTAREA. - */ -final class HedTEXTAREA extends HedPcdata { - - /** - * TEXTAREA should keep spaces in its source. - */ - public HedTEXTAREA(ElementCollection collection) { - super(CHTMLNamespace.ElementName.TEXTAREA, collection); - layoutType = LAYOUT_OBJECT; - - keepSpaces = true; - } - - /** - * TEXTAREA. - * %attrs; - * %reserved; ... empty - * (name CDATA #IMPLIED) - * (rows NUMBER #REQUIRED) - * (cols NUMBER #REQUIRED) - * (disabled (disabled) #IMPLIED) - * (readonly (readonly) #IMPLIED) - * (tabindex NUMBER #IMPLIED) - * (accesskey %Character; #IMPLIED) - * (onfocus %Script; #IMPLIED) - * (onblur %Script; #IMPLIED) - * (onselect %Script; #IMPLIED) - * (onchange %Script; #IMPLIED) - * (istyle CDATA #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - String[] names = {CHTMLNamespace.ATTR_NAME_NAME, CHTMLNamespace.ATTR_NAME_ROWS, CHTMLNamespace.ATTR_NAME_COLS, CHTMLNamespace.ATTR_NAME_ISTYLE}; - attributeCollection.getDeclarations(attributes, Arrays.asList(names).iterator()); - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTITLE.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTITLE.java deleted file mode 100644 index e92e0ad46d..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedTITLE.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import java.util.Arrays; - -import org.eclipse.wst.xml.core.internal.contentmodel.CMContent; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; - -/** - * TITLE. - */ -final class HedTITLE extends HedPcdata { - - /** - */ - public HedTITLE(ElementCollection collection) { - super(CHTMLNamespace.ElementName.TITLE, collection); - layoutType = LAYOUT_HIDDEN; - } - - /** - * TITLE. - * %i18n; - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %i18n; - attributeCollection.getI18n(attributes); - } - - /** - * Exclusion. - * <code>TITLE</code> has the exclusion. - * It is <code>%head.misc;</code>. - * %head.misc; is <code>SCRIPT|STYLE|META|LINK|OBJECT</code>. - * <br> - */ - public CMContent getExclusion() { - if (exclusion != null) - return exclusion; // already created. - if (elementCollection == null) - return null; - - // (SCRIPT|STYLE|META|LINK|OBJECT) - exclusion = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - - String[] names = {CHTMLNamespace.ElementName.META,}; - elementCollection.getDeclarations(exclusion, Arrays.asList(names).iterator()); - return exclusion; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedUL.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedUL.java deleted file mode 100644 index a2249a8d7b..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/HedUL.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - - - -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; - -/** - * UL. - */ -final class HedUL extends HedListItemContainer { - - /** - */ - public HedUL(ElementCollection collection) { - super(CHTMLNamespace.ElementName.UL, collection); - } - - /** - * UL. - * (type %ULStyle; #IMPLIED) ... should be defined locally. - * (compact (compact) #IMPLIED) - */ - protected void createAttributeDeclarations() { - if (attributes != null) - return; // already created. - if (attributeCollection == null) - return; // fatal - - attributes = new CMNamedNodeMapImpl(); - - // %attrs; - attributeCollection.getAttrs(attributes); - - } - - /** - */ - public CMNamedNodeMap getProhibitedAncestors() { - if (prohibitedAncestors != null) - return prohibitedAncestors; - - String[] names = {CHTMLNamespace.ElementName.DIR, CHTMLNamespace.ElementName.MENU}; - prohibitedAncestors = elementCollection.getDeclarations(names); - - return prohibitedAncestors; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProvider.java deleted file mode 100644 index 6040a3eec9..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProvider.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; - - - -/** - * PropertyProvider class. - * This class is intended to be used in HTMLElementDeclaration instances. - */ -interface PropertyProvider { - - boolean supports(HTMLElementDeclaration edecl); - - Object get(HTMLElementDeclaration edecl); -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java deleted file mode 100644 index 214a2ca5ac..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/chtml/PropertyProviderFactory.java +++ /dev/null @@ -1,364 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.chtml; - -import java.util.Hashtable; - -import org.eclipse.wst.html.core.internal.HTMLCorePlugin; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration; -import org.eclipse.wst.html.core.internal.contentmodel.HTMLPropertyDeclaration; -import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties; -import org.eclipse.wst.xml.core.internal.contentmodel.annotation.AnnotationMap; - -/** - * The factory object of PropertyProvider. - */ -final class PropertyProviderFactory { - - - /** - * DefaultProvider is intended to be used for unknown properties. - * It always returns null value for any properties. - */ - class DefaultProvider implements PropertyProvider { - public DefaultProvider() { - super(); - } - - public boolean supports(HTMLElementDeclaration edecl) { - return false; - } - - public Object get(HTMLElementDeclaration edecl) { - return null; - } - } - - abstract class AbstractElementPropertyProvider implements PropertyProvider { - protected AbstractElementPropertyProvider() { - super(); - } - - public boolean supports(HTMLElementDeclaration edecl) { - return (edecl != null); - } - - public Object get(HTMLElementDeclaration edecl) { - if (!(edecl instanceof HTMLPropertyDeclaration)) - return null; - return getElementProperty((HTMLPropertyDeclaration)edecl); - } - - abstract protected Object getElementProperty(HTMLPropertyDeclaration decl); - } - - /* - * "tagInfo" - * gets documentation for the element - */ - class PPTagInfo extends AbstractElementPropertyProvider { - private final static String htmlAnnotationLoc = "data/htmref.xml"; //$NON-NLS-1$ - protected AnnotationMap fAnnotationMap = null; - - public PPTagInfo() { - super(); - } - - /** - * Gets the annotationMap. - * @return Returns a AnnotationMap - */ - protected AnnotationMap getAnnotationMap() { - if (fAnnotationMap == null) { - fAnnotationMap = new AnnotationMap(); - try { - fAnnotationMap.load(htmlAnnotationLoc, HTMLCorePlugin.getDefault().getBundle().getSymbolicName()); - } - catch (Exception e) { - // no annotation available - } - } - return fAnnotationMap; - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - if (decl instanceof HTMLElementDeclaration) { - return getAnnotationMap().getProperty(((HTMLElementDeclaration)decl).getElementName(), "tagInfo"); //$NON-NLS-1$ - } else { - return null; - } - } - } - - /* - * "shouldKeepSpace" - */ - class PPShouldKeepSpace extends AbstractElementPropertyProvider { - public PPShouldKeepSpace() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.shouldKeepSpaces()); - } - } - - /* - * "shouldIndentChildSource" - */ - class PPShouldIndentChildSource extends AbstractElementPropertyProvider { - public PPShouldIndentChildSource() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.shouldIndentChildSource()); - } - } - - /* - * "terminators" - */ - class PPTerminators extends AbstractElementPropertyProvider { - public PPTerminators() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - if (decl == null) - return null; - if (! (decl instanceof HTMLElemDeclImpl)) return null; - return ((HTMLElemDeclImpl)decl).getTerminators(); - } - } - - /* - * "prohibitedAncestors" - */ - class PPProhibitedAncestors extends AbstractElementPropertyProvider { - public PPProhibitedAncestors() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return decl.getProhibitedAncestors(); - } - } - - /* - * "isJSP" - */ - class PPIsJSP extends AbstractElementPropertyProvider { - public PPIsJSP() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(decl.isJSP()); - } - } - - /* - * "isXHTML" - * HTMLElementDeclaration itself never represent any XHTML element declaration. - * So, this property must be always false. - */ - class PPIsXHTML extends AbstractElementPropertyProvider { - public PPIsXHTML() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(false); - } - } - - /* - * "isSSI" - * Each declaration class for SSI elements must provide this property itself, - * and then return true. Other declaration must always return false. - */ - class PPIsSSI extends AbstractElementPropertyProvider { - public PPIsSSI() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return new Boolean(false); - } - } - - /* - * "lineBreakHint" - */ - class PPLineBreakHint extends AbstractElementPropertyProvider { - public PPLineBreakHint() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String hint = HTMLCMProperties.Values.BREAK_NONE; - switch (decl.getLineBreakHint()) { - case HTMLElementDeclaration.BREAK_AFTER_START : - hint = HTMLCMProperties.Values.BREAK_AFTER_START; - break; - case HTMLElementDeclaration.BREAK_BEFORE_START_AND_AFTER_END : - hint = HTMLCMProperties.Values.BREAK_BEFORE_START_AND_AFTER_END; - break; - case HTMLElementDeclaration.BREAK_NONE : - // nothing to do - default : - break; - } - return hint; - } - } - - /* - * "layoutType" - */ - class PPLayoutType extends AbstractElementPropertyProvider { - public PPLayoutType() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String type = HTMLCMProperties.Values.LAYOUT_NONE; - switch (decl.getLayoutType()) { - case HTMLElementDeclaration.LAYOUT_BLOCK : - type = HTMLCMProperties.Values.LAYOUT_BLOCK; - break; - case HTMLElementDeclaration.LAYOUT_BREAK : - type = HTMLCMProperties.Values.LAYOUT_BREAK; - break; - case HTMLElementDeclaration.LAYOUT_HIDDEN : - type = HTMLCMProperties.Values.LAYOUT_HIDDEN; - break; - case HTMLElementDeclaration.LAYOUT_OBJECT : - type = HTMLCMProperties.Values.LAYOUT_OBJECT; - break; - case HTMLElementDeclaration.LAYOUT_WRAP : - type = HTMLCMProperties.Values.LAYOUT_WRAP; - break; - case HTMLElementDeclaration.LAYOUT_NONE : - // nothing to do. - default : - break; - } - return type; - } - } - - /* - * "omitType" - */ - class PPOmitType extends AbstractElementPropertyProvider { - public PPOmitType() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - String type = HTMLCMProperties.Values.OMIT_NONE; - switch (decl.getOmitType()) { - case HTMLElementDeclaration.OMIT_BOTH : - type = HTMLCMProperties.Values.OMIT_BOTH; - break; - case HTMLElementDeclaration.OMIT_END : - type = HTMLCMProperties.Values.OMIT_END; - break; - case HTMLElementDeclaration.OMIT_END_DEFAULT : - type = HTMLCMProperties.Values.OMIT_END_DEFAULT; - break; - case HTMLElementDeclaration.OMIT_END_MUST : - type = HTMLCMProperties.Values.OMIT_END_MUST; - break; - case HTMLElementDeclaration.OMIT_NONE : - // nothing to do. - default : - break; - } - return type; - } - } - - /* - * "inclusion" - */ - class PPInclusion extends AbstractElementPropertyProvider { - public PPInclusion() { - super(); - } - - protected Object getElementProperty(HTMLPropertyDeclaration decl) { - return decl.getInclusion(); - } - } - - public static PropertyProvider getProvider(String propName) { - PropertyProviderFactory factory = getInstance(); - PropertyProvider pp = (PropertyProvider) factory.registry.get(propName); - if (pp != null) - return pp; - - pp = factory.create(propName); - if (pp == null) - return factory.defaultProvider; - - factory.registry.put(propName, pp); - return pp; - } - - private static PropertyProviderFactory instance = null; - - private synchronized static PropertyProviderFactory getInstance() { - if (instance != null) - return instance; - instance = new PropertyProviderFactory(); - return instance; - } - - private Hashtable registry = new Hashtable(); - private PropertyProvider defaultProvider = new DefaultProvider(); - - private PropertyProviderFactory() { - super(); - } - - private PropertyProvider create(String propName) { - PropertyProvider pp = null; - if (propName.equals(HTMLCMProperties.IS_JSP)) - pp = new PPIsJSP(); - else if (propName.equals(HTMLCMProperties.IS_XHTML)) - pp = new PPIsXHTML(); - else if (propName.equals(HTMLCMProperties.IS_SSI)) - pp = new PPIsSSI(); - else if (propName.equals(HTMLCMProperties.LAYOUT_TYPE)) - pp = new PPLayoutType(); - else if (propName.equals(HTMLCMProperties.LINE_BREAK_HINT)) - pp = new PPLineBreakHint(); - else if (propName.equals(HTMLCMProperties.PROHIBITED_ANCESTORS)) - pp = new PPProhibitedAncestors(); - else if (propName.equals(HTMLCMProperties.SHOULD_KEEP_SPACE)) - pp = new PPShouldKeepSpace(); - else if (propName.equals(HTMLCMProperties.SHOULD_INDENT_CHILD_SOURCE)) - pp = new PPShouldIndentChildSource(); - else if (propName.equals(HTMLCMProperties.TERMINATORS)) - pp = new PPTerminators(); - else if (propName.equals(HTMLCMProperties.TAGINFO)) - pp = new PPTagInfo(); - else if (propName.equals(HTMLCMProperties.OMIT_TYPE)) - pp = new PPOmitType(); - else if (propName.equals(HTMLCMProperties.INCLUSION)) - pp = new PPInclusion(); - - return pp; - } -} diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ssi/SSICMDocumentFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ssi/SSICMDocumentFactory.java deleted file mode 100644 index 3a4dfd70e4..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/ssi/SSICMDocumentFactory.java +++ /dev/null @@ -1,158 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 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.ssi; - -import java.util.Hashtable; -import java.util.Iterator; - -import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocumentFactory; -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; -import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType; - -/** - * CMDocument factory for SSI documents. - */ -public final class SSICMDocumentFactory { - - private final static String PREFIX = "SSI";//$NON-NLS-1$ - private final static String DOC_TYPE_NAME = "SSI";//$NON-NLS-1$ - - static class CMNamespaceImpl implements CMNamespace { - public CMNamespaceImpl() { - super(); - } - - public String getPrefix() { - return PREFIX; - } - - public String getURI() { - return ""; //$NON-NLS-1$ - } - - public String getNodeName() { - return DOC_TYPE_NAME; - } - - public int getNodeType() { - return CMNode.NAME_SPACE; - } - - public boolean supports(String propertyName) { - return false; - } - - public Object getProperty(String propertyName) { - return null; - } - - } - - static class CMDocImpl implements CMDocument { - private static CMDocument hcm = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE); - - static class Elements implements CMNamedNodeMap { - private static String[] names = {HTML40Namespace.ElementName.SSI_CONFIG, HTML40Namespace.ElementName.SSI_ECHO, HTML40Namespace.ElementName.SSI_EXEC, HTML40Namespace.ElementName.SSI_FSIZE, HTML40Namespace.ElementName.SSI_FLASTMOD, HTML40Namespace.ElementName.SSI_INCLUDE, HTML40Namespace.ElementName.SSI_PRINTENV, HTML40Namespace.ElementName.SSI_SET}; - private Hashtable map = new Hashtable(); - - public Elements() { - CMNamedNodeMap elems = hcm.getElements(); - for (int i = 0; i < names.length; i++) { - String name = names[i]; - CMElementDeclaration dec = (CMElementDeclaration) elems.getNamedItem(name); - if (dec != null) - map.put(name, dec); - } - } - - public int getLength() { - return map.size(); - } - - public CMNode getNamedItem(String name) { - String cooked = getCanonicalName(name); - if (!map.containsKey(cooked)) - return null; - return (CMNode) map.get(cooked); - } - - public CMNode item(int index) { - Iterator iter = iterator(); - while (iter.hasNext()) { - Object node = iter.next(); - if (--index < 0) - return (CMNode) node; - } - return null; - } - - public Iterator iterator() { - return map.values().iterator(); - } - - private String getCanonicalName(String rawName) { - return rawName.toUpperCase(); - } - } - - static private Elements elements = new Elements(); - - - public CMDocImpl() { - super(); - } - - public String getNodeName() { - return ""; //$NON-NLS-1$ - } - - public int getNodeType() { - return CMNode.DOCUMENT; - } - - public CMNamedNodeMap getElements() { - return elements; - } - - public CMNamedNodeMap getEntities() { - return null; - } - - public CMNamespace getNamespace() { - return ssins; - } - - public Object getProperty(String propertyName) { - return null; - } - - public boolean supports(String propertyName) { - return false; - } - } - - private static CMNamespace ssins = new CMNamespaceImpl(); - private static CMDocument mycm = new CMDocImpl(); - - private SSICMDocumentFactory() { - super(); - } - - public static CMDocument getCMDocument() { - return mycm; - } - -} |