diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTML5AttributeCollection.java')
-rw-r--r-- | bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTML5AttributeCollection.java | 1326 |
1 files changed, 0 insertions, 1326 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTML5AttributeCollection.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTML5AttributeCollection.java deleted file mode 100644 index 155b67a2bb..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/HTML5AttributeCollection.java +++ /dev/null @@ -1,1326 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 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.html.core.internal.provisional.HTML50Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType; - -public class HTML5AttributeCollection extends AttributeCollection implements HTML50Namespace { - /** html5 core attribs */ - private static final String[] CORE = {ATTR_NAME_ACCESSKEY, ATTR_NAME_CLASS, ATTR_NAME_CONTENT_EDITABLE, ATTR_NAME_CONTEXT_MENU, ATTR_NAME_DIR, ATTR_NAME_DRAGGABLE, ATTR_NAME_HIDDEN, ATTR_NAME_ID, ATTR_NAME_LANG, ATTR_NAME_SPELLCHECK,ATTR_NAME_STYLE, ATTR_NAME_TABINDEX, ATTR_NAME_TITLE}; - /** events for HTML5. */ - private static final String[] EVENTS = {ATTR_NAME_ONABORT, ATTR_NAME_ONBLUR, ATTR_NAME_ONCAN_PLAY, ATTR_NAME_ONCAN_PLAY_THROUGH, ATTR_NAME_ONCHANGE, ATTR_NAME_ONCLICK, ATTR_NAME_ONCONTEXT_MENU, ATTR_NAME_ONDBLCLICK, ATTR_NAME_ONDRAG, ATTR_NAME_ONDRAG_END, ATTR_NAME_ONDRAG_ENTER, ATTR_NAME_ONDRAG_LEAVE, - ATTR_NAME_ONDRAG_OVER, ATTR_NAME_ONDRAG_START, ATTR_NAME_ONDROP, ATTR_NAME_ONDURATION_CHANGE, ATTR_NAME_ONEMPTIED, ATTR_NAME_ONENDED, ATTR_NAME_ONERROR, ATTR_NAME_ONFOCUS, ATTR_NAME_ONFORM_CHANGE, ATTR_NAME_ONFORM_INPUT, ATTR_NAME_ONINVALID,ATTR_NAME_ONKEYPRESS, ATTR_NAME_ONKEYDOWN, ATTR_NAME_ONKEYUP, - ATTR_NAME_ONLOAD, ATTR_NAME_ONLOAD_START, ATTR_NAME_ONLOADED_DATA, ATTR_NAME_ONLOADED_METADATA, ATTR_NAME_ONMOUSEDOWN, ATTR_NAME_ONMOUSEUP, ATTR_NAME_ONMOUSEOVER, ATTR_NAME_ONMOUSEMOVE, ATTR_NAME_ONMOUSEOUT, ATTR_NAME_ONMOUSE_WHEEL, ATTR_NAME_ONPAUSE, ATTR_NAME_ONPLAY, ATTR_NAME_ONPLAYING, ATTR_NAME_ONPROGRESS, - ATTR_NAME_ONRATE_CHANGE, ATTR_NAME_ONREADY_STATE_CHANGE, ATTR_NAME_ONSCROLL, ATTR_NAME_ONSEEKED, ATTR_NAME_ONSEEKING, ATTR_NAME_ONSELECT, ATTR_NAME_ONSHOW, ATTR_NAME_ONSTALLED, ATTR_NAME_ONSUBMIT, ATTR_NAME_ONSUSPEND, ATTR_NAME_ONTIME_UPDATE, ATTR_NAME_ONVOLUME_UPDATE, ATTR_NAME_ONWAITING}; - - protected HTMLAttrDeclImpl create(String attrName) { - HTMLAttrDeclImpl attr = null; - HTMLCMDataTypeImpl atype = null; - if (attrName.equalsIgnoreCase(ATTR_NAME_AUTOFOCUS)) { - // (disabled (disabled) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] values = {ATTR_NAME_AUTOFOCUS}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOFOCUS, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTENT_EDITABLE)) { - // (contenteditable (EMPTY|TRUE|FALSE|INHERIT) TRUE) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_EMPTY, ATTR_VALUE_TRUE, ATTR_VALUE_FALSE, ATTR_VALUE_INHERIT}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTENT_EDITABLE, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CHALLENGE)) { - // (challenge CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHALLENGE, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_CONTEXT_MENU)) { - // (contextmenu, CDATA, IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTEXT_MENU, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_DRAGGABLE)) { - // (draggable (TRUE|FALSE|AUTO) TRUE) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE, ATTR_VALUE_AUTO}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DRAGGABLE, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_FORM)) { - // (form CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORM, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_KEYTYPE)) { - // (keytype CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_KEYTYPE, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_LOW)) { - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LOW, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_HIGH)) { - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HIGH, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_OPTIMUM)) { - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_OPTIMUM, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MIN)) { - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MIN, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_MAX)) { - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAX, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_OPEN)) { - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - atype.setEnumValues(new String[] { ATTR_NAME_OPEN }); - attr = new HTMLAttrDeclImpl(ATTR_NAME_OPEN, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_PUBDATE)) { - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - atype.setEnumValues(new String[] { ATTR_NAME_PUBDATE }); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PUBDATE, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_SPELLCHECK)) { - // (spellcheck (EMPTY|TRUE|FALSE) TRUE) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_EMPTY, ATTR_VALUE_TRUE, ATTR_VALUE_FALSE}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_FALSE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SPELLCHECK, atype, CMAttributeDeclaration.OPTIONAL); - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONABORT)) { - // (onabort %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONABORT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCAN_PLAY)) { - // (oncanplay %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCAN_PLAY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONCAN_PLAY_THROUGH)) { - // (oncanplaythrough %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCAN_PLAY_THROUGH, 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_ONCONTEXT_MENU)) { - // (onacontextmenu %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONCONTEXT_MENU, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG)) { - // (onadrag %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG_END)) { - // (ondragend %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG_END, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG_ENTER)) { - // (ondragenter %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG_ENTER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG_LEAVE)) { - // (ondragleave %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG_LEAVE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG_OVER)) { - // (ondragover %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG_OVER, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDRAG_START)) { - // (ondragstart %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDRAG_START, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDROP)) { - // (ondrop %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDROP, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONDURATION_CHANGE)) { - // (ondurationchange %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONDURATION_CHANGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONEMPTIED)) { - // (onemptied %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONEMPTIED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONENDED)) { - // (onended %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONENDED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONERROR)) { - // (onerror %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONERROR, 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_ONFORM_CHANGE)) { - // (onformchange %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONFORM_CHANGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONFORM_INPUT)) { - // (onforminput %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONFORM_INPUT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONINPUT)) { - // (oninput %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONINPUT, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONINVALID)) { - // (oninvalid %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONINVALID, 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_ONLOAD_START)) { - // (onloadstart %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONLOAD_START, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONLOADED_DATA)) { - // (onloadeddata %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONLOADED_DATA, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONLOADED_METADATA)) { - // (onloadedmetadata %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONLOADED_METADATA, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONMOUSE_WHEEL)) { - // (onmousewheel %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONMOUSE_WHEEL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONPLAY)) { - // (onplay %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONPLAY, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONPLAYING)) { - // (onplaying %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONPLAYING, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONPAUSE)) { - // (onpause %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONPAUSE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONPROGRESS)) { - // (onprogress %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONPROGRESS, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONRATE_CHANGE)) { - // (onratechange %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONRATE_CHANGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONREADY_STATE_CHANGE)) { - // (onreadystatechange %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONREADY_STATE_CHANGE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSCROLL)) { - // (onscroll %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSCROLL, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSEEKED)) { - // (onseeked %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSEEKED, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSEEKING)) { - // (onseeking %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSEEKING, 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_ONSHOW)) { - // (onshow %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSHOW, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONSTALLED)) { - // (onstalled %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSTALLED, 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_ONSUSPEND)) { - // (onsuspend %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONSUSPEND, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONTIME_UPDATE)) { - // (ontimeupdate %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONTIME_UPDATE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONVOLUME_UPDATE)) { - // (onvolumeupdate %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONVOLUME_UPDATE, atype, CMAttributeDeclaration.OPTIONAL); - - } - else if (attrName.equalsIgnoreCase(ATTR_NAME_ONWAITING)) { - // (onwaiting %Script; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.SCRIPT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ONWAITING, atype, CMAttributeDeclaration.OPTIONAL); - } - else { - attr = super.create(attrName); - } - return attr; - } - - public void getAttrs(CMNamedNodeMapImpl declarations) { - // %coreattrs; - getCore(declarations); - // %events; - getEvents(declarations); - } - - public void getCore(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(CORE).iterator(); - getDeclarations(declarations, names); - } - - public void getEvents(CMNamedNodeMapImpl declarations) { - Iterator names = Arrays.asList(EVENTS).iterator(); - getDeclarations(declarations, names); - } - - public void createAttributeDeclarations(String elementName, CMNamedNodeMapImpl attributes) { - /* (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. - * (accept %ContentTypes; #IMPLIED) - * (width CDATA; #IMPLIED) - * (height CDATA; #IMPLIED) - * (autocomplete Boolean; #IMPLIED) - * (autofocus Boolean; #IMPLIED) - * (form CDATA; #IMPLIED) - * (formaction) - * (formenctype) - * (formmethod) - * (formnovalidate) - * (formtarget) - * (list) - * (max) - * (min) - * (multiple) - * (pattern) - * (placeholder CDATA #IMPLIED) - * (required) - * (step) - * discouraged tags :- - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - */ - if (elementName.equals(HTML40Namespace.ElementName.INPUT)){ - 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 - // color| date | time | datetime | datetime-local | month | week| email| - // number | range | search | tel) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_TEXT, ATTR_VALUE_PASSWORD, ATTR_VALUE_CHECKBOX, ATTR_VALUE_RADIO, ATTR_VALUE_SUBMIT, ATTR_VALUE_RESET, ATTR_VALUE_FILE, ATTR_VALUE_HIDDEN, ATTR_VALUE_IMAGE, ATTR_VALUE_BUTTON, - ATTR_VALUE_COLOR, ATTR_VALUE_DATE, ATTR_VALUE_DATETIME, ATTR_VALUE_DATETIME_LOCAL, ATTR_VALUE_EMAIL, ATTR_VALUE_MONTH, ATTR_VALUE_NUMBER, ATTR_VALUE_RANGE, ATTR_VALUE_SEARCH, ATTR_VALUE_TEL, ATTR_VALUE_TIME}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - // (size CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SIZE, attr); - - // (alt CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ALT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_ALT, attr); - - - // (type %autocomeplete; ) ... should be defined locally. - // NOTE: %autocomeplete is ENUM; - // (on | off) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] autoCompleteValues = {ATTR_VALUE_ON, ATTR_VALUE_OFF}; - atype.setEnumValues(autoCompleteValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_AUTOCOMPLETE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_AUTOCOMPLETE, attr); - - - // (form CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORM, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORM, attr); - - - // (formaction URI #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMACTION, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMACTION, attr); - - - // (type %formmethod; GET) ... should be defined locally. - // NOTE: %formmethod is ENUM; - // (GET|POST|PUT|DELETE) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] formMethodValues = {ATTR_VALUE_GET, ATTR_VALUE_POST, ATTR_VALUE_PUT, ATTR_VALUE_DELETE}; - atype.setEnumValues(formMethodValues); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMMETHOD, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMMETHOD, attr); - - // (type %formenctype; GET) ... should be defined locally. - // NOTE: %formenctype is ENUM; - // (application/x-www-form-urlencoded| multipart/form-data| text/plain) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] formEncTypeValues = {ATTR_VALUE_WWW_FORM_URLENCODED, ATTR_VALUE_FORM_DATA, ATTR_VALUE_PLAIN}; - atype.setEnumValues(formEncTypeValues); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMENCTYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMENCTYPE, attr); - - // (formtarget BROWSEING CONTEXT #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.BROWSING_CONTEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMTARGET, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMTARGET, attr); - - // (formtnovalidate #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] formNoValidateValues = {ATTR_NAME_FORMNOVALIDATE}; - atype.setEnumValues(formNoValidateValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMNOVALIDATE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMNOVALIDATE, attr); - - - // (list ID #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.ID); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LIST, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_LIST, attr); - - // (min CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MIN, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_MIN, attr); - - // (max CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAX, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_MAX, attr); - - // (maxlength NUMBER #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MAXLENGTH, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_MAXLENGTH, attr); - - // (multiple #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] multipleValues = {ATTR_NAME_MULTIPLE}; - atype.setEnumValues(multipleValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MULTIPLE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_MULTIPLE, attr); - - - // (step CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_STEP, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_STEP, attr); - - // (placeholder CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PLACEHOLDER, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_PLACEHOLDER, attr); - - // (pattern CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_PATTERN, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_PATTERN, attr); - - // (required #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] requiredValues = {ATTR_NAME_REQUIRED}; - atype.setEnumValues(requiredValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REQUIRED, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_REQUIRED, attr); - - String[] names = {ATTR_NAME_NAME, ATTR_NAME_VALUE, ATTR_NAME_CHECKED, ATTR_NAME_DISABLED, ATTR_NAME_READONLY, ATTR_NAME_SIZE, ATTR_NAME_MAXLENGTH, ATTR_NAME_SRC, ATTR_NAME_ALT, ATTR_NAME_ACCEPT, //<<D215684 - ATTR_NAME_WIDTH, ATTR_NAME_HEIGHT, //<D215684 - //html5 - ATTR_NAME_AUTOFOCUS - }; - getDeclarations(attributes, Arrays.asList(names).iterator()); - //discouraged - // (ismap (ismap) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] ismapValues = {ATTR_NAME_ISMAP}; - atype.setEnumValues(ismapValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ISMAP, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_ISMAP, attr); - - // (usemap %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_USEMAP, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_USEMAP, attr); - - - getDeclarations(attributes, Arrays.asList(names).iterator()); - } - /* (href %URI; #IMPLIED) - * (hreflang %LanguageCode; #IMPLIED) - * (type %ContentType; #IMPLIED): should be defined locally. - * (rel %LinkTypes; #IMPLIED) - * (media %MediaDesc; #IMPLIED) - * // discouraged - * (charset %Charset; #IMPLIED) - * (rev %LinkTypes; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.LINK)){ - String[] names = { ATTR_NAME_TYPE, ATTR_NAME_HREF, ATTR_NAME_HREFLANG, ATTR_NAME_REL, ATTR_NAME_MEDIA}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (sizes %Pixels; #IMPLIED) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZES, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SIZES, attr); - - //discouraged - // (charset %Charset; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CHARSET, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_CHARSET, attr); - - // (rev %LinkTypes; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REV, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_REV, attr); - - // (target %FrameTarget; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.FRAME_TARGET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TARGET, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_TARGET, attr); - - } - /* (type %ContentType; #IMPLIED) - * (href %URI; #IMPLIED) - * (hreflang %LanguageCode; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (rel %LinkTypes; #IMPLIED) - * (media %media_desc; #IMPLIED - * //discouraged - * (charset %Charset; #IMPLIED) - * (name CDATA #IMPLIED) - * (rev %LinkTypes; #IMPLIED) - * (directkey %Character; #IMPLIED) - * (shape %Shape; rect) - * (coords %Coords; #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.A)){ - String[] names = { ATTR_NAME_MEDIA, ATTR_NAME_TYPE, ATTR_NAME_HREF, ATTR_NAME_HREFLANG, ATTR_NAME_REL, ATTR_NAME_TARGET}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - - //discouraged - // (charset %Charset; #IMPLIED) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARSET); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_CHARSET, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_CHARSET, attr); - - // (rev %LinkTypes; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LINK_TYPES); - attr = new HTMLAttrDeclImpl(ATTR_NAME_REV, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_REV, attr); - - // (directkey %Character; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CHARACTER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DIRECTKEY, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_DIRECTKEY, attr); - - // (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); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_SHAPE, attr); - - // (coords %Coords; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COORDS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COORDS, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_COORDS, attr); - - // (name CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_NAME, attr); - - } - /* - * (shape %Shape; rect) - * (coords %Coords; #IMPLIED) - * (href %URI; #IMPLIED) - * (target %FrameTarget; #IMPLIED) - * (alt %Text; #REQUIRED) - * (media %media_desc; #IMPLIED) - * (rel %LinkTypes; #IMPLIED) - * (type %ContentType; #IMPLIED) - * //disocuraged - * (nohref (nohref) #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.AREA)){ - // (media %MediaDesc; #IMPLIED) - String[] names = {ATTR_NAME_TYPE, ATTR_NAME_MEDIA, ATTR_NAME_SHAPE, ATTR_NAME_COORDS, ATTR_NAME_HREF, ATTR_NAME_HREFLANG, ATTR_NAME_TARGET, ATTR_NAME_ALT, ATTR_NAME_REL}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (nohref (nohref) #IMPLIED) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_NOHREF}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_NOHREF, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_NOHREF, attr); - - } - /* - * %globalattrs; - * (http-equiv NAME #IMPLIED) - * (name NAME #IMPLIED) ... should be defined locally. - * (content CDATA #REQUIRED) - * (charset %Charset; #IMPLIED) - * //discouraged - * (scheme CDATA #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.META)){ - // globalattrs; - getAttrs(attributes); - - // (name NAME #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.NAME); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_NAME, attr); - - // (content CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CONTENT, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_CONTENT, attr); - - String[] names = {ATTR_NAME_HTTP_EQUIV, ATTR_NAME_CHARSET}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // discouraged - // (scheme CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCHEME, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_SCHEME, attr); - - } - /* - * (src %URI; #REQUIRED): should be defined locally. - * (alt %Text; #REQUIRED) - * (usemap %URI; #IMPLIED) - * (ismap (ismap) #IMPLIED) - * // discouraged - * (longdesc %URI; #IMPLIED) - * (name CDATA #IMPLIED) - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (align %IAlign; #IMPLIED): should be defined locally. - * (border %Pixels; #IMPLIED) - * (hspace %Pixels; #IMPLIED) - * (vspace %Pixels; #IMPLIED) - * (mapfile %URI; #IMPLIED) - - */ - else if (elementName.equals(HTML40Namespace.ElementName.IMG)){ - // (src %URI; #REQUIRED): should be defined locally. - HTMLCMDataTypeImpl atype = null; - HTMLAttrDeclImpl attr = null; - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SRC, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(ATTR_NAME_SRC, attr); - - String[] names = {ATTR_NAME_ALT, ATTR_NAME_LONGDESC, ATTR_NAME_NAME, ATTR_NAME_HEIGHT, ATTR_NAME_WIDTH, ATTR_NAME_USEMAP, ATTR_NAME_ISMAP, ATTR_NAME_BORDER, ATTR_NAME_HSPACE, ATTR_NAME_VSPACE, ATTR_NAME_MAPFILE}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align (local); should be defined locally. - attr = AttributeCollection.createAlignForImage(); - attributes.putNamedItem(ATTR_NAME_ALIGN, attr); - - } - /* - * (name CDATA #REQUIRED) ... should be defined locally. - * (value CDATA #IMPLIED) - * global attributes - */ - else if (elementName.equals(HTML40Namespace.ElementName.PARAM)){ - - // (name CDATA #REQUIRED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_NAME, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(ATTR_NAME_NAME, attr); - - // (value CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_VALUE, attr); - - // gloabl attrs - getAttrs(attributes); - } - /* - * (autofocus Boolean; #IMPLIED) - * (form CDATA; #IMPLIED) - * (placeholder CDATA #IMPLIED) - * (name CDATA #IMPLIED) - * (rows NUMBER #REQUIRED) - * (cols NUMBER #REQUIRED) - * (disabled (disabled) #IMPLIED) - * (readonly (readonly) #IMPLIED) - * (maxlength NUMBER; #IMPLIED) - * (wrap ENUM; #IMPLIED) - * //discouraged - * (istyle CDATA #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.TEXTAREA)){ - String[] names = {ATTR_NAME_MAXLENGTH, ATTR_NAME_FORM, ATTR_NAME_AUTOFOCUS, ATTR_NAME_NAME, ATTR_NAME_ROWS, ATTR_NAME_COLS, ATTR_NAME_DISABLED, ATTR_NAME_READONLY}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (placeholder CDATA #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_PLACEHOLDER, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_PLACEHOLDER, attr); - - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_SOFT, ATTR_VALUE_HARD}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_SOFT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_WRAP, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_WRAP, attr); - - // discouraged - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ISTYLE, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_ISTYLE, attr); - } - /* - * (charset %Charset; #IMPLIED) - * (type %ContentType; #REQUIRED) ... should be defined locally. - * (asynch boolean #IMPLIED) - * (src %URI; #IMPLIED) - * (defer (defer) #IMPLIED) - * // discouraged - * (language CDATA #IMPLIED) - * (event CDATA #IMPLIED) - * (for %URI; #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.SCRIPT)){ - String[] names = {ATTR_NAME_CHARSET, ATTR_NAME_SRC, ATTR_NAME_DEFER}; - 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(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_ASYNC}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_ASYNC, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_ASYNC, attr); - - - // discouraged - // (language %CDATA; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LANGUAGE, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_LANGUAGE, attr); - - // (event CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_EVENT, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_EVENT, attr); - - // (for %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FOR, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_FOR, attr); - - } - /* - * %attrs; - * (type %ContentType; #REQUIRED) ... should be defined locally. - * (media %MediaDesc; #IMPLIED) - * (scoped boolean; #implied) - */ - else if (elementName.equals(HTML40Namespace.ElementName.STYLE)){ - // %i18n; - getAttrs(attributes); - - String[] names = {ATTR_NAME_MEDIA}; - 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(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.REQUIRED); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_SCOPED}; - atype.setEnumValues(values); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SCOPED, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SCOPED, attr); - } - /* - * %reserved; - * (name CDATA #IMPLIED) - * (size NUMBER #IMPLIED) ... should be defined locally. - * (multiple (multiple) #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (autofocus Boolean; #IMPLIED) - * (form CDATA; #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.SELECT)){ - // (size NUMBER #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_SIZE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SIZE, attr); - - String[] names = {ATTR_NAME_FORM, ATTR_NAME_AUTOFOCUS,ATTR_NAME_NAME, ATTR_NAME_MULTIPLE, ATTR_NAME_DISABLED, ATTR_NAME_TABINDEX, ATTR_NAME_ONFOCUS, ATTR_NAME_ONBLUR, ATTR_NAME_ONCHANGE}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - } - /* - * (value NUMBER #IMPLIED) ... should be defined locally. - * //discouraged - * (type %LIStyle; #IMPLIED) ... should be defined locally. - */ - else if (elementName.equals(HTML40Namespace.ElementName.LI)){ - // (type %LIStyle; #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LI_STYLE); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - // (value NUMBER #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.NUMBER); - attr = new HTMLAttrDeclImpl(ATTR_NAME_VALUE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_VALUE, attr); - - } - /* - * (start NUMBER #IMPLIED) - * (reversed BOOLEAN; IMPLIED) - * //discouraged - * (type %OLStyle; #IMPLIED) ... should be defined locally. - * (compact (compact) #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.OL)){ - - String[] names = { ATTR_NAME_START}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_NAME_REVERSED}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_REVERSED, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_REVERSED, attr); - - //discouraged - // (type %OLStyle; #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.OL_STYLE); - attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - // (compact (compact) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] compactValues = {ATTR_NAME_COMPACT}; - atype.setEnumValues(compactValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COMPACT, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_COMPACT, attr); - } - /** - * %attrs; - * (src %URI; #IMPLIED) - * (srcdoc %CONTENT_TYPE; #IMPLIED) - * (seamless BOOLEAN; #IMPLIED) - * (sandbox CDATA; #IMPLED) - * (height %Length; #IMPLIED) - * (width %Length; #IMPLIED) - * (name CDATA #IMPLIED) - * //discouraged - * (longdesc %URI; #IMPLIED) - * (frameborder (1|0) 1) - * (marginwidth %Pixels; #IMPLIED) - * (marginheight %Pixels; #IMPLIED) - * (scrolling (yes|no|auto) auto) - * (align %IAlign; #IMPLIED) ... should be defined locally. - */ - else if (elementName.equals(HTML40Namespace.ElementName.IFRAME)){ - // %attrs; - getAttrs(attributes); - - //srcdoc - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(HTMLCMDataType.CONTENT_TYPE); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_SRCDOC, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SRCDOC, attr); - - // (seamless (seamless) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] compactValues = {ATTR_NAME_SEAMLESS}; - atype.setEnumValues(compactValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SEAMLESS, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SEAMLESS, attr); - - //sandbox - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_SANDBOX, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_SANDBOX, attr); - - - String[] names = { ATTR_NAME_NAME, ATTR_NAME_SRC, ATTR_NAME_HEIGHT, ATTR_NAME_WIDTH}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - //discouraged - // (marginwidth %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINWIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_MARGINWIDTH, attr); - - // (marginheight %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_MARGINHEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_MARGINHEIGHT, attr); - - // (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); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_SCROLLING, attr); - - // (frameborder (1|0) 1) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] frameValues = {ATTR_VALUE_1, ATTR_VALUE_0}; - atype.setEnumValues(frameValues); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_1); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FRAMEBORDER, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_FRAMEBORDER, attr); - - // (longdesc %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LONGDESC, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_LONGDESC, attr); - - - // align - attr = AttributeCollection.createAlignForImage(); - if (attr != null) - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_ALIGN, attr); - } - /* - * (%attrs) - * (manisfest %URI; #IMPLIED) - * (xmlns %URI; #IMPLIED) - * //discouraged - * (version CDATA #FIXED '%HTML.Version;) - */ - else if (elementName.equals(HTML40Namespace.ElementName.HTML)){ - // %attrs; - getAttrs(attributes); - // (manisfest %URI; #IMPLIED) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.URI); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_MANIFEST, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_MANIFEST, attr); - - // (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); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_VERSION, attr); - - // (xmlns CDATA #FIXED '%xmlns;) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_XMLNS, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_XMLNS, attr); - } - /* - * (type enum; (context | toolbar | list)) - * (label %Text; #IMPLIED) - * //discouraged - * (compact (compact) #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.MENU)){ - // (type %menuType; list) ... should be defined locally is ENUM. - // (context | toolbar | list) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_CONTEXT, ATTR_VALUE_TOOLBAR, ATTR_VALUE_LIST}; - atype.setEnumValues(values); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_LIST); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - // (label %Text; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.TEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_LABEL, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_LABEL, attr); - - // (compact (compact) #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] compactValues = {ATTR_NAME_COMPACT}; - atype.setEnumValues(compactValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_COMPACT, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_COMPACT, attr); - } - /* - * (type %button; TEXT) ... should be defined locally. - * (name CDATA #IMPLIED) - * (value CDATA #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (autofocus Boolean; #IMPLIED) - * (form CDATA; #IMPLIED) - * (formaction) - * (formenctype) - * (formmethod) - * (formnovalidate) - * (formtarget) - */ - else if (elementName.equals(HTML40Namespace.ElementName.BUTTON)){ - // (type (button|submit|reset) submit) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] values = {ATTR_VALUE_BUTTON, ATTR_VALUE_SUBMIT, ATTR_VALUE_RESET}; - atype.setEnumValues(values); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_TYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_TYPE, attr); - - - String[] names = {ATTR_NAME_NAME, ATTR_NAME_VALUE, ATTR_NAME_DISABLED, - //html5 - ATTR_NAME_AUTOFOCUS - }; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // (form CDATA #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORM, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORM, attr); - - - // (formaction URI #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMACTION, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMACTION, attr); - - - // (type %formmethod; GET) ... should be defined locally. - // NOTE: %formmethod is ENUM; - // (GET|POST|PUT|DELETE) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] formMethodValues = {ATTR_VALUE_GET, ATTR_VALUE_POST, ATTR_VALUE_PUT, ATTR_VALUE_DELETE}; - atype.setEnumValues(formMethodValues); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_GET); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMMETHOD, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMMETHOD, attr); - - // (type %formenctype; GET) ... should be defined locally. - // NOTE: %formenctype is ENUM; - // (application/x-www-form-urlencoded| multipart/form-data| text/plain) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] formEncTypeValues = {ATTR_VALUE_WWW_FORM_URLENCODED, ATTR_VALUE_FORM_DATA, ATTR_VALUE_PLAIN}; - atype.setEnumValues(formEncTypeValues); - atype.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_WWW_FORM_URLENCODED); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMENCTYPE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMENCTYPE, attr); - - // (formtarget BROWSEING CONTEXT #IMPLIED) ... should be defined locally. - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.BROWSING_CONTEXT); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMTARGET, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMTARGET, attr); - - // (formtnovalidate #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - // boolean attribute must have the same value as its name. - String[] formNoValidateValues = {ATTR_NAME_FORMNOVALIDATE}; - atype.setEnumValues(formNoValidateValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_FORMNOVALIDATE, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORMNOVALIDATE, attr); - - } - /* - * (name CDATA #IMPLIED) - * (disabled (disabled) #IMPLIED) - * (form CDATA; #IMPLIED) - */ - else if (elementName.equals(HTML40Namespace.ElementName.FIELDSET)){ - // (form CDATA #IMPLIED) ... should be defined locally. - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_FORM, atype, CMAttributeDeclaration.OPTIONAL); - attributes.putNamedItem(ATTR_NAME_FORM, attr); - - String[] names = {ATTR_NAME_NAME, ATTR_NAME_DISABLED }; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - } - /* - * (summary %Text; #IMPLIED) - * //discouraged - * %reserved; - * (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 - */ - else if (elementName.equals(HTML40Namespace.ElementName.TABLE)){ - // %reserved; - // ... %reserved; is empty in the current DTD. - - String[] names = {ATTR_NAME_SUMMARY}; - getDeclarations(attributes, Arrays.asList(names).iterator()); - - // align (local) - HTMLCMDataTypeImpl atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] alignValues = {ATTR_VALUE_LEFT, ATTR_VALUE_CENTER, ATTR_VALUE_RIGHT}; - atype.setEnumValues(alignValues); - HTMLAttrDeclImpl attr = new HTMLAttrDeclImpl(ATTR_NAME_ALIGN, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_ALIGN, attr); - - // (width %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_WIDTH, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_WIDTH, attr); - - // (border %Pixels; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.PIXELS); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDER, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_BORDER, attr); - - // (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); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_FRAME, attr); - - // (rules %TRules; #IMPLIED) - // %TRules; is (none | groups | rows | cols | all). - atype = new HTMLCMDataTypeImpl(CMDataType.ENUM); - String[] ruleValues = {ATTR_VALUE_NONE, ATTR_VALUE_GROUPS, ATTR_VALUE_ROWS, ATTR_VALUE_COLS, ATTR_VALUE_ALL}; - atype.setEnumValues(ruleValues); - attr = new HTMLAttrDeclImpl(ATTR_NAME_RULES, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_RULES, attr); - - // (cellspacing %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLSPACING, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_CELLSPACING, attr); - - // (cellpadding %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_CELLPADDING, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_CELLPADDING, attr); - - // (bgcolor %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BGCOLOR, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_BGCOLOR, attr); - - // (datapagesize CDATA #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.CDATA); - attr = new HTMLAttrDeclImpl(ATTR_NAME_DATAPAGESIZE, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_DATAPAGESIZE, attr); - - // (height %Length; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.LENGTH); - attr = new HTMLAttrDeclImpl(ATTR_NAME_HEIGHT, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_HEIGHT, attr); - - // (background %URI; #IMPLIED) - atype = new HTMLCMDataTypeImpl(CMDataType.URI); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BACKGROUND, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_BACKGROUND, attr); - - // (bordercolor, %Color; #IMPLIED) - atype = new HTMLCMDataTypeImpl(HTMLCMDataType.COLOR); - attr = new HTMLAttrDeclImpl(ATTR_NAME_BORDERCOLOR, atype, CMAttributeDeclaration.OPTIONAL); - attr.obsolete(true); - attributes.putNamedItem(ATTR_NAME_BORDERCOLOR, attr); - - - } - } - - public static String[] getGlobalAttributeList(){ - return CORE; - } - - public static String[] getGlobalEventList(){ - return EVENTS; - } -} |