diff options
author | Tom Tromey <tromey@redhat.com> | 2005-07-16 01:27:14 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-07-16 01:27:14 +0000 |
commit | b0fa81eea9a270f23d6ad67ca7a6d25c18d20da1 (patch) | |
tree | 8762d1f992e2f725a6bde1ff966ed6f1e5f4f823 /libjava/gnu/javax | |
parent | ea54b29342c8506acb4f858c68340c44b72e3532 (diff) | |
download | gcc-b0fa81eea9a270f23d6ad67ca7a6d25c18d20da1.zip gcc-b0fa81eea9a270f23d6ad67ca7a6d25c18d20da1.tar.gz gcc-b0fa81eea9a270f23d6ad67ca7a6d25c18d20da1.tar.bz2 |
Major merge with Classpath.
Removed many duplicate files.
* HACKING: Updated.x
* classpath: Imported new directory.
* standard.omit: New file.
* Makefile.in, aclocal.m4, configure: Rebuilt.
* sources.am: New file.
* configure.ac: Run Classpath configure script. Moved code around
to support. Disable xlib AWT peers (temporarily).
* Makefile.am (SUBDIRS): Added 'classpath'
(JAVAC): Removed.
(AM_CPPFLAGS): Added more -I options.
(BOOTCLASSPATH): Simplified.
Completely redid how sources are built.
Include sources.am.
* include/Makefile.am (tool_include__HEADERS): Removed jni.h.
* include/jni.h: Removed (in Classpath).
* scripts/classes.pl: Updated to look at built classes.
* scripts/makemake.tcl: New file.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added
-I options.
(gcj_jni_invocation_compile_c_to_binary): Likewise.
From-SVN: r102082
Diffstat (limited to 'libjava/gnu/javax')
23 files changed, 0 insertions, 9544 deletions
diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.java b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.java deleted file mode 100755 index 1ed42a2..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.java +++ /dev/null @@ -1,3729 +0,0 @@ -/* HTML_401F.java -- HTML 4.01 FRAMESET DTD java conception. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser; - -import gnu.javax.swing.text.html.parser.models.PCDATAonly_model; -import gnu.javax.swing.text.html.parser.models.TableRowContentModel; -import gnu.javax.swing.text.html.parser.models.noTagModel; - -import java.io.IOException; -import java.io.Serializable; - -import javax.swing.text.html.parser.*; -import javax.swing.text.html.parser.ContentModel; -import javax.swing.text.html.parser.DTDConstants; - -/** - * This class represents the java implementation of the HTML 4.01 - * ( -//W3C//DTD HTML 4.01 Frameset//EN ) Frameset version. The - * Frameset version includes as recommended, as obsoleted features and - * also the frameset support. This the default DTD to parse HTML - * documents in this implementation, containing 315 pre-defined general - * entities and 92 elements. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class HTML_401F - extends gnuDTD - implements DTDConstants, Serializable -{ - private static final long serialVersionUID = 1; - - /** - * The standard name of this DTD, - * '-//W3C//DTD HTML 4.01 Frameset//EN' - */ - public static final String DTD_NAME = "-//W3C//DTD HTML 4.01 Frameset//EN"; - - /** - * The integer representing length in pixels. - */ - static final int PIXELS = NUMBER; - - static final String[] NONE = new String[0]; - - /* Define the HTML tags. */ - static final String PCDATA = "#pcdata"; - static final String A = "a"; - static final String ABBR = "abbr"; - static final String ACRONYM = "acronym"; - static final String ADDRESS = "address"; - static final String APPLET = "applet"; - static final String AREA = "area"; - static final String B = "b"; - static final String BASE = "base"; - static final String BASEFONT = "basefont"; - static final String BDO = "bdo"; - static final String BIG = "big"; - static final String BLOCKQUOTE = "blockquote"; - static final String BODY = "body"; - static final String BR = "br"; - static final String BUTTON = "button"; - static final String CAPTION = "caption"; - static final String CENTER = "center"; - static final String CITE = "cite"; - static final String CODE = "code"; - static final String COL = "col"; - static final String COLGROUP = "colgroup"; - static final String DEFAULTS = "default"; - static final String DD = "dd"; - static final String DEL = "del"; - static final String DFN = "dfn"; - static final String DIR = "dir"; - static final String DIV = "div"; - static final String DL = "dl"; - static final String DT = "dt"; - static final String EM = "em"; - static final String FIELDSET = "fieldset"; - static final String FONT = "font"; - static final String FORM = "form"; - static final String FRAME = "frame"; - static final String FRAMESET = "frameset"; - static final String H1 = "h1"; - static final String H2 = "h2"; - static final String H3 = "h3"; - static final String H4 = "h4"; - static final String H5 = "h5"; - static final String H6 = "h6"; - static final String HEAD = "head"; - static final String HR = "hr"; - static final String HTML = "html"; - static final String I = "i"; - static final String IFRAME = "iframe"; - static final String IMG = "img"; - static final String INPUT = "input"; - static final String INS = "ins"; - static final String ISINDEX = "isindex"; - static final String KBD = "kbd"; - static final String LABEL = "label"; - static final String LEGEND = "legend"; - static final String LI = "li"; - static final String LINK = "link"; - static final String MAP = "map"; - static final String MENU = "menu"; - static final String META = "meta"; - static final String NOFRAMES = "noframes"; - static final String NOSCRIPT = "noscript"; - static final String NONES = "none"; - static final String sNAME = "name"; - static final String OBJECT = "object"; - static final String OL = "ol"; - static final String OPTGROUP = "optgroup"; - static final String OPTION = "option"; - static final String P = "p"; - static final String PARAM = "param"; - static final String PRE = "pre"; - static final String Q = "q"; - static final String S = "s"; - static final String SAMP = "samp"; - static final String SCRIPT = "script"; - static final String SELECT = "select"; - static final String SMALL = "small"; - static final String SPAN = "span"; - static final String STRIKE = "strike"; - static final String STRONG = "strong"; - static final String STYLE = "style"; - static final String SUB = "sub"; - static final String SUP = "sup"; - static final String TABLE = "table"; - static final String TBODY = "tbody"; - static final String TD = "td"; - static final String TEXTAREA = "textarea"; - static final String TFOOT = "tfoot"; - static final String TH = "th"; - static final String THEAD = "thead"; - static final String TITLE = "title"; - static final String TR = "tr"; - static final String TT = "tt"; - static final String U = "u"; - static final String UL = "ul"; - static final String VAR = "var"; - - /* Define the attribute constants. */ - static final String C_0 = "0"; - static final String C_1 = "1"; - static final String CHECKBOX = "checkbox"; - static final String DATA = "data"; - static final String FILE = "file"; - static final String GET = "get"; - static final String HIDDEN = "hidden"; - static final String IMAGE = "image"; - static final String PASSWORD = "password"; - static final String POST = "post"; - static final String RADIO = "radio"; - static final String REF = "ref"; - static final String RESET = "reset"; - static final String SUBMIT = "submit"; - static final String TEXT = "text"; - static final String ABOVE = "above"; - static final String ACCEPT = "accept"; - static final String ACCEPTCHARSET = "accept-charset"; - static final String ACCESSKEY = "accesskey"; - static final String ACTION = "action"; - static final String ALIGN = "align"; - static final String ALINK = "alink"; - static final String ALL = "all"; - static final String ALT = "alt"; - static final String APPLICATION_X_WWW_FORM_URLENCODED - = "application/x-www-form-urlencoded"; - static final String ARCHIVE = "archive"; - static final String AUTO = "auto"; - static final String AXIS = "axis"; - static final String BACKGROUND = "background"; - static final String BASELINE = "baseline"; - static final String BELOW = "below"; - static final String BGCOLOR = "bgcolor"; - static final String BORDER = "border"; - static final String BOTTOM = "bottom"; - static final String BOX = "box"; - static final String CELLPADDING = "cellpadding"; - static final String CELLSPACING = "cellspacing"; - static final String CHAR = "char"; - static final String CHAROFF = "charoff"; - static final String CHARSET = "charset"; - static final String CHECKED = "checked"; - static final String CIRCLE = "circle"; - static final String CLASS = "class"; - static final String CLASSID = "classid"; - static final String CLEAR = "clear"; - static final String CODEBASE = "codebase"; - static final String CODETYPE = "codetype"; - static final String COLOR = "color"; - static final String COLS = "cols"; - static final String COLSPAN = "colspan"; - static final String COMPACT = "compact"; - static final String CONTENT = "content"; - static final String COORDS = "coords"; - static final String DATAPAGESIZE = "datapagesize"; - static final String DATETIME = "datetime"; - static final String DECLARE = "declare"; - static final String DEFER = "defer"; - static final String DISABLED = "disabled"; - static final String DISC = "disc"; - static final String ENCTYPE = "enctype"; - static final String EVENT = "event"; - static final String FACE = "face"; - static final String FOR = "for"; - static final String FRAMEBORDER = "frameborder"; - static final String GROUPS = "groups"; - static final String HEADERS = "headers"; - static final String HEIGHT = "height"; - static final String HREF = "href"; - static final String HREFLANG = "hreflang"; - static final String HSIDES = "hsides"; - static final String HSPACE = "hspace"; - static final String HTTPEQUIV = "http-equiv"; - static final String sID = "id"; - static final String ISMAP = "ismap"; - static final String JUSTIFY = "justify"; - static final String LANG = "lang"; - static final String LANGUAGE = "language"; - static final String LEFT = "left"; - static final String LHS = "lhs"; - static final String LONGDESC = "longdesc"; - static final String LTR = "ltr"; - static final String MARGINHEIGHT = "marginheight"; - static final String MARGINWIDTH = "marginwidth"; - static final String MAXLENGTH = "maxlength"; - static final String MEDIA = "media"; - static final String METHOD = "method"; - static final String MIDDLE = "middle"; - static final String MULTIPLE = "multiple"; - static final String NO = "no"; - static final String NOHREF = "nohref"; - static final String NORESIZE = "noresize"; - static final String NOSHADE = "noshade"; - static final String NOWRAP = "nowrap"; - static final String ONBLUR = "onblur"; - static final String ONCHANGE = "onchange"; - static final String ONCLICK = "onclick"; - static final String ONDBLCLICK = "ondblclick"; - static final String ONFOCUS = "onfocus"; - static final String ONKEYDOWN = "onkeydown"; - static final String ONKEYPRESS = "onkeypress"; - static final String ONKEYUP = "onkeyup"; - static final String ONLOAD = "onload"; - static final String ONMOUSEDOWN = "onmousedown"; - static final String ONMOUSEMOVE = "onmousemove"; - static final String ONMOUSEOUT = "onmouseout"; - static final String ONMOUSEOVER = "onmouseover"; - static final String ONMOUSEUP = "onmouseup"; - static final String ONRESET = "onreset"; - static final String ONSELECT = "onselect"; - static final String ONSUBMIT = "onsubmit"; - static final String ONUNLOAD = "onunload"; - static final String POLY = "poly"; - static final String PROFILE = "profile"; - static final String PROMPT = "prompt"; - static final String READONLY = "readonly"; - static final String RECT = "rect"; - static final String REL = "rel"; - static final String REV = "rev"; - static final String RHS = "rhs"; - static final String RIGHT = "right"; - static final String ROW = "row"; - static final String ROWGROUP = "rowgroup"; - static final String ROWS = "rows"; - static final String ROWSPAN = "rowspan"; - static final String RTL = "rtl"; - static final String RULES = "rules"; - static final String SCHEME = "scheme"; - static final String SCOPE = "scope"; - static final String SCROLLING = "scrolling"; - static final String SELECTED = "selected"; - static final String SHAPE = "shape"; - static final String SIZE = "size"; - static final String SQUARE = "square"; - static final String SRC = "src"; - static final String STANDBY = "standby"; - static final String START = "start"; - static final String SUMMARY = "summary"; - static final String TABINDEX = "tabindex"; - static final String TARGET = "target"; - static final String TOP = "top"; - static final String TYPE = "type"; - static final String USEMAP = "usemap"; - static final String VALIGN = "valign"; - static final String VALUE = "value"; - static final String VALUETYPE = "valuetype"; - static final String VERSION = "version"; - static final String VLINK = "vlink"; - static final String VOID = "void"; - static final String VSIDES = "vsides"; - static final String VSPACE = "vspace"; - static final String WIDTH = "width"; - static final String YES = "yes"; - - static final String[] BLOCK = - new String[] { - ADDRESS, BLOCKQUOTE, CENTER, DIR, - DIV, DL, FIELDSET, FORM, - H1, H2, H3, H4, H5, H6, - HR, ISINDEX, MENU, NOFRAMES, NOSCRIPT, - OL, P, PRE, TABLE, UL - }; - - /** - * Creates this DTD, filling in the entities and attributes data - * as defined in -//W3C//DTD HTML 4.01 Frameset//EN. - */ - protected HTML_401F() - { - super(DTD_NAME); - defineEntities(); - defineElements(); - } - - /** - * Either takes the document (by name) from DTD table, or - * creates a new instance and registers it in the tabe. - * The document is registerd under name "-//W3C//DTD HTML 4.01 Frameset//EN". - * @return The new or existing DTD for parsing HTML 4.01 Frameset. - */ - public static DTD getInstance() - { - try - { - DTD dtd = getDTD(DTD_NAME); - if (dtd == null || dtd.getClass().equals(DTD.class)) - { - dtd = new HTML_401F(); - putDTDHash(DTD_NAME, dtd); - } - return dtd; - } - catch (IOException ex) - { - throw new Error("This should never happen. Report the bug.", ex); - } - } - - /** - * Define all elements of this DTD. - */ - protected void defineElements() - { - /* Define the elements. */ - defElement(PCDATA, 0, false, false, null, NONE, NONE, - new AttributeList[ 0 ]); - - defElement(A, 0, false, false, null, - new String[] { - A - } - , - new String[] { - PCDATA, ABBR, ACRONYM, APPLET, - B, BASEFONT, BDO, BIG, BR, - BUTTON, CITE, CODE, DFN, EM, - FONT, I, IFRAME, IMG, INPUT, - KBD, LABEL, MAP, OBJECT, Q, - S, SAMP, SCRIPT, SELECT, SMALL, - SPAN, STRIKE, STRONG, SUB, SUP, - TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CHARSET, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(HREF, null, null, 0, IMPLIED), - attr(HREFLANG, null, null, 0, IMPLIED), - attr(TARGET, null, null, 0, IMPLIED), - attr(REL, null, null, 0, IMPLIED), - attr(REV, null, null, 0, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(SHAPE, RECT, new String[] { RECT, CIRCLE, POLY, DEFAULTS }, - 0, DEFAULT), - attr(COORDS, null, null, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED) - } - ); - defElement(ABBR, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(ACRONYM, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(ADDRESS, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - P - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(APPLET, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL, PARAM - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(CODEBASE, null, null, 0, IMPLIED), - attr(ARCHIVE, null, null, 0, IMPLIED), - attr(CODE, null, null, 0, IMPLIED), - attr(OBJECT, null, null, 0, IMPLIED), - attr(ALT, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, REQUIRED), - attr(HEIGHT, null, null, 0, REQUIRED), - attr(ALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED), - attr(HSPACE, null, null, 0, IMPLIED), - attr(VSPACE, null, null, 0, IMPLIED) - } - ); - defElement(AREA, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SHAPE, RECT, new String[] { RECT, CIRCLE, POLY, DEFAULTS }, - 0, DEFAULT), - attr(COORDS, null, null, 0, IMPLIED), - attr(HREF, null, null, 0, IMPLIED), - attr(TARGET, null, null, 0, IMPLIED), - attr(NOHREF, null, new String[] { NOHREF }, 0, IMPLIED), - attr(ALT, null, null, 0, REQUIRED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED) - } - ); - defElement(B, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(BASE, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(HREF, null, null, 0, IMPLIED), - attr(TARGET, null, null, 0, IMPLIED) - } - ); - defElement(BASEFONT, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(SIZE, null, null, 0, REQUIRED), - attr(COLOR, null, null, 0, IMPLIED), - attr(FACE, null, null, 0, IMPLIED) - } - ); - defElement(BDO, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, REQUIRED) - } - ); - defElement(BIG, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(BLOCKQUOTE, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CITE, null, null, 0, IMPLIED) - } - ); - defElement(BODY, 0, true, true, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DEL, DIR, - DIV, DL, FIELDSET, FORM, H1, - H2, H3, H4, H5, H6, - HR, INS, ISINDEX, MENU, NOFRAMES, - NOSCRIPT, OL, P, PRE, TABLE, - UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ONLOAD, null, null, 0, IMPLIED), - attr(ONUNLOAD, null, null, 0, IMPLIED), - attr(BACKGROUND, null, null, 0, IMPLIED), - attr(BGCOLOR, null, null, 0, IMPLIED), - attr(TEXT, null, null, 0, IMPLIED), - attr(LINK, null, null, 0, IMPLIED), - attr(VLINK, null, null, 0, IMPLIED), - attr(ALINK, null, null, 0, IMPLIED) - } - ); - defElement(BR, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(CLEAR, "NONE", new String[] { LEFT, ALL, RIGHT, NONES }, - 0, DEFAULT) - } - ); - defElement(BUTTON, 0, false, false, null, - new String[] { - A, BUTTON, IFRAME, INPUT, - LABEL, SELECT, TEXTAREA, FIELDSET, FORM, - ISINDEX - } - , - new String[] { - PCDATA, ABBR, ACRONYM, APPLET, - B, BASEFONT, BDO, BIG, BR, - CITE, CODE, DFN, EM, FONT, - I, IMG, KBD, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SMALL, - SPAN, STRIKE, STRONG, SUB, SUP, - TT, U, VAR, ADDRESS, BLOCKQUOTE, - CENTER, DIR, DIV, DL, H1, - H2, H3, H4, H5, H6, - HR, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(VALUE, null, null, 0, IMPLIED), - attr(TYPE, SUBMIT, new String[] { BUTTON, SUBMIT, RESET }, 0, DEFAULT), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED) - } - ); - defElement(CAPTION, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { TOP, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED) - } - ); - defElement(CENTER, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(CITE, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(CODE, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(COL, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SPAN, C_1, null, NUMBER, DEFAULT), - attr(WIDTH, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED) - } - ); - defElement(COLGROUP, 0, false, true, null, - NONE - , - new String[] { - COL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SPAN, C_1, null, NUMBER, DEFAULT), - attr(WIDTH, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED) - } - ); - defElement(DD, 0, false, true, new ContentModel(0, - new noTagModel( new String[] { DD, DT } ), null ), - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(DEL, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CITE, null, null, 0, IMPLIED), - attr(DATETIME, null, null, 0, IMPLIED) - } - ); - defElement(DFN, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(DIR, 0, false, false, createListModel(), - new String[] { - ADDRESS, BLOCKQUOTE, CENTER, DIR, - DIV, DL, FIELDSET, FORM, H1, - H2, H3, H4, H5, H6, - HR, ISINDEX, MENU, NOFRAMES, NOSCRIPT, - OL, P, PRE, TABLE, UL - } - , - new String[] { - LI, UL, OL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(COMPACT, null, new String[] { COMPACT }, 0, IMPLIED) - } - ); - defElement(DIV, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(DL, 0, false, false, createDefListModel(), - NONE - , - new String[] { - DD, DT - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(COMPACT, null, new String[] { COMPACT }, 0, IMPLIED) - } - ); - defElement(DT, 0, false, true, - new ContentModel(0, - new noTagModel( new String[] { DT, DD } ), null), - BLOCK - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(EM, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(FIELDSET, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL, LEGEND - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(FONT, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(SIZE, null, null, 0, IMPLIED), - attr(COLOR, null, null, 0, IMPLIED), - attr(FACE, null, null, 0, IMPLIED) - } - ); - defElement(FORM, 0, false, false, null, - new String[] { - FORM - } - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, H1, H2, H3, - H4, H5, H6, HR, ISINDEX, - MENU, NOFRAMES, NOSCRIPT, OL, P, - PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ACTION, null, null, 0, REQUIRED), - attr(METHOD, GET, new String[] { GET, POST }, 0, DEFAULT), - attr(ENCTYPE, APPLICATION_X_WWW_FORM_URLENCODED, null, 0, DEFAULT), - attr(ACCEPT, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(ONSUBMIT, null, null, 0, IMPLIED), - attr(ONRESET, null, null, 0, IMPLIED), - attr(TARGET, null, null, 0, IMPLIED), - attr(ACCEPTCHARSET, null, null, 0, IMPLIED) - } - ); - defElement(FRAME, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LONGDESC, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(SRC, null, null, 0, IMPLIED), - attr(FRAMEBORDER, C_1, new String[] { C_1, C_0 }, 0, DEFAULT), - attr(MARGINWIDTH, null, null, PIXELS, IMPLIED), - attr(MARGINHEIGHT, null, null, PIXELS, IMPLIED), - attr(NORESIZE, null, new String[] { NORESIZE }, 0, IMPLIED), - attr(SCROLLING, AUTO, new String[] { YES, NO, AUTO }, 0, DEFAULT) - } - ); - defElement(FRAMESET, 0, false, false, null, - NONE - , - new String[] { - NOFRAMES, FRAME, FRAMESET - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(ROWS, null, null, 0, IMPLIED), - attr(COLS, null, null, 0, IMPLIED), - attr(ONLOAD, null, null, 0, IMPLIED), - attr(ONUNLOAD, null, null, 0, IMPLIED) - } - ); - defElement(H1, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(H2, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(H3, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(H4, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(H5, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(H6, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(HEAD, 0, true, true, null, - new String[] { - BODY - } - , - new String[] { - TITLE, ISINDEX, BASE, - SCRIPT, STYLE, META, LINK, OBJECT - } - , - new AttributeList[] { - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(PROFILE, null, null, 0, IMPLIED) - } - ); - - defElement(HR, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT }, 0, IMPLIED), - attr(NOSHADE, null, new String[] { NOSHADE }, 0, IMPLIED), - attr(SIZE, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED) - } - ); - defElement(HTML, 0, true, true, createHtmlContentModel(), - NONE - , - new String[] { - HEAD, BODY - } - , - new AttributeList[] { - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(VERSION, DTD_NAME, null, 0, FIXED) - } - ); - defElement(I, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(IFRAME, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LONGDESC, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(SRC, null, null, 0, IMPLIED), - attr(FRAMEBORDER, C_1, new String[] { C_1, C_0 }, 0, DEFAULT), - attr(MARGINWIDTH, null, null, PIXELS, IMPLIED), - attr(MARGINHEIGHT, null, null, PIXELS, IMPLIED), - attr(SCROLLING, AUTO, new String[] { YES, NO, AUTO }, 0, DEFAULT), - attr(ALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED), - attr(HEIGHT, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED) - } - ); - defElement(IMG, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SRC, null, null, 0, REQUIRED), - attr(ALT, null, null, 0, REQUIRED), - attr(LONGDESC, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(HEIGHT, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED), - attr(USEMAP, null, null, 0, IMPLIED), - attr(ISMAP, null, new String[] { ISMAP }, 0, IMPLIED), - attr(ALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED), - attr(BORDER, null, null, PIXELS, IMPLIED), - attr(HSPACE, null, null, 0, IMPLIED), - attr(VSPACE, null, null, 0, IMPLIED) - } - ); - defElement(INPUT, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(TYPE, TEXT, new String[] { TEXT, PASSWORD, CHECKBOX, RADIO, - SUBMIT, RESET, FILE, HIDDEN, IMAGE, BUTTON }, 0, DEFAULT), - attr(sNAME, null, null, 0, IMPLIED), - attr(VALUE, null, null, 0, IMPLIED), - attr(CHECKED, null, new String[] { CHECKED }, 0, IMPLIED), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(READONLY, null, new String[] { READONLY }, 0, IMPLIED), - attr(SIZE, null, null, 0, IMPLIED), - attr(MAXLENGTH, null, null, 0, IMPLIED), - attr(SRC, null, null, 0, IMPLIED), - attr(ALT, null, null, 0, IMPLIED), - attr(USEMAP, null, null, 0, IMPLIED), - attr(ISMAP, null, new String[] { ISMAP }, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED), - attr(ONSELECT, null, null, 0, IMPLIED), - attr(ONCHANGE, null, null, 0, IMPLIED), - attr(ACCEPT, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED) - } - ); - defElement(INS, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CITE, null, null, 0, IMPLIED), - attr(DATETIME, null, null, 0, IMPLIED) - } - ); - defElement(ISINDEX, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(PROMPT, null, null, 0, IMPLIED) - } - ); - defElement(KBD, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(LABEL, 0, false, false, null, - new String[] { - LABEL - } - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, MAP, OBJECT, Q, - S, SAMP, SCRIPT, SELECT, SMALL, - SPAN, STRIKE, STRONG, SUB, SUP, - TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(FOR, null, null, 0, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED) - } - ); - defElement(LEGEND, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { TOP, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED) - } - ); - // LI has a special content model that will be resolved into - // by transformer. - defElement(LI, 0, false, true, - new ContentModel(0, - new noTagModel(LI), null), - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, IMPLIED), - attr(VALUE, null, null, NUMBER, IMPLIED) - } - ); - defElement(LINK, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CHARSET, null, null, 0, IMPLIED), - attr(HREF, null, null, 0, IMPLIED), - attr(HREFLANG, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, IMPLIED), - attr(REL, null, null, 0, IMPLIED), - attr(REV, null, null, 0, IMPLIED), - attr(MEDIA, null, null, 0, IMPLIED), - attr(TARGET, null, null, 0, IMPLIED) - } - ); - defElement(MAP, 0, false, false, null, - NONE - , - new String[] { - ADDRESS, BLOCKQUOTE, CENTER, DIR, - DIV, DL, FIELDSET, FORM, H1, - H2, H3, H4, H5, H6, - HR, ISINDEX, MENU, NOFRAMES, NOSCRIPT, - OL, P, PRE, TABLE, UL, - AREA - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, REQUIRED) - } - ); - defElement(MENU, 0, false, false, createListModel(), - new String[] { - ADDRESS, BLOCKQUOTE, CENTER, DIR, - DIV, DL, FIELDSET, FORM, H1, - H2, H3, H4, H5, H6, - HR, ISINDEX, MENU, NOFRAMES, NOSCRIPT, - OL, P, PRE, TABLE, UL - } - , - new String[] { - LI, UL, OL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(COMPACT, null, new String[] { COMPACT }, 0, IMPLIED) - } - ); - defElement(META, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(HTTPEQUIV, null, null, 0, IMPLIED), - attr(sNAME, null, null, NAME, IMPLIED), - attr(CONTENT, null, null, 0, REQUIRED), - attr(SCHEME, null, null, 0, IMPLIED) - } - ); - defElement(NOFRAMES, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(NOSCRIPT, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(OBJECT, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL, PARAM - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(DECLARE, null, new String[] { DECLARE }, 0, IMPLIED), - attr(CLASSID, null, null, 0, IMPLIED), - attr(CODEBASE, null, null, 0, IMPLIED), - attr(DATA, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, IMPLIED), - attr(CODETYPE, null, null, 0, IMPLIED), - attr(ARCHIVE, null, null, 0, IMPLIED), - attr(STANDBY, null, null, 0, IMPLIED), - attr(HEIGHT, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED), - attr(USEMAP, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, LEFT, RIGHT }, - 0, IMPLIED), - attr(BORDER, null, null, PIXELS, IMPLIED), - attr(HSPACE, null, null, 0, IMPLIED), - attr(VSPACE, null, null, 0, IMPLIED) - } - ); - defElement(OL, 0, false, false, createListModel(), - NONE - , - new String[] { - // See note on the createListModel method - LI, UL, OL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, IMPLIED), - attr(COMPACT, null, new String[] { COMPACT }, 0, IMPLIED), - attr(START, null, null, 0, IMPLIED) - } - ); - defElement(OPTGROUP, 0, false, false, null, - NONE - , - new String[] { - OPTION - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(LABEL, null, null, 0, REQUIRED) - } - ); - defElement(OPTION, 0, false, true, new ContentModel(0, - new PCDATAonly_model(), null), - NONE, - new String[] { - PCDATA - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SELECTED, null, new String[] { SELECTED }, 0, IMPLIED), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(LABEL, null, null, 0, IMPLIED), - attr(VALUE, null, null, 0, IMPLIED) - } - ); - defElement(P, 0, false, true, new ContentModel( 0, - new noTagModel(P), null), - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY }, - 0, IMPLIED) - } - ); - defElement(PARAM, EMPTY, false, true, null, - NONE - , - NONE - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(sNAME, null, null, 0, REQUIRED), - attr(VALUE, null, null, 0, IMPLIED), - attr(VALUETYPE, DATA, new String[] { DATA, REF, OBJECT }, 0, DEFAULT), - attr(TYPE, null, null, 0, IMPLIED) - } - ); - defElement(PRE, 0, false, false, null, - new String[] { - APPLET, BASEFONT, BIG, FONT, - IMG, OBJECT, SMALL, SUB, SUP - } - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - B, BDO, BR, BUTTON, CITE, - CODE, DFN, EM, I, IFRAME, - INPUT, KBD, LABEL, MAP, Q, - S, SAMP, SCRIPT, SELECT, SPAN, - STRIKE, STRONG, TEXTAREA, TT, U, - VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(WIDTH, null, null, NUMBER, IMPLIED) - } - ); - defElement(Q, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(CITE, null, null, 0, IMPLIED) - } - ); - defElement(S, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(SAMP, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(SCRIPT, CDATA, false, false, null, - NONE - , - NONE - , - new AttributeList[] { - attr(CHARSET, null, null, 0, IMPLIED), - attr(TYPE, null, null, 0, REQUIRED), - attr(LANGUAGE, null, null, 0, IMPLIED), - attr(SRC, null, null, 0, IMPLIED), - attr(DEFER, null, new String[] { DEFER }, 0, IMPLIED), - attr(EVENT, null, null, 0, IMPLIED), - attr(FOR, null, null, 0, IMPLIED) - } - ); - defElement(SELECT, 0, false, false, null, - NONE - , - new String[] { - OPTGROUP, OPTION - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(SIZE, null, null, NUMBER, IMPLIED), - attr(MULTIPLE, null, new String[] { MULTIPLE }, 0, IMPLIED), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED), - attr(ONCHANGE, null, null, 0, IMPLIED) - } - ); - defElement(SMALL, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(SPAN, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(STRIKE, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(STRONG, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(STYLE, CDATA, false, false, null, - NONE - , - NONE - , - new AttributeList[] { - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(TYPE, null, null, 0, REQUIRED), - attr(MEDIA, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED) - } - ); - defElement(SUB, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(SUP, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(TABLE, 0, false, false, createTableContentModel(), - NONE - , - new String[] { - CAPTION, COL, COLGROUP, TBODY, - TFOOT, THEAD - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(SUMMARY, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED), - attr(BORDER, null, null, PIXELS, IMPLIED), - attr(FRAME, null, new String[] { VOID, ABOVE, BELOW, HSIDES, LHS, RHS, - VSIDES, BOX, BORDER }, 0, IMPLIED), - attr(RULES, null, new String[] { NONES, GROUPS, ROWS, COLS, ALL }, - 0, IMPLIED), - attr(CELLSPACING, null, null, 0, IMPLIED), - attr(CELLPADDING, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT }, 0, IMPLIED), - attr(BGCOLOR, null, null, 0, IMPLIED), - attr(DATAPAGESIZE, null, null, 0, IMPLIED) - } - ); - defElement(TBODY, 0, true, true, model(TR,'+'), - NONE - , - new String[] { - TR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED) - } - ); - - defElement(TD, 0, false, true, - new ContentModel(0, - new noTagModel(new String[] {"TD", "TH", "TR" } ), null), - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ABBR, null, null, 0, IMPLIED), - attr(AXIS, null, null, 0, IMPLIED), - attr(HEADERS, null, null, 0, IMPLIED), - attr(SCOPE, null, new String[] { ROW, COL, ROWGROUP, COLGROUP }, - 0, IMPLIED), - attr(ROWSPAN, C_1, null, NUMBER, DEFAULT), - attr(COLSPAN, C_1, null, NUMBER, DEFAULT), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED), - attr(NOWRAP, null, new String[] { NOWRAP }, 0, IMPLIED), - attr(BGCOLOR, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED), - attr(HEIGHT, null, null, 0, IMPLIED) - } - ); - defElement(TEXTAREA, 0, false, false, null, - NONE - , - new String[] { - PCDATA - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(sNAME, null, null, 0, IMPLIED), - attr(ROWS, null, null, NUMBER, REQUIRED), - attr(COLS, null, null, NUMBER, REQUIRED), - attr(DISABLED, null, new String[] { DISABLED }, 0, IMPLIED), - attr(READONLY, null, new String[] { READONLY }, 0, IMPLIED), - attr(TABINDEX, null, null, NUMBER, IMPLIED), - attr(ACCESSKEY, null, null, 0, IMPLIED), - attr(ONFOCUS, null, null, 0, IMPLIED), - attr(ONBLUR, null, null, 0, IMPLIED), - attr(ONSELECT, null, null, 0, IMPLIED), - attr(ONCHANGE, null, null, 0, IMPLIED) - } - ); - defElement(TFOOT, 0, false, true, model(TR,'+'), - NONE - , - new String[] { - TR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED) - } - ); - defElement(TH, 0, false, true, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR, - ADDRESS, BLOCKQUOTE, CENTER, DIR, DIV, - DL, FIELDSET, FORM, H1, H2, - H3, H4, H5, H6, HR, - ISINDEX, MENU, NOFRAMES, NOSCRIPT, OL, - P, PRE, TABLE, UL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ABBR, null, null, 0, IMPLIED), - attr(AXIS, null, null, 0, IMPLIED), - attr(HEADERS, null, null, 0, IMPLIED), - attr(SCOPE, null, new String[] { ROW, COL, ROWGROUP, COLGROUP }, - 0, IMPLIED), - attr(ROWSPAN, C_1, null, NUMBER, DEFAULT), - attr(COLSPAN, C_1, null, NUMBER, DEFAULT), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED), - attr(NOWRAP, null, new String[] { NOWRAP }, 0, IMPLIED), - attr(BGCOLOR, null, null, 0, IMPLIED), - attr(WIDTH, null, null, 0, IMPLIED), - attr(HEIGHT, null, null, 0, IMPLIED) - } - ); - defElement(THEAD, 0, false, true, model(TR,'+'), - NONE - , - new String[] { - TR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED) - } - ); - defElement(TITLE, 0, false, false, null, - new String[] { - OBJECT, SCRIPT, LINK, META, - STYLE - } - , - new String[] { - PCDATA - } - , - new AttributeList[] { - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED) - } - ); - defElement(TR, 0, false, true, - new ContentModel(0, new TableRowContentModel(this), null), - NONE - , - new String[] { - TD, TH - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(ALIGN, null, new String[] { LEFT, CENTER, RIGHT, JUSTIFY, CHAR }, - 0, IMPLIED), - attr(CHAR, null, null, 0, IMPLIED), - attr(CHAROFF, null, null, 0, IMPLIED), - attr(VALIGN, null, new String[] { TOP, MIDDLE, BOTTOM, BASELINE }, - 0, IMPLIED), - attr(BGCOLOR, null, null, 0, IMPLIED) - } - ); - defElement(TT, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(U, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - defElement(UL, 0, false, false, createListModel(), - NONE - , - new String[] { - // See note on the createListModel method - LI, UL, OL - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED), - attr(TYPE, null, new String[] { DISC, SQUARE, CIRCLE }, 0, IMPLIED), - attr(COMPACT, null, new String[] { COMPACT }, 0, IMPLIED) - } - ); - defElement(VAR, 0, false, false, null, - NONE - , - new String[] { - PCDATA, A, ABBR, ACRONYM, - APPLET, B, BASEFONT, BDO, BIG, - BR, BUTTON, CITE, CODE, DFN, - EM, FONT, I, IFRAME, IMG, - INPUT, KBD, LABEL, MAP, OBJECT, - Q, S, SAMP, SCRIPT, SELECT, - SMALL, SPAN, STRIKE, STRONG, SUB, - SUP, TEXTAREA, TT, U, VAR - } - , - new AttributeList[] { - attr(sID, null, null, ID, IMPLIED), - attr(CLASS, null, null, 0, IMPLIED), - attr(STYLE, null, null, 0, IMPLIED), - attr(TITLE, null, null, 0, IMPLIED), - attr(LANG, null, null, 0, IMPLIED), - attr(DIR, null, new String[] { LTR, RTL }, 0, IMPLIED), - attr(ONCLICK, null, null, 0, IMPLIED), - attr(ONDBLCLICK, null, null, 0, IMPLIED), - attr(ONMOUSEDOWN, null, null, 0, IMPLIED), - attr(ONMOUSEUP, null, null, 0, IMPLIED), - attr(ONMOUSEOVER, null, null, 0, IMPLIED), - attr(ONMOUSEMOVE, null, null, 0, IMPLIED), - attr(ONMOUSEOUT, null, null, 0, IMPLIED), - attr(ONKEYPRESS, null, null, 0, IMPLIED), - attr(ONKEYDOWN, null, null, 0, IMPLIED), - attr(ONKEYUP, null, null, 0, IMPLIED) - } - ); - - } - - /** - * Define all entities in this DTD. - */ - protected void defineEntities() - { - /* Define general entities */ - defineEntity("AElig", 198); - defineEntity("Aacute", 193); - defineEntity("Acirc", 194); - defineEntity("Agrave", 192); - defineEntity("Alpha", 913); - defineEntity("Aring", 197); - defineEntity("Atilde", 195); - defineEntity("Auml", 196); - defineEntity("Beta", 914); - defineEntity("Ccedil", 199); - defineEntity("Chi", 935); - defineEntity("Dagger", 8225); - defineEntity("Delta", 916); - defineEntity("ETH", 208); - defineEntity("Eacute", 201); - defineEntity("Ecirc", 202); - defineEntity("Egrave", 200); - defineEntity("Epsilon", 917); - defineEntity("Eta", 919); - defineEntity("Euml", 203); - defineEntity("Gamma", 915); - defineEntity("Iacute", 205); - defineEntity("Icirc", 206); - defineEntity("Igrave", 204); - defineEntity("Iota", 921); - defineEntity("Iuml", 207); - defineEntity("Kappa", 922); - defineEntity("Lambda", 923); - defineEntity("Mu", 924); - defineEntity("Ntilde", 209); - defineEntity("Nu", 925); - defineEntity("OElig", 338); - defineEntity("Oacute", 211); - defineEntity("Ocirc", 212); - defineEntity("Ograve", 210); - defineEntity("Omega", 937); - defineEntity("Omicron", 927); - defineEntity("Oslash", 216); - defineEntity("Otilde", 213); - defineEntity("Ouml", 214); - defineEntity("Phi", 934); - defineEntity("Pi", 928); - defineEntity("Prime", 8243); - defineEntity("Psi", 936); - defineEntity("Rho", 929); - defineEntity("Scaron", 352); - defineEntity("Sigma", 931); - defineEntity("THORN", 222); - defineEntity("Tau", 932); - defineEntity("Theta", 920); - defineEntity("Uacute", 218); - defineEntity("Ucirc", 219); - defineEntity("Ugrave", 217); - defineEntity("Upsilon", 933); - defineEntity("Uuml", 220); - defineEntity("Xi", 926); - defineEntity("Yacute", 221); - defineEntity("Yuml", 376); - defineEntity("Zeta", 918); - defineEntity("aacute", 225); - defineEntity("acirc", 226); - defineEntity("acute", 180); - defineEntity("aelig", 230); - defineEntity("agrave", 224); - defineEntity("alefsym", 8501); - defineEntity("alpha", 945); - defineEntity("amp", 38); - defineEntity("and", 8743); - defineEntity("ang", 8736); - defineEntity("aring", 229); - defineEntity("asymp", 8776); - defineEntity("atilde", 227); - defineEntity("auml", 228); - defineEntity("bdquo", 8222); - defineEntity("beta", 946); - defineEntity("brvbar", 166); - defineEntity("bull", 8226); - defineEntity("cap", 8745); - defineEntity("ccedil", 231); - defineEntity("cedil", 184); - defineEntity("cent", 162); - defineEntity("chi", 967); - defineEntity("circ", 710); - defineEntity("clubs", 9827); - defineEntity("cong", 8773); - defineEntity("copy", 169); - defineEntity("crarr", 8629); - defineEntity("cup", 8746); - defineEntity("curren", 164); - defineEntity("dArr", 8659); - defineEntity("dagger", 8224); - defineEntity("darr", 8595); - defineEntity("deg", 176); - defineEntity("delta", 948); - defineEntity("diams", 9830); - defineEntity("divide", 247); - defineEntity("eacute", 233); - defineEntity("ecirc", 234); - defineEntity("egrave", 232); - defineEntity("empty", 8709); - defineEntity("emsp", 8195); - defineEntity("ensp", 8194); - defineEntity("epsilon", 949); - defineEntity("equiv", 8801); - defineEntity("eta", 951); - defineEntity("eth", 240); - defineEntity("euml", 235); - defineEntity("euro", 8364); - defineEntity("exist", 8707); - defineEntity("fnof", 402); - defineEntity("forall", 8704); - defineEntity("frac12", 189); - defineEntity("frac14", 188); - defineEntity("frac34", 190); - defineEntity("frasl", 8260); - defineEntity("gamma", 947); - defineEntity("ge", 8805); - defineEntity("gt", 62); - defineEntity("hArr", 8660); - defineEntity("harr", 8596); - defineEntity("hearts", 9829); - defineEntity("hellip", 8230); - defineEntity("iacute", 237); - defineEntity("icirc", 238); - defineEntity("iexcl", 161); - defineEntity("igrave", 236); - defineEntity("image", 8465); - defineEntity("infin", 8734); - defineEntity("int", 8747); - defineEntity("iota", 953); - defineEntity("iquest", 191); - defineEntity("isin", 8712); - defineEntity("iuml", 239); - defineEntity("kappa", 954); - defineEntity("lArr", 8656); - defineEntity("lambda", 955); - defineEntity("lang", 9001); - defineEntity("laquo", 171); - defineEntity("larr", 8592); - defineEntity("lceil", 8968); - defineEntity("ldquo", 8220); - defineEntity("le", 8804); - defineEntity("lfloor", 8970); - defineEntity("lowast", 8727); - defineEntity("loz", 9674); - defineEntity("lrm", 8206); - defineEntity("lsaquo", 8249); - defineEntity("lsquo", 8216); - defineEntity("lt", 60); - defineEntity("macr", 175); - defineEntity("mdash", 8212); - defineEntity("micro", 181); - defineEntity("middot", 183); - defineEntity("minus", 8722); - defineEntity("mu", 956); - defineEntity("nabla", 8711); - defineEntity("nbsp", 160); - defineEntity("ndash", 8211); - defineEntity("ne", 8800); - defineEntity("ni", 8715); - defineEntity("not", 172); - defineEntity("notin", 8713); - defineEntity("nsub", 8836); - defineEntity("ntilde", 241); - defineEntity("nu", 957); - defineEntity("oacute", 243); - defineEntity("ocirc", 244); - defineEntity("oelig", 339); - defineEntity("ograve", 242); - defineEntity("oline", 8254); - defineEntity("omega", 969); - defineEntity("omicron", 959); - defineEntity("oplus", 8853); - defineEntity("or", 8744); - defineEntity("ordf", 170); - defineEntity("ordm", 186); - defineEntity("oslash", 248); - defineEntity("otilde", 245); - defineEntity("otimes", 8855); - defineEntity("ouml", 246); - defineEntity("para", 182); - defineEntity("part", 8706); - defineEntity("permil", 8240); - defineEntity("perp", 8869); - defineEntity("phi", 966); - defineEntity("pi", 960); - defineEntity("piv", 982); - defineEntity("plusmn", 177); - defineEntity("pound", 163); - defineEntity("prime", 8242); - defineEntity("prod", 8719); - defineEntity("prop", 8733); - defineEntity("psi", 968); - defineEntity("quot", 34); - defineEntity("rArr", 8658); - defineEntity("radic", 8730); - defineEntity("rang", 9002); - defineEntity("raquo", 187); - defineEntity("rarr", 8594); - defineEntity("rceil", 8969); - defineEntity("rdquo", 8221); - defineEntity("real", 8476); - defineEntity("reg", 174); - defineEntity("rfloor", 8971); - defineEntity("rho", 961); - defineEntity("rlm", 8207); - defineEntity("rsaquo", 8250); - defineEntity("rsquo", 8217); - defineEntity("sbquo", 8218); - defineEntity("scaron", 353); - defineEntity("sdot", 8901); - defineEntity("sect", 167); - defineEntity("shy", 173); - defineEntity("sigma", 963); - defineEntity("sigmaf", 962); - defineEntity("sim", 8764); - defineEntity("spades", 9824); - defineEntity("sub", 8834); - defineEntity("sube", 8838); - defineEntity("sum", 8721); - defineEntity("sup", 8835); - defineEntity("sup1", 185); - defineEntity("sup2", 178); - defineEntity("sup3", 179); - defineEntity("supe", 8839); - defineEntity("szlig", 223); - defineEntity("tau", 964); - defineEntity("there4", 8756); - defineEntity("theta", 952); - defineEntity("thetasym", 977); - defineEntity("thinsp", 8201); - defineEntity("thorn", 254); - defineEntity("tilde", 732); - defineEntity("times", 215); - defineEntity("trade", 8482); - defineEntity("uArr", 8657); - defineEntity("uacute", 250); - defineEntity("uarr", 8593); - defineEntity("ucirc", 251); - defineEntity("ugrave", 249); - defineEntity("uml", 168); - defineEntity("upsih", 978); - defineEntity("upsilon", 965); - defineEntity("uuml", 252); - defineEntity("weierp", 8472); - defineEntity("xi", 958); - defineEntity("yacute", 253); - defineEntity("yen", 165); - defineEntity("yuml", 255); - defineEntity("zeta", 950); - defineEntity("zwj", 8205); - defineEntity("zwnj", 8204); - } - - /** - * Crate a content model, consisting of the single - * element, specified by name. - */ - private ContentModel model(String element) - { - return new ContentModel(getElement(element)); - } - - /** - * Crate a chain from the two content models, - * the last containing the given element and - * the specified unary operation. - */ - private ContentModel model(String element, int unary) - { - ContentModel ct = model(element); - ct.type = unary; - return new ContentModel(0, ct); - } - - /** - * Create the model HEAD, BODY - * @return - */ - protected ContentModel createHtmlContentModel() - { - ContentModel head = model(HEAD); - ContentModel body = model(BODY); - head.next = body; - head.type = ','; - return head; - } - - /** - * Create the model - * ( CAPTION ? , ( COL * | COLGROUP * ) , THEAD ? , TFOOT ? , TBODY + ) - */ - protected ContentModel createTableContentModel() - { - ContentModel col_colgroup = new ContentModel - ('|', model(COL,'*'), model(COLGROUP,'*') ); - - col_colgroup = new ContentModel('*', col_colgroup); - col_colgroup = new ContentModel(',', col_colgroup); - - ContentModel caption = model(CAPTION,'?'); - ContentModel thead = model(THEAD, '?'); - ContentModel tfoot = model(TFOOT, '?'); - ContentModel tbody = model(TBODY, '+'); - - caption.next = col_colgroup; - col_colgroup.next = thead; - thead.next = tfoot; - tfoot.next = tbody; - - caption.type = col_colgroup.type = thead.type = tfoot.type = - tbody.type = ','; - - return caption; - } - - /** - * Creates a model for <DL> tag: - * <code> DT+ | DL+ </code>. - * @return - */ - protected ContentModel createDefListModel() - { - ContentModel dt = model(DT, '+'); - ContentModel dd = model(DD, '+'); - - dt.next = dd; - dt.type = dd.type = '|'; - return dt; - } - - /** - * This model is used for UL, OL, MENU and DIR. - * HTML 4.01 specifies LI only, but the nested - * list seems rendered correctly only if - * it is not enclosed into <LI>-</LI> of the - * parent list. - */ - protected ContentModel createListModel() - { - ContentModel li = model(LI, '+'); - ContentModel ul = model(UL, '+'); - ContentModel ol = model(OL, '+'); - - li.next = ul; - ul.next = ol; - li.type = ul.type = ol.type = '|'; - return li; - } - -} diff --git a/libjava/gnu/javax/swing/text/html/parser/gnuDTD.java b/libjava/gnu/javax/swing/text/html/parser/gnuDTD.java deleted file mode 100755 index 1f4b3ec..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/gnuDTD.java +++ /dev/null @@ -1,422 +0,0 @@ -/* gnuDTD.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser; - -import java.io.PrintStream; -import java.io.Serializable; - -import java.util.BitSet; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; -import java.util.Vector; - -import javax.swing.text.html.parser.AttributeList; -import javax.swing.text.html.parser.ContentModel; -import javax.swing.text.html.parser.Element; -import javax.swing.text.html.parser.Entity; - -/** - * <p> - * The class is derived from {@link gnu.javax.swing.text.html.parser.DTD } - * making structure creation methods public. This is required when - * creating the DTD by SGML parser that must have access to the structure. - * - * SGML DTD representation. Provides basis for describing a syntax of the - * HTML documents. The fields of this class are NOT initialized in - * constructor. You need to do this separately before passing this data - * structure to the parser constructor.</p> - * - * <p>This implementation also provides you the derived class - * <code>gnu.javax.swing.text.html.parser.DTD.HTML_4_0_1</code>, where - * all fields are initialized to the values, representing HTML 4.01 - * ("-//W3C//DTD HTML 4.01 Frameset//EN") DTD. You can use it if you do not care - * about the portability between different implementations of the core - * class libraries. </p> - * <p>Use {@link javax.swing.HTML.HTMLEditorKit.Parser#parse } - * for parsing in accordance with "-//W3C//DTD HTML 4.01 Frameset//EN" - * without specifying DTD separately.</p> - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class gnuDTD - extends javax.swing.text.html.parser.DTD - implements javax.swing.text.html.parser.DTDConstants, Serializable -{ - /* The undocumented element types, used to specify types, not defined - in DTDConstants. */ - - /** - * The URI element type (not defined in DTDConstants). - */ - public static final int URI = 512; - - /** - * The Length element type - */ - public static final int Length = 513; - - /** - * The Char element type - */ - public static final int Char = 514; - - /** - * The Color element type - */ - public static final int Color = 515; - - /** - * Creates a new instance of gnuDTD. - * @param name the name of the DTD. - */ - public gnuDTD(String name) - { - super(name); - } - - /** - * Creates and returns new attribute (not an attribute list). - * @param name the name of this attribute - * @param type the type of this attribute (FIXED, IMPLIED or - * REQUIRED from <code>DTDConstants</code>). - * @param modifier the modifier of this attribute - * @param default_value the default value of this attribute or null if - * it is not specified. - * @param allowed_values the allowed values of this attribute. The multiple - * possible values in this parameter are supposed to be separated by - * '|', same as in SGML DTD <code><!ATTLIST </code>tag. This parameter - * can be null if no list of allowed values is specified. - * @param atts the previous attribute of this element. This is - * placed to the field - * {@link javax.swing.text.html.parser.AttributeList#next }, - * creating a linked list. - * @return - */ - public AttributeList defAttributeList(String name, int type, int modifier, - String default_value, - String allowed_values, - AttributeList atts - ) - { - return super.defAttributeList(name, type, modifier, default_value, - allowed_values, atts - ); - } - - /** - * Define the attributes for the element with the given name. - * If the element is not exist, it is created. This method is - * needed if the element attributes are defined befor the - * element itself. - * @param forElement - * @param attributes - */ - public void defAttrsFor(String forElement, AttributeList attributes) - { - super.defineAttributes(forElement, attributes); - } - - /** - * Creates a new content model. - * @param type specifies the BNF operation for this content model. - * The valid operations are documented in the - * {@link javax.swing.text.html.parser.ContentModel#type }. - * @param content the content of this content model - * @param next if the content model is specified by BNF-like - * expression, contains the rest of this expression. - * @return The newly created content model. - */ - public ContentModel defContentModel(int type, Object content, - ContentModel next - ) - { - return super.defContentModel(type, content, next); - } - - /** - * Defines a new element and adds it to the element table. - * If the element alredy exists, - * overrides it settings with the specified values. - * @param name the name of the new element - * @param type the type of the element - * @param headless true if the element needs no starting tag - * @param tailless true if the element needs no closing tag - * @param content the element content. - * @param exclusions the elements that must be excluded from the - * content of this element, in all levels of the hierarchy. - * @param inclusions the elements that can be included as the - * content of this element. - * @param attributes the element attributes. - * @return the created or updated element. - */ - public Element defElement(String name, int type, boolean headless, - boolean tailless, ContentModel content, - String[] exclusions, String[] inclusions, - AttributeList attributes - ) - { - return super.defElement(name, type, headless, tailless, content, - exclusions, inclusions, attributes - ); - } - - /** - * Defines a new element and adds it to the element table. - * If the element alredy exists, - * overrides it settings with the specified values. - * @param name the name of the new element - * @param type the type of the element - * @param headless true if the element needs no starting tag - * @param tailless true if the element needs no closing tag - * @param content the element content. - * @param exclusions the elements that must be excluded from the - * content of this element, in all levels of the hierarchy. - * @param inclusions the elements that can be included as the - * content of this element. - * @param attributes the element attributes. - * @return the created or updated element. - */ - public Element defElement(String name, int type, boolean headless, - boolean tailless, ContentModel content, - Collection exclusions, Collection inclusions, - AttributeList attributes - ) - { - return super.defElement(name, type, headless, tailless, content, - toStringArray(exclusions), - toStringArray(inclusions), attributes - ); - } - - /** - * Defines a new element and adds it to the element table. - * If the element alredy exists, - * overrides it settings with the specified values. - * @param name the name of the new element - * @param type the type of the element - * @param headless true if the element needs no starting tag - * @param tailless true if the element needs no closing tag - * @param content the element content. - * @param exclusions the elements that must be excluded from the - * content of this element, in all levels of the hierarchy. - * @param inclusions the elements that can be included as the - * content of this element. - * @param attributes the element attributes (an array and not a - * linked list). The attributes are chained into the linked list - * inside this method. - * @return the created or updated element. - */ - public Element defElement(String name, int type, boolean headless, - boolean tailless, ContentModel content, - String[] exclusions, String[] inclusions, - AttributeList[] attributes - ) - { - AttributeList list; - - if (attributes == null || attributes.length == 0) - list = null; - else - { - if (attributes.length > 1) - for (int i = 1; i < attributes.length; i++) - { - attributes [ i - 1 ].next = attributes [ i ]; - } - list = attributes [ 0 ]; - } - - Element e = - super.defElement(name, type, headless, tailless, content, exclusions, - inclusions, list - ); - return e; - } - - /** - * Creates, adds into the internal table and returns the - * character entity like <code>&lt;</code> - * (means '<code><</code>' ); - * This method inactivates the recursive refenrences to the same - * entity. - * @param name The entity name (without heading & and closing ;) - * @param type The entity type - * @param character The entity value (single character) - * @return The created entity - */ - public Entity defEntity(String name, int type, String data) - { - int r; - String eref = "%" + name + ";"; - do - { - r = data.indexOf(eref); - if (r > 0) - { - data = data.substring(0, r) + data.substring(r + 1); - } - } - while (r > 0); - - return super.defEntity(name, type, data); - } - - /** - * Summarises the document content into the given PrintStream. - */ - public void dump(PrintStream p) - { - Iterator iter = entityHash.entrySet().iterator(); - while (iter.hasNext()) - { - Map.Entry item = (Map.Entry) iter.next(); - Entity e = (Entity) item.getValue(); - if (e.isGeneral()) - p.println("Entity " + e.getName() + ": " + e.getString()); - } - - iter = elementHash.entrySet().iterator(); - while (iter.hasNext()) - { - Map.Entry item = (Map.Entry) iter.next(); - Element e = (Element) item.getValue(); - p.println("Element " + e.getName()); - - System.out.println(" includes:"); - dump(e.inclusions); - System.out.println(" excludes:"); - dump(e.exclusions); - System.out.println(" attributes:"); - - AttributeList atts = e.atts; - while (atts != null) - { - p.print(" " + atts.name + " = " + atts.value); - if (atts.values == null || atts.values.size() == 0) - p.println(); - else - { - Iterator viter = atts.values.iterator(); - System.out.print(" ( "); - while (viter.hasNext()) - { - System.out.print(viter.next()); - if (viter.hasNext()) - System.out.print(" | "); - } - System.out.println(" ) "); - } - atts = atts.next; - } - } - } - - /** - * Prints the content of the given attribute set to the System.out. - * @param b - */ - public void dump(BitSet b) - { - if (b != null) - { - for (int i = 0; i < b.size(); i++) - { - if (b.get(i)) - System.out.println(" " + elements.get(i)); - } - } - else - System.out.println(" NULL set"); - } - - /** - * Creates the attribute. - * @param name The attribute name. - * @param type The attribute type. - * @param modifier The attribute modifier. - * @param defaultValue Default value (or null) - * @param allowed_values Allowed values (or null) - * @return The newly created AttributeList. The <code>next</code> - * field is initialized to null. - */ - protected AttributeList attr(String name, String default_value, - String[] allowed_values, int type, int modifier - ) - { - Vector allowed = null; - - if (allowed_values != null) - { - allowed = new Vector(allowed_values.length); - for (int i = 0; i < allowed_values.length; i++) - { - allowed.add(allowed_values [ i ]); - } - } - ; - - AttributeList attr = - new AttributeList(name, type, modifier, default_value, allowed, null); - - return attr; - } - - /** - * Define the general entity, holding a single character. - * @param name The entity name (for example, 'amp'). - * The defined entity <b>is</b> stored into the entity table. - * @param character The entity character (for example, '&'). - */ - protected void defineEntity(String name, int character) - { - super.defEntity(name, GENERAL, character); - } - - private String[] toStringArray(Collection c) - { - String[] s = new String[ c.size() ]; - Iterator iter = c.iterator(); - for (int i = 0; i < s.length; i++) - { - s [ i ] = iter.next().toString(); - } - return s; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.java b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.java deleted file mode 100644 index a4e6f73..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.java +++ /dev/null @@ -1,133 +0,0 @@ -/* htmlAttributeSet.java -- A set to store HTML attributes - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser; - -import java.util.Enumeration; - -import javax.swing.text.AttributeSet; -import javax.swing.text.SimpleAttributeSet; -import javax.swing.text.html.HTML; - -/** - * A set, adapted to store HTML attributes. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class htmlAttributeSet - extends SimpleAttributeSet -{ - public static final htmlAttributeSet EMPTY_HTML_ATTRIBUTE_SET = - new htmlAttributeSet(); - AttributeSet parent; - - /** - * Looks in this set and, if not found, later looks in the parent set. - * Calls toString(), allowing to pass as HTML.Attribute, as String - * to this method. - * @param key A key to search for a value. - * @return The value, if one is defined. - */ - public Object getAttribute(Object _key) - { - Object key = _key.toString().toLowerCase(); - - Object v = super.getAttribute(key); - if (v != null) - return v; - else if (parent != null) - return parent.getAttribute(key); - else - return null; - } - - /** - * The name set must return HTML.Attribute and not a string, - * where applicable. - */ - public Enumeration getAttributeNames() - { - // Replace the string keys by HTML.attribute, where applicable - final Enumeration enumeration = super.getAttributeNames(); - - return new Enumeration() - { - public boolean hasMoreElements() - { - return enumeration.hasMoreElements(); - } - - public Object nextElement() - { - Object key = enumeration.nextElement(); - HTML.Attribute hKey = HTML.getAttributeKey((String) key); - if (hKey != null) - return hKey; - else - return key; - } - }; - } - - /** - * Set the parent set, containing the default values. - * @param a_parent - */ - public void setResolveParent(AttributeSet a_parent) - { - parent = a_parent; - } - - /** - * Get the parent set, containing the default values. - * @return - */ - public AttributeSet getResolveParent() - { - return parent; - } - - /** - * Add the attribute to this attribute set. - * @param key Attribute key (will be case insensitive) - * @param value Attribute value - */ - public void addAttribute(Object key, Object value) - { - super.addAttribute(key.toString().toLowerCase(), value); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlValidator.java b/libjava/gnu/javax/swing/text/html/parser/htmlValidator.java deleted file mode 100644 index 1f9eee0..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/htmlValidator.java +++ /dev/null @@ -1,610 +0,0 @@ -/* tagStack.java -- The HTML tag stack. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser; - -import gnu.javax.swing.text.html.parser.models.node; -import gnu.javax.swing.text.html.parser.models.transformer; - -import java.util.BitSet; -import java.util.Enumeration; -import java.util.LinkedList; -import java.util.ListIterator; - -import javax.swing.text.SimpleAttributeSet; -import javax.swing.text.html.HTML; -import javax.swing.text.html.parser.*; - -/** - * <p>The HTML content validator, is responsible for opening and - * closing elements with optional start/end tags, detecting - * the wrongly placed html tags and reporting errors. The working instance - * is the inner class inside the {@link javax.swing.text.html.parser.Parser } - * </p> - * <p>This class could potentially - * provide basis for automated closing and insertion of the html tags, - * correcting the found html errors. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public abstract class htmlValidator -{ - /** - * The tag reference, holding additional information that the tag - * has been forcibly closed. - */ - protected class hTag - { - protected final Element element; - protected final HTML.Tag tag; - protected final TagElement tgElement; - protected boolean forcibly_closed; - protected node validationTrace; - - protected hTag(TagElement an_element) - { - element = an_element.getElement(); - tag = an_element.getHTMLTag(); - tgElement = an_element; - - if (element.content != null) - validationTrace = transformer.transform(element.content, dtd); - } - - /** - * This is called when the tag must be forcibly closed because - * it would make the newly appearing tag invalid. - * The parser is not notified about such event (just the error - * is reported). For such tags, the closing message does not - * appear when later reaching the end of stream. The exception is - * the <head> tag: the parser is notified about its silent closing - * when <body> or other html content appears. - */ - protected void forciblyCloseDueContext() - { - forcibly_closed = true; - } - - /** - * This is called when the tag must be forcibly closed after - * reaching the end of stream. The parser is notified as if - * closing the tag explicitly. - */ - protected void forciblyCloseDueEndOfStream() - { - forcibly_closed = true; - handleSupposedEndTag(element); - } - } - - /** - * The DTD, providing information about the valid document structure. - */ - protected final DTD dtd; - - /** - * The stack, holding the current tag context. - */ - protected final LinkedList stack = new LinkedList(); - - /** - * Creates a new tag stack, using the given DTD. - * @param a_dtd A DTD, providing the information about the valid - * tag content. - */ - public htmlValidator(DTD a_dtd) - { - dtd = a_dtd; - } - - /** - * Close all opened tags (called at the end of parsing). - */ - public void closeAll() - { - hTag h; - while (!stack.isEmpty()) - { - h = (hTag) stack.getLast(); - if (!h.forcibly_closed && !h.element.omitEnd()) - s_error("Unclosed <" + h.tag + ">, closing at the end of stream"); - - handleSupposedEndTag(h.element); - - closeTag(h.tgElement); - } - } - - /** - * Remove the given tag from the stack or (if found) from the list - * of the forcibly closed tags. - */ - public void closeTag(TagElement tElement) - { - HTML.Tag tag = tElement.getHTMLTag(); - hTag x; - hTag close; - - if (!stack.isEmpty()) - { - ListIterator iter = stack.listIterator(stack.size()); - - while (iter.hasPrevious()) - { - x = (hTag) iter.previous(); - if (tag.equals(x.tag)) - { - if (x.forcibly_closed && !x.element.omitEnd()) - s_error("The tag <" + x.tag + - "> has already been forcibly closed" - ); - - - // If the tag has a content model defined, forcibly close all - // tags that were opened after the tag being currently closed. - closing: - if (x.element.content != null) - { - iter = stack.listIterator(stack.size()); - while (iter.hasPrevious()) - { - close = (hTag) iter.previous(); - if (close == x) - break closing; - handleSupposedEndTag(close.element); - iter.remove(); - } - } - - stack.remove(x); - return; - } - } - } - s_error("Closing unopened <" + tag + ">"); - } - - /** - * Add the given HTML tag to the stack of the opened tags. Forcibly closes - * all tags in the stack that does not allow this tag in they content (error - * is reported). - * @param element - */ - public void openTag(TagElement tElement, htmlAttributeSet parameters) - { - // If this is a fictional call, the message from the parser - // has recursively returned - ignore. - if (tElement.fictional()) - return; - - validateParameters(tElement, parameters); - - // If the stack is empty, start from HTML - if (stack.isEmpty() && tElement.getHTMLTag() != HTML.Tag.HTML) - { - Element html = dtd.getElement(HTML.Tag.HTML.toString()); - openFictionalTag(html); - } - - Object v = tagIsValidForContext(tElement); - if (v != Boolean.TRUE) - { - // The tag is not valid for context, the content - // model suggest to open another tag. - if (v instanceof Element) - { - int n = 0; - while (v instanceof Element && (n++ < 100)) - { - Element fe = (Element) v; - - // notify the content model that we add the proposed tag - getCurrentContentModel().show(fe); - openFictionalTag(fe); - - Object vv = tagIsValidForContext(tElement); - if (vv instanceof Element) // One level of nesting is supported. - { - openFictionalTag((Element) vv); - - Object vx = tagIsValidForContext(tElement); - if (vx instanceof Element) - openFictionalTag((Element) vx); - } - else if (vv == Boolean.FALSE) - { - // The tag is still not valid for the current - // content after opening a fictional element. - if (fe.omitEnd()) - { - // close the previously opened fictional tag. - closeLast(); - vv = tagIsValidForContext(tElement); - if (vv instanceof Element) - - // another tag was suggested by the content model - openFictionalTag((Element) vv); - } - } - v = tagIsValidForContext(tElement); - } - } - else // If the current element has the optional end tag, close it. - { - if (!stack.isEmpty()) - { - closing: - do - { - hTag last = (hTag) stack.getLast(); - if (last.element.omitEnd()) - { - closeLast(); - v = tagIsValidForContext(tElement); - if (v instanceof Element) // another tag was suggested by the content model - { - openFictionalTag((Element) v); - break closing; - } - } - else - break closing; - } - while (v == Boolean.FALSE && !stack.isEmpty()); - } - } - } - - stack.add(new hTag(tElement)); - } - - /** - * Clear the stack. - */ - public void restart() - { - stack.clear(); - } - - /** - * Check if this tag is valid for the current context. - * Return Boolean.True if it is OK, Boolean.False - * if it is surely not OK or the Element that the - * content model recommends to insert making the situation - * ok. If Boolean.True is returned, the content model current - * position is moved forward. Otherwise this position remains - * the same. - * @param tElement - * @return - */ - public Object tagIsValidForContext(TagElement tElement) - { - // Check the current content model, if one is available. - node cv = getCurrentContentModel(); - - if (cv != null) - return cv.show(tElement.getElement()); - - // Check exclusions and inclusions. - ListIterator iter = stack.listIterator(stack.size()); - hTag t; - final int idx = tElement.getElement().index; - - // Check only known tags. - if (idx >= 0) - { - BitSet inclusions = new BitSet(); - while (iter.hasPrevious()) - { - t = (hTag) iter.previous(); - if (!t.forcibly_closed) - { - if (t.element.exclusions != null && - t.element.exclusions.get(idx) - ) - return Boolean.FALSE; - - if (t.element.inclusions != null) - inclusions.or(t.element.inclusions); - } - } - if (!inclusions.get(idx)) - return Boolean.FALSE; - } - return Boolean.TRUE; - } - - /** - * Validate tag without storing in into the tag stack. This is called - * for the empty tags and results the subsequent calls to the openTag - * and closeTag. - */ - public void validateTag(TagElement tElement, htmlAttributeSet parameters) - { - openTag(tElement, parameters); - closeTag(tElement); - } - - /** - * Check for mandatory elements, subsequent to the last tag: - * @param tElement The element that will be inserted next. - */ - protected void checkContentModel(TagElement tElement, boolean first) - { - if (stack.isEmpty()) - return; - - hTag last = (hTag) stack.getLast(); - if (last.validationTrace == null) - return; - - Object r = last.validationTrace.show(tElement.getElement()); - if (r == Boolean.FALSE) - s_error("The <" + last.element + "> does not match the content model " + - last.validationTrace - ); - else if (r instanceof Element) // The content model recommends insertion of this element - { - if (!first) - closeTag(last.tgElement); - handleSupposedStartTag((Element) r); - openTag(new TagElement((Element) r), null); - } - } - - /** - * The method is called when the tag must be closed because - * it does not allow the subsequent elements inside its context - * or the end of stream has been reached. The parser is only - * informed if the element being closed does not require the - * end tag (the "omitEnd" flag is set). - * The closing message must be passed to the parser mechanism - * before passing message about the opening the next tag. - * - * @param element The tag being fictionally (forcibly) closed. - */ - protected abstract void handleSupposedEndTag(Element element); - - /** - * The method is called when the validator decides to open the - * tag on its own initiative. This may happen if the content model - * includes the element with the optional (supposed) start tag. - * - * @param element The tag being opened. - */ - protected abstract void handleSupposedStartTag(Element element); - - /** - * Handles the error message. This method must be overridden to pass - * the message where required. - * @param msg The message text. - */ - protected abstract void s_error(String msg); - - /** - * Validate the parameters, report the error if the given parameter is - * not in the parameter set, valid for the given attribute. The information - * about the valid parameter set is taken from the Element, enclosed - * inside the tag. The method does not validate the default parameters. - * @param tag The tag - * @param parameters The parameters of this tag. - */ - protected void validateParameters(TagElement tag, htmlAttributeSet parameters) - { - if (parameters == null || - parameters == htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET || - parameters == SimpleAttributeSet.EMPTY - ) - return; - - Enumeration enumeration = parameters.getAttributeNames(); - - while (enumeration.hasMoreElements()) - { - validateAttribute(tag, parameters, enumeration); - } - - // Check for missing required values. - AttributeList a = tag.getElement().getAttributes(); - - while (a != null) - { - if (a.getModifier() == DTDConstants.REQUIRED) - if (parameters.getAttribute(a.getName()) == null) - { - s_error("Missing required attribute '" + a.getName() + "' for <" + - tag.getHTMLTag() + ">" - ); - } - a = a.next; - } - } - - private node getCurrentContentModel() - { - if (!stack.isEmpty()) - { - hTag last = (hTag) stack.getLast(); - return last.validationTrace; - } - else - return null; - } - - private void closeLast() - { - handleSupposedEndTag(((hTag) stack.getLast()).element); - stack.removeLast(); - } - - private void openFictionalTag(Element e) - { - handleSupposedStartTag(e); - stack.add(new hTag(new TagElement(e, true))); - if (!e.omitStart()) - s_error("<" + e + "> is expected (supposing it)"); - } - - private void validateAttribute(TagElement tag, htmlAttributeSet parameters, - Enumeration enumeration - ) - { - Object foundAttribute; - AttributeList dtdAttribute; - foundAttribute = enumeration.nextElement(); - dtdAttribute = tag.getElement().getAttribute(foundAttribute.toString()); - if (dtdAttribute == null) - { - StringBuffer valid = - new StringBuffer("The tag <" + tag.getHTMLTag() + - "> cannot contain the attribute '" + foundAttribute + - "'. The valid attributes for this tag are: " - ); - - AttributeList a = tag.getElement().getAttributes(); - - while (a != null) - { - valid.append(a.name.toUpperCase()); - valid.append(' '); - a = a.next; - } - s_error(valid.toString()); - } - - else - { - String value = parameters.getAttribute(foundAttribute).toString(); - - if (dtdAttribute.type == DTDConstants.NUMBER) - validateNumberAttribute(tag, foundAttribute, value); - - if (dtdAttribute.type == DTDConstants.NAME || - dtdAttribute.type == DTDConstants.ID - ) - validateNameOrIdAttribute(tag, foundAttribute, value); - - if (dtdAttribute.values != null) - validateAttributeWithValueList(tag, foundAttribute, dtdAttribute, - value - ); - } - } - - private void validateAttributeWithValueList(TagElement tag, - Object foundAttribute, - AttributeList dtdAttribute, - String value - ) - { - if (!dtdAttribute.values.contains(value.toLowerCase()) && - !dtdAttribute.values.contains(value.toUpperCase()) - ) - { - StringBuffer valid; - if (dtdAttribute.values.size() == 1) - valid = - new StringBuffer("The attribute '" + foundAttribute + - "' of the tag <" + tag.getHTMLTag() + - "> cannot have the value '" + value + - "'. The only valid value is " - ); - else - valid = - new StringBuffer("The attribute '" + foundAttribute + - "' of the tag <" + tag.getHTMLTag() + - "> cannot have the value '" + value + "'. The " + - dtdAttribute.values.size() + - " valid values are: " - ); - - Enumeration vv = dtdAttribute.values.elements(); - while (vv.hasMoreElements()) - { - valid.append('"'); - valid.append(vv.nextElement()); - valid.append("\" "); - } - s_error(valid.toString()); - } - } - - private void validateNameOrIdAttribute(TagElement tag, Object foundAttribute, - String value - ) - { - boolean ok = true; - - if (!Character.isLetter(value.charAt(0))) - ok = false; - - char c; - for (int i = 0; i < value.length(); i++) - { - c = value.charAt(i); - if (!( - Character.isLetter(c) || Character.isDigit(c) || - "".indexOf(c) >= 0 - ) - ) - ok = false; - } - if (!ok) - s_error("The '" + foundAttribute + "' attribute of the tag <" + - tag.getHTMLTag() + "> must start from letter and consist of " + - "letters, digits, hypens, colons, underscores and periods. " + - "It cannot be '" + value + "'" - ); - } - - private void validateNumberAttribute(TagElement tag, Object foundAttribute, - String value - ) - { - try - { - Integer.parseInt(value); - } - catch (NumberFormatException ex) - { - s_error("The '" + foundAttribute + "' attribute of the tag <" + - tag.getHTMLTag() + "> must be a valid number and not '" + - value + "'" - ); - } - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java b/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java deleted file mode 100755 index 5a19a1b..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java +++ /dev/null @@ -1,62 +0,0 @@ -/* PCDATAonly_model.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -/** - * The model, allowing only PCDATA in it (like for element OPTION). - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class PCDATAonly_model - extends node - implements Serializable -{ - private static final long serialVersionUID = 1; - - public PCDATAonly_model() - { - super((char) 0, (char) 0, null); - } - - public Object show(Object x) - { - return x.toString().equalsIgnoreCase("#pcdata") ? Boolean.TRUE : Boolean.FALSE; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.java b/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.java deleted file mode 100755 index 14514d5..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.java +++ /dev/null @@ -1,77 +0,0 @@ -/* TableRowContentModel.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -import javax.swing.text.html.parser.DTD; -import javax.swing.text.html.parser.Element; - -/** - * Table row content model. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class TableRowContentModel - extends node - implements Serializable -{ - private static final long serialVersionUID = 1; - final Element TD; - - public TableRowContentModel(DTD dtd) - { - super((char) 0, (char) 0, null); - TD = dtd.getElement("TD"); - } - - public Object show(Object x) - { - // Always accept TD and TH - String s = x.toString(); - if (s.equalsIgnoreCase("TD") || s.equalsIgnoreCase("TH")) - return Boolean.TRUE; - - // Suggest closing in response to TR: - if (s.equalsIgnoreCase("TR")) - return Boolean.FALSE; - - // Recommend TD for other cases: - return TD; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/list.java b/libjava/gnu/javax/swing/text/html/parser/models/list.java deleted file mode 100755 index b77ef7f..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/list.java +++ /dev/null @@ -1,382 +0,0 @@ -/* list.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -/** - * Part of the internal representation of the content model. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class list - extends node - implements Serializable -{ - private static final long serialVersionUID = 1; - - /** - * Setting to true means that the list nodes must always be connected - * by the same operation. This is far safer and clearer, but not - * required by default standard. - */ - public static boolean CLEAR; - - /** - * A list of nodes. - */ - public final node[] nodes; - - /** - * Creates a new model list that is a member of some enclosing list. - * @param binary_operator An operator with that this list is connected - * with other members of the enclosing list. - * @param unary_operator The unary operator for this list. - * @param a_nodes The nodes inside this list. - */ - public list(char binary_operator, char unary_operator, node[] a_nodes) - { - super(binary_operator, unary_operator, a_nodes); - nodes = a_nodes; - } - - /** - * Creates a new model list. Assigns the previous field. - * @param a_nodes The nodes for this list. - * @throws an error if the node elements are connected by the - * different operations. This is not supported, use grouping. - */ - public list(node[] a_nodes) - throws Error - { - this(',', (char) 0, a_nodes); - - int operation = nodes [ 0 ].binary; - - for (int i = 0; i < nodes.length; i++) - { - if (CLEAR && nodes [ i ].binary != operation) - throw new Error("List members can only be connected by " + - "the same operation, use grouping" - ); - - if (i > 0) - nodes [ i ].previous = nodes [ i - 1 ]; - } - } - - /** - * Returns true if all members in the list are closed. - */ - public boolean isClosed() - { - if (super.isClosed()) - return true; - for (int i = 0; i < nodes.length; i++) - { - if (!nodes [ i ].isClosed()) - return false; - } - return true; - } - - /** - * Find the token that could match as the next token in - * the token list. - * - * @return Such token object or null if none is found. - */ - public Object findFreeNode() - { - Object fn; - for (int j = 0; j < nodes.length; j++) - { - if (!nodes [ j ].isClosed()) - { - fn = nodes [ j ].findFreeNode(); - if (fn != null) - return fn; - } - } - return null; - } - - /** - * Tries to match this list agains the given token sequence. - * @param tokens the sequence of the tokens to match. - * @return true if the valid match is found. - */ - public boolean matches(Object[] tokens) - { - reset(); - - Object x; - boolean m; - boolean matched = false; - - for (int i = 0; i < tokens.length; i++) - { - matched = false; - x = tokens [ i ]; - - nodescan: - for (int j = 0; j < nodes.length; j++) - { - if (!nodes [ j ].isClosed()) - { - m = nodes [ j ].performMatch(x); - - if (m) - { - matched = true; - break nodescan; - } - } - } - if (!matched) - return false; - } - - boolean valid = true; - - for (int i = 0; i < nodes.length; i++) - { - if (!nodes [ i ].valid()) - valid = false; - } - - return valid; - } - - /** - * The list never closes, despite it is trated as closed - * if all members in the list are closed. - * @return false. - */ - public boolean mustClose() - { - return false; - } - - /** - * Perform a match operation for the single token - * against this list. - * @param token a token to match. - * @return true if the match is found. - */ - public boolean performMatch(Object token) - { - boolean ok = false; - Matching: - for (int i = 0; i < nodes.length; i++) - { - ok = nodes [ i ].performMatch(token); - - if (ok) - break Matching; - } - - if (ok) - matches(); - - return ok; - } - - /** - * Prepeares the list for the next matching operation. - */ - public void reset() - { - super.reset(); - for (int i = 0; i < nodes.length; i++) - nodes [ i ].reset(); - } - - /** - * Check if the provided token can match as a next token in the - * list. In the case of match, the list state changes, moving - * current position after the matched token. However if this method - * returns a suggested new token to insert before the provided one, - * the state of the list does not change. - * @return Boolean.TRUE if the match is found, - * Boolean.FALSE if the match is not possible and no token can be - * inserted to make the match valid. Otherwise, returns the - * token object that can be inserted before the last token in the - * list, probably (not for sure) making the match valid. - * If the object is an instance of Element or TagElement, - * it is first ensured that the object flag "omit start" is set. - */ - public Object show(Object x) - { - boolean m; - boolean matched = false; - - nodescan: - for (int j = 0; j < nodes.length; j++) - { - if (!nodes [ j ].isClosed()) - { - m = nodes [ j ].performMatch(x); - - if (m) - { - matched = true; - break nodescan; - } - else - { - // For comma operation, only first not closed - // node must be tested for a match. - // unless it allows matching zero times. - if (binary == ',' && - !(nodes [ j ].unary == '?' || nodes [ j ].unary == '*') - ) - break nodescan; - } - } - } - - if (!matched) - { - // Find and return that would be matched. - Object freeNode = findFreeNode(); - if (freeNode == null) - return Boolean.FALSE; - else - return freeNode; - } - - for (int i = 0; i < nodes.length; i++) - if (!nodes [ i ].validPreliminary()) - { - return Boolean.FALSE; - } - - return Boolean.TRUE; - } - - /** - * Returns a string representation of the list. - * @return String representation, similar to BNF expression. - */ - public String toString() - { - StringBuffer b = new StringBuffer(); - b.append(" ( "); - for (int i = 0; i < nodes.length; i++) - { - if (i > 0) - b.append(" " + (char) nodes [ i ].binary + " "); - b.append(nodes [ i ]); - } - - b.append(" )"); - if (unary != 0) - b.append((char) unary); - else - b.append(' '); - return b.toString(); - } - - /** - * Returns true if all memebers in the list are valid. - */ - public boolean valid() - { - for (int i = 0; i < nodes.length; i++) - { - if (!nodes [ i ].valid()) - return false; - } - return true; - } - - /** - * Returns true if all memebers in the list are either valid - * or unvisited. The unvisited members can become valid after - * more tokens will be shown. - */ - public boolean validPreliminary() - { - if (silenceAllowed()) - { - boolean everVisited = false; - for (int i = 0; i < nodes.length; i++) - { - if (nodes [ i ].visits > 0) - { - everVisited = true; - break; - } - } - if (!everVisited) - return true; - } - - for (int i = 0; i < nodes.length; i++) - { - if (!nodes [ i ].validPreliminary()) - return false; - } - return true; - } - - /** - * Closes all members in the list. - */ - protected void close() - { - super.close(); - for (int i = 0; i < nodes.length; i++) - { - nodes [ i ].close(); - } - } - - /** - * Compare given token with the token of this node. - * If the token represents a <code>list</code>, the call may be - * delegeted to the child subnodes. - * @param a_token A token to compare. - * @return True if the token matches the token of this node. - */ - protected boolean compare(Object a_token) - { - return performMatch(a_token); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.java b/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.java deleted file mode 100755 index 8aac14d..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.java +++ /dev/null @@ -1,75 +0,0 @@ -/* noTagModel.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -/** - * Disallows a single given tag at the current content level only. - * <p>@author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)</p> - */ -public class noTagModel - extends node - implements Serializable -{ - private static final long serialVersionUID = 1; - final String[] no; - - public noTagModel(String[] noTag) - { - super((char) 0, (char) 0, null); - no = noTag; - } - - public noTagModel(String noTag) - { - super((char) 0, (char) 0, null); - no = new String[] { noTag }; - } - - public Object show(Object x) - { - for (int i = 0; i < no.length; i++) - { - if (x.toString().equalsIgnoreCase(no [ i ])) - return Boolean.FALSE; - } - return Boolean.TRUE; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/node.java b/libjava/gnu/javax/swing/text/html/parser/models/node.java deleted file mode 100755 index c615ddf..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/node.java +++ /dev/null @@ -1,337 +0,0 @@ -/* node.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -/** - * Part of the internal representation of the content model. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class node - implements Serializable -{ - private static final long serialVersionUID = 1; - - /** - * The token to match (can be instance of list). - */ - public Object token; - - /** - * True for the node that cannot be visited again. - */ - public boolean _closed; - - /** - * The binary operation for this node. - */ - public char binary; - - /** - * The unary opeation for this node. - */ - public char unary; - - /** - * The number of times the node already was visited. - */ - public int visits; - - /** - * The previous node in content model (used for closing nodes). - */ - public node previous; - - /** - * Creates a new node. - * @param binary_operator The operator, connecting all nodes in the list. - * The nodes, connected by the different operators, must be arranged into - * the different lists. - * @param unary_operator The unary operator for this node or zero if - * no such was specified. - * @param token The token to match. This can be either a string or - * the new instance of the list. - * @param a_previous The previous node in the list, null for the first - * node. This is used for propagating the closing operation for the - * comma delimited list. - */ - public node(char binary_operator, char unary_operator, Object a_token) - { - if (a_token != null) - if (a_token.getClass().equals(node.class)) - throw new Error("Creating node in node is redundant and ineffective."); - - binary = binary_operator; - unary = unary_operator; - token = a_token; - } - - /** - * Checks if this node is in the closed state. - * @return True if the node is closed. - */ - public boolean isClosed() - { - return _closed; - } - - /** - * Check if closing this node means closing the previous node. - */ - public boolean closePrevious() - { - return binary == ','; - } - - /** - * Return the token object if it could match as a next token in - * a token list of null if it could not. - * @return - */ - public Object findFreeNode() - { - boolean ok; - if (isClosed() || silenceAllowed()) - return null; - - // Try if the node would stay valid after a one more visit. - visits++; - ok = valid(); - visits--; - - if (ok) - { - if (token instanceof node) - return ((node) token).findFreeNode(); - else - return token; - } - else - return null; - } - - /** - * Check if the current situation is such that the node must be closed - * now. - */ - public boolean mustClose() - { - switch (unary) - { - case 0 : - return true; - - case '*' : - return false; - - case '+' : - return false; - - case '?' : - return visits <= 1; - - default : - throw new Error("Invalid unary operation " + unary + " ( '" + - (char) unary + "' )" - ); - } - } - - /** - * Do the match operation with the given token. This sets various - * flags. - * @param token The token to match. - * @return true if the the token matches node, false if it does not match - * or if the node is closed. - */ - public boolean performMatch(Object a_token) - { - if (isClosed()) - return false; - - boolean matches = compare(a_token); - if (matches) - matches(); - - return matches; - } - - /** - * Prepares the node for matching against a new list of tokens. - */ - public void reset() - { - _closed = false; - visits = 0; - } - - /** - * Check if the provided token can match this node. - * In the case of match, the node state changes, moving - * current position after the matched token. However if this method - * returns a suggested new token to insert before the provided one, - * the state of the list does not change. - * @return Boolean.TRUE if the match is found, - * Boolean.FALSE if the match is not possible and no token can be - * inserted to make the match valid. Otherwise, returns the - * token object that can be inserted before the last token in the - * list, probably (not for sure) making the match valid. - */ - public Object show(Object x) - { - if (compare(x)) - return performMatch(x) ? Boolean.TRUE : Boolean.FALSE; - - Object recommended = findFreeNode(); - return recommended != null ? recommended : Boolean.FALSE; - } - - /** - * Check if it would be a valid case if this node is visited zero times. - * Nodes with unary operator * or ? need not be matched to make a - * model valid. - */ - public boolean silenceAllowed() - { - return unary == '?' || unary == '*'; - } - - /** - * Returns a string representation of the list. - * @return String representation, similar to BNF expression. - */ - public String toString() - { - StringBuffer b = new StringBuffer(); - - b.append(token); - if (unary != 0) - b.append((char) unary); - else - b.append('\''); - - return b.toString(); - } - - /** - * Check if the node state is valid. - */ - public boolean valid() - { - switch (unary) - { - case 0 : - if (binary == '|') - return true; - else - return visits == 1; - - case '*' : - return true; - - case '+' : - return visits > 0; - - case '?' : - return visits <= 1; - - default : - throw new Error("Invalid unary operation " + unary + " ( '" + - (char) unary + "' )" - ); - } - } - - public boolean validPreliminary() - { - return visits == 0 || valid(); - } - - /** - * Closes this node and, if closePrevious() returs true, calls close() for - * the previous node. - */ - protected void close() - { - _closed = true; - if (previous != null && closePrevious()) - previous.close(); - } - - /** - * Compare the provided token object with the token object of this node. - */ - protected boolean compare(Object a_token) - { - if (token instanceof Object[]) - throw new Error("Invalid token object, probably the 'list' " + - "should be used. " - ); - - if (token instanceof node[]) - throw new Error("Do not use 'node' for the array of nodes, use 'list'. "); - - if (token instanceof node) - { - return ((node) token).performMatch(a_token); - } - - boolean rt = false; - - if (token == a_token) - rt = true; - if (token.equals(a_token)) - rt = true; - if (token.toString().equalsIgnoreCase(a_token.toString())) - rt = true; - - return rt; - } - - /** - * Fire the changes that must happen then the token matches this node. - */ - protected void matches() - { - visits++; - if (mustClose()) - close(); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/models/transformer.java b/libjava/gnu/javax/swing/text/html/parser/models/transformer.java deleted file mode 100755 index 22ae3c3..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/models/transformer.java +++ /dev/null @@ -1,201 +0,0 @@ -/* transformer.java -- Content model transforms. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.models; - -import java.io.Serializable; - -import javax.swing.text.html.parser.ContentModel; -import javax.swing.text.html.parser.DTD; - -/** - * Transforms the standard ContentModel tree into the internal representation, - * used in this implementation. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class transformer - implements Serializable -{ - private static final long serialVersionUID = 1; - - /** - * All binary operators. - */ - protected static String binary = "&|,"; - - /** - * All unary operators. - */ - protected static String unary = "+*?"; - - /** - * Measure length of the linked list of the content models. - * @param c The heading element of the linked list. - * @return the length of the list (0 for null 1 if c!=null and c.next==null, - * etc. - */ - public static int measureChainLength(ContentModel c) - { - if (c == null) - return 0; - else - return measureChainLength(c.next) + 1; - } - - /** - * Transform into internal representation without usind dtd. - * This should be used only for testing. - */ - public static node transform(ContentModel c) - { - return transform(c, null); - } - - /** - * Transform into internal representation. - * @param c a model to transform - * @return a transformed model - * @throws Error if the model structure contains errors. - */ - public static node transform(ContentModel c, DTD dtd) - { - // Handle the special cases first. - if (c.content instanceof node) - return (node) c.content; - - // Do the typical transform. - node n; - - /* Case with the single token */ - if (c.next == null) - { - n = optionalTransform(c, dtd); - } - else /* Case with the chain of the multiple tokens. */ - { - node[] l = new node[ measureChainLength(c) ]; - ContentModel m = c; - for (int i = 0; i < l.length; i++) - { - if (m.content instanceof ContentModel) - { - ContentModel nested = (ContentModel) m.content; - if (nested.next == null && - !(nested.content instanceof ContentModel) - ) - { - l [ i ] = - new node((char) m.type, (char) nested.type, nested.content); - } - else - { - l [ i ] = transform(nested, dtd); - } - } - else - l [ i ] = new node((char) 0, (char) 0, m.content); - addtype(l [ i ], (char) m.type); - m = m.next; - } - - if (isBinary(c.type)) - for (int i = 0; i < l.length; i++) - { - l [ i ].binary = (char) c.type; - } - - n = new list(l); - } - - addtype(n, (char) c.type); - - return n; - } - - /** - * True for binary operator - * @param c a character to test - * @return true for [ ,&| ], false otherwise. - */ - private static boolean isBinary(int c) - { - return binary.indexOf((char) c) >= 0; - } - - /** - * True for unary operator. - * @param c a character to test - * @return true for [ +?* ], false otherwise. - */ - private static boolean isUnary(int c) - { - return unary.indexOf((char) c) >= 0; - } - - /** - * Assign an operation type for the given node. - * @param n A node to set the operation to. - * @param type Either binary or unary operation, is assigned to the - * corresponding field of the node. - * @throws error if the operation type is not - * representing a valid unary or binary operation. - */ - private static void addtype(node n, char type) - { - if (isBinary(type)) - n.binary = type; - - else if (isUnary(type)) - n.unary = type; - - else if (type != 0) - throw new Error("Invalid operation '" + (char) type + "'"); - } - - private static node optionalTransform(ContentModel c, DTD dtd) - { - node n; - if (c.content instanceof ContentModel) - n = transform((ContentModel) c.content, dtd); - else - - /* A single token with the specified operation */ - n = new node((char) 0, (char) 0, c.content); - return n; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/gnu/javax/swing/text/html/parser/support/Parser.java deleted file mode 100755 index cef9494..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/Parser.java +++ /dev/null @@ -1,1443 +0,0 @@ -/* Parser.java -- HTML parser. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support; - -import gnu.javax.swing.text.html.parser.htmlAttributeSet; -import gnu.javax.swing.text.html.parser.htmlValidator; -import gnu.javax.swing.text.html.parser.support.low.Constants; -import gnu.javax.swing.text.html.parser.support.low.ParseException; -import gnu.javax.swing.text.html.parser.support.low.ReaderTokenizer; -import gnu.javax.swing.text.html.parser.support.low.Token; -import gnu.javax.swing.text.html.parser.support.low.node; -import gnu.javax.swing.text.html.parser.support.low.pattern; - -import java.io.IOException; -import java.io.Reader; - -import java.util.Comparator; -import java.util.Set; -import java.util.TreeSet; -import java.util.Vector; - -import javax.swing.text.ChangedCharSetException; -import javax.swing.text.html.HTML; -import javax.swing.text.html.parser.AttributeList; -import javax.swing.text.html.parser.DTD; -import javax.swing.text.html.parser.DTDConstants; -import javax.swing.text.html.parser.Element; -import javax.swing.text.html.parser.Entity; -import javax.swing.text.html.parser.TagElement; - -/** - * <p>A simple error-tolerant HTML parser that uses a DTD document - * to access data on the possible tokens, arguments and syntax.</p> - * <p> The parser reads an HTML content from a Reader and calls various - * notifying methods (which should be overridden in a subclass) - * when tags or data are encountered.</p> - * <p>Some HTML elements need no opening or closing tags. The - * task of this parser is to invoke the tag handling methods also when - * the tags are not explicitly specified and must be supposed using - * information, stored in the DTD. - * For example, parsing the document - * <p><table><tr><td>a<td>b<td>c</tr> <br> - * will invoke exactly the handling methods exactly in the same order - * (and with the same parameters) as if parsing the document: <br> - * <em><html><head></head><body><table>< - * tbody></em><tr><td>a<em></td></em><td>b<em> - * </td></em><td>c<em></td></tr></em>< - * <em>/tbody></table></body></html></em></p> - * (supposed tags are given in italics). The parser also supports - * obsolete elements of HTML syntax.<p> - * </p> - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Parser - extends ReaderTokenizer - implements DTDConstants -{ - /** - * The current html tag. - */ - public Token hTag = new Token(); - - /** - * The document template description that will be used to parse the documents. - */ - protected DTD dtd; - - /** - * The value of this field determines whether or not the Parser will be - * strict in enforcing SGML compatibility. The default value is false, - * stating that the parser should do everything to parse and get at least - * some information even from the incorrectly written HTML input. - */ - protected boolean strict; - - /** - * This fields has positive values in preformatted tags. - */ - protected int preformatted = 0; - - /** - * The set of the document tags. This field is used for supporting - * markFirstTime(). - */ - private Set documentTags = - new TreeSet(new Comparator() - { - public int compare(Object a, Object b) - { - return ((String) a).compareToIgnoreCase((String) b); - } - } - ); - - /** - * The buffer to collect the incremental output like text or coment. - */ - private StringBuffer buffer = new StringBuffer(); - - /** - * The buffer to store the document title. - */ - private StringBuffer title = new StringBuffer(); - - /** - * The current token. - */ - private Token t; - - /** - * True means that the 'title' tag of this document has - * already been handled. - */ - private boolean titleHandled; - - /** - * True means that the 'title' tag is currently open and all - * text is also added to the title buffer. - */ - private boolean titleOpen; - - /** - * The attributes of the current HTML element. - * Package-private to avoid an accessor method. - */ - htmlAttributeSet attributes = - htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET; - - /** - * The validator, controlling the forcible closing of the tags that - * (in accordance to dtd) are not allowed in the current context. - */ - private htmlValidator validator; - - /** - * Provides the default values for parameters in the case when these - * values are defined in the DTD. - */ - private parameterDefaulter defaulter; - - /** - * The text pre-processor for handling line ends and tabs. - */ - private textPreProcessor textProcessor = new textPreProcessor(); - - /** - * Creates a new Parser that uses the given - * {@link javax.swing.text.html.parser.DTD }. The only standard way - * to get an instance of DTD is to construct it manually, filling in - * all required fields. - * @param a_dtd The DTD to use. The parser behaviour after passing null - * as an argument is not documented and may vary between implementations. - */ - public Parser(DTD a_dtd) - { - if (a_dtd == null) - dtd = gnu.javax.swing.text.html.parser.HTML_401F.getInstance(); - else - dtd = a_dtd; - - defaulter = new parameterDefaulter(dtd); - - validator = - new htmlValidator(dtd) - { - /** - * Handles the error message. This method must be overridden to pass - * the message where required. - * @param msg The message text. - */ - protected void s_error(String msg) - { - error(msg); - } - - /** - * The method is called when the tag validator decides to close the - * tag on its own initiative. After reaching the end of stream, - * The tag validator closes all unclosed elements that are required - * to have the end (closing) tag. - * - * @param element The tag being fictionally (forcibly) closed. - */ - protected void handleSupposedEndTag(Element tElement) - { - // The tag is cloned as the original tElement is the - // element from the starting tag - may be accidently used - // somewhere else. - TagElement tag = makeTag(tElement, true); - _handleEndTag_remaining(tag); - } - - /** - * The method is called when the the tag validator decides to open - * the new tag on its own initiative. The tags, opened in this - * way, are HTML, HEAD and BODY. The attribute set is temporary - * assigned to the empty one, the previous value is - * restored before return. - * - * @param element The tag being fictionally (forcibly) closed. - */ - protected void handleSupposedStartTag(Element tElement) - { - TagElement tag = makeTag(tElement, true); - htmlAttributeSet were = attributes; - attributes = htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET; - _handleStartTag(tag); - attributes = were; - } - }; - } - - /** - * Get the attributes of the current tag. - * @return The attribute set, representing the attributes of the current tag. - */ - public htmlAttributeSet getAttributes() - { - return attributes; - } - - /** - * Invokes the error handler. The default method in this implementation - * delegates the call to handleError, also providing the current line. - */ - public void error(String msg) - { - error(msg, getTokenAhead()); - } - - public void error(String msg, Token atToken) - { - if (atToken != null) - handleError(atToken.where.beginLine, - msg + ": line " + atToken.where.beginLine + - ", absolute pos " + atToken.where.startPosition - ); - else - handleError(0, msg); - } - - /** - * Invokes the error handler. The default method in this implementation - * delegates the call to error (parm1+": '"+parm2+"'"). - */ - public void error(String msg, String invalid) - { - error(msg + ": '" + invalid + "'"); - } - - /** - * Invokes the error handler. The default method in this implementation - * delegates the call to error (parm1+" "+ parm2+" "+ parm3). - */ - public void error(String parm1, String parm2, String parm3) - { - error(parm1 + " " + parm2 + " " + parm3); - } - - /** - * Invokes the error handler. The default method in this implementation - * delegates the call to error (parm1+" "+ parm2+" "+ parm3+" "+ parm4). - */ - public void error(String parm1, String parm2, String parm3, String parm4) - { - error(parm1 + " " + parm2 + " " + parm3 + " " + parm4); - } - - public void flushAttributes() - { - } - - /** - * Parse the HTML text, calling various methods in response to the - * occurence of the corresponding HTML constructions. - * @param reader The reader to read the source HTML from. - * @throws IOException If the reader throws one. - */ - public synchronized void parse(Reader reader) - throws IOException - { - reset(reader); - restart(); - try - { - parseDocument(); - validator.closeAll(); - } - catch (ParseException ex) - { - if (ex != null) - { - error("Unable to continue parsing the document", ex.getMessage()); - - Throwable cause = ex.getCause(); - if (cause instanceof IOException) - throw (IOException) cause; - } - } - } - - /** - * Parses DTD markup declaration. Currently returns null without action. - * @return null. - * @throws IOException - */ - public String parseDTDMarkup() - throws IOException - { - return null; - } - - /** - * Parse SGML insertion ( <! ... > ). When the - * the SGML insertion is found, this method is called, passing - * SGML in the string buffer as a parameter. The default method - * returns false without action and can be overridden to - * implement user - defined SGML support. - * <p> - * If you need more information about SGML insertions in HTML documents, - * the author suggests to read SGML tutorial on - * {@link http://www.w3.org/TR/WD-html40-970708/intro/sgmltut.html}. - * We also recommend Goldfarb C.F (1991) <i>The SGML Handbook</i>, - * Oxford University Press, 688 p, ISBN: 0198537379. - * </p> - * @param strBuff - * @return true if this is a valid DTD markup declaration. - * @throws IOException - */ - public boolean parseMarkupDeclarations(StringBuffer strBuff) - throws IOException - { - return false; - } - - /** - * Get the first line of the last parsed token. - */ - protected int getCurrentLine() - { - return hTag.where.beginLine; - } - - /** - * Read parseable character data, add to buffer. - * @param clearBuffer If true, buffer if filled by CDATA section, - * otherwise the section is appended to the existing content of the - * buffer. - * - * @throws ParseException - */ - protected void CDATA(boolean clearBuffer) - throws ParseException - { - Token start = hTag = getTokenAhead(); - - if (clearBuffer) - buffer.setLength(0); - - // Handle expected EOF. - if (start.kind == EOF) - return; - - read: - while (true) - { - t = getTokenAhead(); - if (t.kind == EOF) - { - error("unexpected eof", t); - break read; - } - else if (t.kind == BEGIN) - break read; - else if (t.kind == Constants.ENTITY) - { - resolveAndAppendEntity(t); - getNextToken(); - } - else - { - append(t); - getNextToken(); - } - } - hTag = new Token(start, getTokenAhead(0)); - if (buffer.length() != 0) - _handleText(); - } - - /** - * Process Comment. This method skips till --> without - * taking SGML constructs into consideration. The supported SGML - * constructs are handled separately. - */ - protected void Comment() - throws ParseException - { - buffer.setLength(0); - - Token start = hTag = mustBe(BEGIN); - optional(WS); - mustBe(EXCLAMATION); - optional(WS); - mustBe(DOUBLE_DASH); - - Token t; - Token last; - - comment: - while (true) - { - t = getTokenAhead(); - if (t.kind == EOF) - { - handleEOFInComment(); - last = t; - break comment; - } - else if (COMMENT_END.matches(this)) - { - mustBe(DOUBLE_DASH); - optional(WS); - last = mustBe(END); - break comment; - } - else if (COMMENT_TRIPLEDASH_END.matches(this)) - { - mustBe(DOUBLE_DASH); - t = mustBe(NUMTOKEN); - if (t.getImage().equals("-")) - { - append(t); - last = mustBe(END); - break comment; - } - else - { - buffer.append("--"); - append(t); - t = getTokenAhead(); - } - } - else - /* The lllll-- can match as NUMTOKEN */ - if ((t.getImage().endsWith("--")) && - ( - getTokenAhead(1).kind == END || - (getTokenAhead(1).kind == WS && getTokenAhead(2).kind == END) - ) - ) - { - buffer.append(t.getImage().substring(0, t.getImage().length() - 2)); - - /* Skip the closing > that we have already checked. */ - last = mustBe(t.kind); - break comment; - } - else - append(t); - mustBe(t.kind); - } - hTag = new Token(start, last); - handleComment(); - } - - /** - * Read a script. The text, returned without any changes, - * is terminated only by the closing tag SCRIPT. - */ - protected void Script() - throws ParseException - { - Token name; - - Token start = hTag = mustBe(BEGIN); - optional(WS); - - name = mustBe(SCRIPT); - - optional(WS); - - restOfTag(false, name, start); - - buffer.setLength(0); - - script: - while (!SCRIPT_CLOSE.matches(this)) - { - append(getNextToken()); - } - - consume(SCRIPT_CLOSE); - - _handleText(); - - endTag(false); - _handleEndTag(makeTagElement(name.getImage(), false)); - } - - /** - * Process SGML insertion that is not a comment. - */ - protected void Sgml() - throws ParseException - { - if (COMMENT_OPEN.matches(this)) - Comment(); - else // skip till ">" - { - Token start = hTag = mustBe(BEGIN); - optional(WS); - mustBe(EXCLAMATION); - - buffer.setLength(0); - read: - while (true) - { - t = getNextToken(); - if (t.kind == Constants.ENTITY) - { - resolveAndAppendEntity(t); - } - else if (t.kind == EOF) - { - error("unexpected eof", t); - break read; - } - else if (t.kind == END) - break read; - else - append(t); - } - - try - { - parseMarkupDeclarations(buffer); - } - catch (IOException ex) - { - error("Unable to parse SGML insertion: '" + buffer + "'", - new Token(start, t) - ); - } - } - } - - /** - * Read a style definition. The text, returned without any changes, - * is terminated only by the closing tag STYLE. - */ - protected void Style() - throws ParseException - { - Token name; - - Token start = hTag = mustBe(BEGIN); - optional(WS); - - name = mustBe(STYLE); - - optional(WS); - - restOfTag(false, name, start); - - buffer.setLength(0); - - style: - while (!STYLE_CLOSE.matches(this)) - { - append(getNextToken()); - } - - consume(STYLE_CLOSE); - - _handleText(); - - endTag(false); - _handleEndTag(makeTagElement(name.getImage(), false)); - } - - /** - * Read a html tag. - */ - protected void Tag() - throws ParseException - { - mark(true); - - boolean closing = false; - Token name; - Token start = hTag = mustBe(BEGIN); - - optional(WS); - name = getNextToken(); - optional(WS); - - if (name.kind == SLASH) - { - closing = true; - name = getNextToken(); - } - - restOfTag(closing, name, start); - } - - /** - * A hook, for operations, preceeding call to handleText. - * Handle text in a string buffer. - * In non - preformatted mode, all line breaks immediately following the - * start tag and immediately before an end tag is discarded, - * \r, \n and \t are replaced by spaces, multiple space are replaced - * by the single one and the result is moved into array, - * passing it to handleText(). - */ - protected void _handleText() - { - char[] text; - - if (preformatted > 0) - text = textProcessor.preprocessPreformatted(buffer); - else - text = textProcessor.preprocess(buffer); - - if (text != null && text.length > 0) - { - TagElement pcdata = new TagElement(dtd.getElement("#pcdata")); - attributes = htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET; - _handleEmptyTag(pcdata); - - handleText(text); - if (titleOpen) - title.append(text); - } - } - - /** - * Add the image of this token to the buffer. - * @param t A token to append. - */ - protected final void append(Token t) - { - if (t.kind != EOF) - t.appendTo(buffer); - } - - /** - * Consume pattern that must match. - * @param p A pattern to consume. - */ - protected final void consume(pattern p) - { - node n; - for (int i = 0; i < p.nodes.length; i++) - { - n = p.nodes [ i ]; - if (n.optional) - optional(n.kind); - else - mustBe(n.kind); - } - } - - /** - * The method is called when the HTML end (closing) tag is found or if - * the parser concludes that the one should be present in the - * current position. The method is called immediatly - * before calling the handleEndTag(). - * @param omitted True if the tag is no actually present in the document, - * but is supposed by the parser (like </html> at the end of the - * document). - */ - protected void endTag(boolean omitted) - { - } - - /** - * Handle HTML comment. The default method returns without action. - * @param comment - */ - protected void handleComment(char[] comment) - { - } - - /** - * This is additionally called in when the HTML content terminates - * without closing the HTML comment. This can only happen if the - * HTML document contains errors (for example, the closing --;gt is - * missing. - */ - protected void handleEOFInComment() - { - error("Unclosed comment"); - } - - /** - * Handle the tag with no content, like <br>. The method is - * called for the elements that, in accordance with the current DTD, - * has an empty content. - * @param The tag being handled. - * @throws javax.swing.text.ChangedCharSetException - */ - protected void handleEmptyTag(TagElement tag) - throws javax.swing.text.ChangedCharSetException - { - } - - /** - * The method is called when the HTML closing tag ((like </table>) - * is found or if the parser concludes that the one should be present - * in the current position. - * @param The tag - */ - protected void handleEndTag(TagElement tag) - { - } - - /* Handle error that has occured in the given line. */ - protected void handleError(int line, String message) - { - } - - /** - * The method is called when the HTML opening tag ((like <table>) - * is found or if the parser concludes that the one should be present - * in the current position. - * @param The tag - */ - protected void handleStartTag(TagElement tag) - { - } - - /** - * Handle the text section. - * <p> For non-preformatted section, the parser replaces - * \t, \r and \n by spaces and then multiple spaces - * by a single space. Additionaly, all whitespace around - * tags is discarded. - * </p> - * <p> For pre-formatted text (inside TEXAREA and PRE), the parser preserves - * all tabs and spaces, but removes <b>one</b> bounding \r, \n or \r\n, - * if it is present. Additionally, it replaces each occurence of \r or \r\n - * by a single \n.</p> - * - * @param text A section text. - */ - protected void handleText(char[] text) - { - } - - /** - * Handle HTML <title> tag. This method is invoked when - * both title starting and closing tags are already behind. - * The passed argument contains the concatenation of all - * title text sections. - * @param The title text. - */ - protected void handleTitle(char[] title) - { - } - - /** - * Constructs the tag from the given element. In this implementation, - * this is defined, but never called. - * @return the tag - */ - protected TagElement makeTag(Element element) - { - return makeTag(element, false); - } - - /** - * Constructs the tag from the given element. - * @param the tag base {@link javax.swing.text.html.parser.Element} - * @param isSupposed true if the tag is not actually present in the - * html input, but the parser supposes that it should to occur in - * the current location. - * @return the tag - */ - protected TagElement makeTag(Element element, boolean isSupposed) - { - return new TagElement(element, isSupposed); - } - - /** - * This is called when the tag, representing the given element, - * occurs first time in the document. - * @param element - */ - protected void markFirstTime(Element element) - { - } - - /** - * Consume the token that was checked before and hence MUST be present. - * @param kind The kind of token to consume. - */ - protected Token mustBe(int kind) - { - if (getTokenAhead().kind == kind) - return getNextToken(); - else - { - String ei = ""; - if (kind < 1000) - ei = " ('" + (char) kind + "') "; - throw new AssertionError("The token of kind " + kind + ei + - " MUST be here," - ); - } - } - - /** - * Handle attribute without value. The default method uses - * the only allowed attribute value from DTD. - * If the attribute is unknown or allows several values, - * the HTML.NULL_ATTRIBUTE_VALUE is used. The attribute with - * this value is added to the attribute set. - * @param element The name of element. - * @param attribute The name of attribute without value. - */ - protected void noValueAttribute(String element, String attribute) - { - Object value = HTML.NULL_ATTRIBUTE_VALUE; - - Element e = (Element) dtd.elementHash.get(element.toLowerCase()); - if (e != null) - { - AttributeList attr = e.getAttribute(attribute); - if (attr != null) - { - Vector values = attr.values; - if (values != null && values.size() == 1) - value = values.get(0); - } - } - attributes.addAttribute(attribute, value); - } - - /** - * Consume the optional token, if present. - * @param kind The kind of token to consume. - */ - protected Token optional(int kind) - { - if (getTokenAhead().kind == kind) - return getNextToken(); - else - return null; - } - - /** Parse the html document. */ - protected void parseDocument() - throws ParseException - { - while (getTokenAhead().kind != EOF) - { - advanced = false; - if (TAG.matches(this)) - Tag(); - else if (COMMENT_OPEN.matches(this)) - Comment(); - else if (STYLE_OPEN.matches(this)) - Style(); - else if (SCRIPT_OPEN.matches(this)) - Script(); - else if (SGML.matches(this)) - Sgml(); - else - CDATA(true); - - // Surely HTML error, treat as a text. - if (!advanced) - { - Token wrong = getNextToken(); - error("unexpected '" + wrong.getImage() + "'", wrong); - buffer.setLength(0); - buffer.append(wrong.getImage()); - _handleText(); - } - } - } - - /** - * Read the element attributes, adding them into attribute set. - * @param element The element name (needed to access attribute - * information in dtd). - */ - protected void readAttributes(String element) - { - Token name; - Token value; - Token next; - String attrValue; - - attributes = new htmlAttributeSet(); - - optional(WS); - - attributeReading: - while (getTokenAhead().kind == NUMTOKEN) - { - name = getNextToken(); - optional(WS); - - next = getTokenAhead(); - if (next.kind == EQ) - { - mustBe(EQ); - optional(WS); - - next = getNextToken(); - - switch (next.kind) - { - case QUOT : - - // read "quoted" attribute. - buffer.setLength(0); - readTillTokenE(QUOT); - attrValue = buffer.toString(); - break; - - case AP : - - // read 'quoted' attribute. - buffer.setLength(0); - readTillTokenE(AP); - attrValue = buffer.toString(); - break; - - // read unquoted attribute. - case NUMTOKEN : - value = next; - optional(WS); - - // Check maybe the opening quote is missing. - next = getTokenAhead(); - if (bQUOTING.get(next.kind)) - { - hTag = next; - error("The value without opening quote is closed with '" + - next.getImage() + "'" - ); - } - attrValue = value.getImage(); - break; - - default : - break attributeReading; - } - attributes.addAttribute(name.getImage(), attrValue); - optional(WS); - } - else // The '=' is missing: attribute without value. - { - noValueAttribute(element, name.getImage()); - } - } - } - - /** - * Return string, corresponding the given named entity. - * The name is passed with the preceeding &, but without - * the ending semicolon. - */ - protected String resolveNamedEntity(final String a_tag) - { - // Discard & - if (!a_tag.startsWith("&")) - throw new AssertionError("Named entity " + a_tag + - " must start witn '&'." - ); - - String tag = a_tag.substring(1); - - try - { - Entity entity = dtd.getEntity(tag); - if (entity != null) - return entity.getString(); - - entity = dtd.getEntity(tag.toLowerCase()); - - if (entity != null) - { - error("The name of this entity should be in lowercase", a_tag); - return entity.getString(); - } - } - catch (IndexOutOfBoundsException ibx) - { - /* The error will be reported. */ - } - - error("Unknown named entity", a_tag); - return a_tag; - } - - /** - * Return char, corresponding the given numeric entity. - * The name is passed with the preceeding &#, but without - * the ending semicolon. - */ - protected char resolveNumericEntity(final String a_tag) - { - // Discard &# - if (!a_tag.startsWith("&#")) - throw new AssertionError("Numeric entity " + a_tag + - " must start witn '&#'." - ); - - String tag = a_tag.substring(2); - - try - { - // Determine the encoding type: - char cx = tag.charAt(0); - if (cx == 'x' || cx == 'X') // Hexadecimal &#Xnnn; - - return (char) Integer.parseInt(tag.substring(1), 16); - - return (char) Integer.parseInt(tag); - } - - /* The error will be reported. */ - catch (NumberFormatException nex) - { - } - catch (IndexOutOfBoundsException ix) - { - } - - error("Invalid numeric entity", a_tag); - return '?'; - } - - /** - * Reset all fields into the intial default state, preparing the - * parset for parsing the next document. - */ - protected void restart() - { - documentTags.clear(); - titleHandled = false; - titleOpen = false; - buffer.setLength(0); - title.setLength(0); - validator.restart(); - } - - /** - * The method is called when the HTML opening tag ((like <table>) - * is found or if the parser concludes that the one should be present - * in the current position. The method is called immediately before - * calling the handleStartTag. - * @param The tag - */ - protected void startTag(TagElement tag) - throws ChangedCharSetException - { - } - - /** - * Handle a complete element, when the tag content is already present in the - * buffer and both starting and heading tags behind. This is called - * in the case when the tag text must not be parsed for the nested - * elements (elements STYLE and SCRIPT). - */ - private void _handleCompleteElement(TagElement tag) - { - _handleStartTag(tag); - - // Suppress inclusion of the SCRIPT ans STYLE texts into the title. - HTML.Tag h = tag.getHTMLTag(); - if (h == HTML.Tag.SCRIPT || h == HTML.Tag.STYLE) - { - boolean tmp = titleOpen; - titleOpen = false; - _handleText(); - titleOpen = tmp; - } - else - _handleText(); - - _handleEndTag(tag); - } - - /** - * A hooks for operations, preceeding call to handleEmptyTag(). - * Handle the tag with no content, like <br>. As no any - * nested tags are expected, the tag validator is not involved. - * @param The tag being handled. - */ - private void _handleEmptyTag(TagElement tag) - { - try - { - validator.validateTag(tag, attributes); - handleEmptyTag(tag); - } - catch (ChangedCharSetException ex) - { - error("Changed charset exception:", ex.getMessage()); - } - } - - /** - * A hooks for operations, preceeding call to handleEndTag(). - * The method is called when the HTML closing tag - * is found. Calls handleTitle after closing the 'title' tag. - * @param The tag - */ - private void _handleEndTag(TagElement tag) - { - validator.closeTag(tag); - _handleEndTag_remaining(tag); - } - - /** - * Actions that are also required if the closing action was - * initiated by the tag validator. - * Package-private to avoid an accessor method. - */ - void _handleEndTag_remaining(TagElement tag) - { - HTML.Tag h = tag.getHTMLTag(); - - handleEndTag(tag); - endTag(tag.fictional()); - - if (h.isPreformatted()) - preformatted--; - if (preformatted < 0) - preformatted = 0; - - if (h == HTML.Tag.TITLE) - { - titleOpen = false; - titleHandled = true; - - char[] a = new char[ title.length() ]; - title.getChars(0, a.length, a, 0); - handleTitle(a); - } - } - - /** - * A hooks for operations, preceeding call to handleStartTag(). - * The method is called when the HTML opening tag ((like <table>) - * is found. - * Package-private to avoid an accessor method. - * @param The tag - */ - void _handleStartTag(TagElement tag) - { - validator.openTag(tag, attributes); - startingTag(tag); - handleStartTag(tag); - - HTML.Tag h = tag.getHTMLTag(); - - if (h.isPreformatted()) - preformatted++; - - if (h == HTML.Tag.TITLE) - { - if (titleHandled) - error("Repetetive <TITLE> tag"); - titleOpen = true; - titleHandled = false; - } - } - - /** - * Resume parsing after heavy errors in HTML tag structure. - * @throws ParseException - */ - private void forciblyCloseTheTag() - throws ParseException - { - int closeAt = 0; - buffer.setLength(0); - - ahead: - for (int i = 1; i < 100; i++) - { - t = getTokenAhead(i - 1); - if (t.kind == EOF || t.kind == BEGIN) - break ahead; - if (t.kind == END) - { - /* Closing '>' found. */ - closeAt = i; - break ahead; - } - } - if (closeAt > 0) - { - buffer.append("Ignoring '"); - for (int i = 1; i <= closeAt; i++) - { - t = getNextToken(); - append(t); - } - buffer.append('\''); - error(buffer.toString()); - } - } - - /** - * Handle comment in string buffer. You can avoid allocating a char - * array each time by processing your comment directly here. - */ - private void handleComment() - { - char[] a = new char[ buffer.length() ]; - buffer.getChars(0, a.length, a, 0); - handleComment(a); - } - - private TagElement makeTagElement(String name, boolean isSupposed) - { - Element e = (Element) dtd.elementHash.get(name.toLowerCase()); - if (e == null) - { - error("Unknown tag <" + name + ">"); - e = dtd.getElement(name); - e.name = name.toUpperCase(); - e.index = -1; - } - - if (!documentTags.contains(e.name)) - { - markFirstTime(e); - documentTags.add(e.name); - } - - return makeTag(e, isSupposed); - } - - /** - * Read till the given token, resolving entities. Consume the given - * token without adding it to buffer. - * @param till The token to read till - * @throws ParseException - */ - private void readTillTokenE(int till) - throws ParseException - { - buffer.setLength(0); - read: - while (true) - { - t = getNextToken(); - if (t.kind == Constants.ENTITY) - { - resolveAndAppendEntity(t); - } - else if (t.kind == EOF) - { - error("unexpected eof", t); - break read; - } - else if (t.kind == till) - break read; - else if (t.kind == WS) - { - // Processing whitespace in accordance with CDATA rules: - String s = t.getImage(); - char c; - for (int i = 0; i < s.length(); i++) - { - c = s.charAt(i); - if (c == '\r') - buffer.append(' '); // CR replaced by space - else if (c == '\n') - ; // LF ignored - else if (c == '\t') - buffer.append(' '); // Tab replaced by space - else - buffer.append(c); - } - } - else - append(t); - } - } - - /** - * Resolve the entity and append it to the end of buffer. - * @param entity - */ - private void resolveAndAppendEntity(Token entity) - { - switch (entity.category) - { - case ENTITY_NAMED : - buffer.append(resolveNamedEntity(entity.getImage())); - break; - - case ENTITY_NUMERIC : - buffer.append(resolveNumericEntity(entity.getImage())); - break; - - default : - throw new AssertionError("Invalid entity category " + - entity.category - ); - } - } - - /** - * Handle the remaining of HTML tags. This is a common end for - * TAG, SCRIPT and STYLE. - * @param closing True for closing tags ( </TAG> ). - * @param name Name of element - * @param start Token where element has started - * @throws ParseException - */ - private void restOfTag(boolean closing, Token name, Token start) - throws ParseException - { - boolean end = false; - Token next; - - optional(WS); - - readAttributes(name.getImage()); - - optional(WS); - - next = getTokenAhead(); - if (next.kind == END) - { - mustBe(END); - end = true; - } - - hTag = new Token(start, next); - - attributes.setResolveParent(defaulter.getDefaultParameters(name.getImage())); - - if (!end) - { - // The tag body contains errors. If additionally the tag - // name is not valid, this construction is treated as text. - if (dtd.elementHash.get(name.getImage().toLowerCase()) == null && - backupMode - ) - { - error("Errors in tag body and unknown tag name. " + - "Treating the tag as a text." - ); - reset(); - - hTag = mustBe(BEGIN); - buffer.setLength(0); - buffer.append(hTag.getImage()); - CDATA(false); - return; - } - else - { - error("Forcibly closing invalid parameter list"); - forciblyCloseTheTag(); - } - } - - if (closing) - { - endTag(false); - _handleEndTag(makeTagElement(name.getImage(), false)); - } - else - { - TagElement te = makeTagElement(name.getImage(), false); - if (te.getElement().type == DTDConstants.EMPTY) - _handleEmptyTag(te); - else - _handleStartTag(te); - } - } - - /** - * This should fire additional actions in response to the - * ChangedCharSetException. The current implementation - * does nothing. - * @param tag - */ - private void startingTag(TagElement tag) - { - try - { - startTag(tag); - } - catch (ChangedCharSetException cax) - { - error("Invalid change of charset"); - } - } - - private void ws_error() - { - error("Whitespace here is not permitted"); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java b/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java deleted file mode 100755 index 9cdf810..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java +++ /dev/null @@ -1,112 +0,0 @@ -/* gnuStringIntMapper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support; - -import java.util.HashMap; -import java.util.Map; -import java.util.TreeMap; - -/** - * A helper class, mapping between the strings and they unique integer - * identifiers. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public abstract class gnuStringIntMapper -{ - /** - * Maps argument integer values from DTDConstants into they string - * names. Initialized on demand. - */ - private Map is_Map; - - /** - * Maps argument string names into they integer values from DTDConstants. - * Initialized on demand. - */ - private Map si_Map; - - /** - * Get string from id or null if no such id is present in the mapper. - */ - public final String get(int id) - { - if (is_Map == null) - createTheMap(); - - return (String) is_Map.get(new Integer(id)); - } - - /** Get id from string or 0 if no such string is present in the mapper. */ - public final int get(String id) - { - if (si_Map == null) - createTheMap(); - - Integer i = (Integer) si_Map.get(id); - - return i != null ? i.intValue() : 0; - } - - /** - * Create the mapping table for this mapper by adding the required - * String/int pairs. The method is invoked - * only once for each instance, after the first invocation of the any - * form of the <code>get</code> method. Use <code>add</code> to - * create a map for a concrete instance. - */ - protected abstract void create(); - - /** - * Add an id/string pair to this mapper. This is called from - * the method <code>create</code> only. - */ - protected void add(String name, int id) - { - Integer i = new Integer(id); - si_Map.put(name, i); - is_Map.put(i, name); - } - - private void createTheMap() - { - is_Map = new HashMap(); - si_Map = new TreeMap(); - create(); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.java b/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.java deleted file mode 100644 index a39330a..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.java +++ /dev/null @@ -1,238 +0,0 @@ -/* Buffer.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -/** - * A string buffer that additionally holds line and absolute postion - * information. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Buffer -{ - public static int INITIAL_SIZE = 2048; - - /** - * True if the \n symbol has been seen. - */ - public boolean n_seen; - - /** - * True if the \r symbol has been seen. - */ - public boolean r_seen; - char[] chr = new char[ INITIAL_SIZE ]; - int[] line = new int[ INITIAL_SIZE ]; - int[] position = new int[ INITIAL_SIZE ]; - - /** - * Current line. - */ - int current_line = 0; - - /** - * Point to the next free position. - */ - int length; - - public Buffer() - { - } - - public Buffer(String content) - { - for (int i = 0; i < content.length(); i++) - { - append(content.charAt(i), i); - } - } - - /** - * Get the characters into array. - * @param srcBegin From, inclusive - * @param srcEnd To, exclusive. - * @param dst Into - * @param dstBegin Offset. - */ - public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) - { - System.arraycopy(chr, srcBegin, dst, dstBegin, (srcEnd - srcBegin)); - } - - /** - * Return the sequence, used to separate lines in the document. - * @return one of \n, \r or \r\n. - */ - public String getEndOfLineSequence() - { - if (r_seen && n_seen) - return "\r\n"; - else if (r_seen) - return "\r"; - else - - // This also is returned for single-line document. - return "\n"; - } - - /** - * Truncate. - * @param n The length to truncate till. - */ - public void setLength(int n) - { - length = n; - } - - /** - * Get location information for the given region. - * @param from Region start, inclusive. - * @param to Region end, exclusive. - * @return The location, covering the region. - */ - public Location getLocation(int from, int to) - { - Location l = new Location(); - l.beginLine = line [ from ]; - l.endLine = line [ to - 1 ]; - - l.startPosition = position [ from ]; - l.endPosition = position [ to - 1 ] + 1; - - return l; - } - - /** - * Add the character. - * @param c The character. - * @param pos The character position in the stream (the line number - * is handled internally in the buffer). - */ - public void append(char c, int pos) - { - if (length >= chr.length) - expand(); - chr [ length ] = c; - position [ length ] = pos; - - if (c == '\n') - { - if (!r_seen) - current_line++; - n_seen = true; - } - else if (c == '\r') - { - current_line++; - r_seen = true; - } - - line [ length ] = current_line; - - length++; - } - - /** - * Return char at the given positon. - */ - public char charAt(int i) - { - return chr [ i ]; - } - - /** - * Delete the range - * @param from Start position, inclusive. - * @param to End position, exclusive. - */ - public void delete(int from, int to) - { - int len = to - from; - if (len < 1) - throw new AssertionError("Deleting " + from + " till " + to); - - int tail = length - to; - - System.arraycopy(chr, to, chr, from, tail); - System.arraycopy(position, to, position, from, tail); - System.arraycopy(line, to, line, from, tail); - length = length - len; - } - - /** - * Double the buffer size. - */ - public void expand() - { - int nSize = 2 * chr.length; - - char[] nchr = new char[ nSize ]; - int[] nposition = new int[ nSize ]; - int[] nline = new int[ nSize ]; - - System.arraycopy(chr, 0, nchr, 0, chr.length); - System.arraycopy(position, 0, nposition, 0, position.length); - System.arraycopy(line, 0, nline, 0, line.length); - - chr = nchr; - position = nposition; - line = nline; - } - - /** - * Return length of the occupied part of the buffer. - */ - public int length() - { - return length; - } - - /** - * Prepare for parsing the new document. - */ - public void reset() - { - setLength(0); - r_seen = n_seen = false; - } - - public String toString() - { - return new String(chr, 0, length); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.java b/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.java deleted file mode 100755 index 283d323..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.java +++ /dev/null @@ -1,422 +0,0 @@ -/* Constants.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -import java.util.BitSet; - -/** - * The parser constants and operations, directly related to the parser - * constants. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Constants -{ - /* Single character tokens are reflected into they ASCII codes. */ - - /** - * Start of HTML token. - */ - public static final int BEGIN = '<'; - - /** - * End of HTML token. - */ - public static final int END = '>'; - - /** - * Exclamation (indicates SGML or comment). - */ - public static final int EXCLAMATION = '!'; - - /** - * Slash (indicates closing tag). - */ - public static final int SLASH = '/'; - - /** - * Equals sign. - */ - public static final int EQ = '='; - - /** - * Quoting sign. - */ - public static final int AP = '\''; - - /** - * Quoting sign. - */ - public static final int QUOT = '"'; - - /* The numbers of other tokens start outside the ascii space. */ - /* String tokens */ - - /** - * Double dash (--) - */ - public static final int DOUBLE_DASH = 1000; - - /** - * The STYLE tag (needs special handling). - */ - public static final int STYLE = 1001; - - /** - * The SCRIPT tag (needs special handling). - */ - public static final int SCRIPT = 1002; - - /* Pattern tokens */ - - /** - * HTML whitespace. - */ - public static final int WS = 1003; - - /** - * Named or numeric entity, - */ - public static final int ENTITY = 1004; - - /** - * Sequence of valid name characters (can start from digit). - */ - public static final int NUMTOKEN = 1005; - - /* Complex tokens */ - - /** - * Comment opening sequence. - */ - public static final pattern COMMENT_OPEN = - new pattern(new node[] - { - new node(BEGIN), new node(WS, true), new node(EXCLAMATION), - new node(WS, true), new node(DOUBLE_DASH), - } - ); - - /** - * Comment closing sequence - */ - public static final pattern COMMENT_END = - new pattern(new node[] - { - new node(DOUBLE_DASH), new node(WS, true), new node(END) - } - ); - - /** - * Special case ---> (also is treated as end of comment). - */ - public static final pattern COMMENT_TRIPLEDASH_END = - new pattern(new node[] - { - new node(DOUBLE_DASH), new node(NUMTOKEN), new node(END) - } - ); - - /** - * STYLE element heading pattern. - */ - public static final pattern STYLE_OPEN = - new pattern(new node[] { new node(BEGIN), new node(WS, true), new node(STYLE) }); - - /** - * SCRIPT element heading pattern. - */ - public static final pattern SCRIPT_OPEN = - new pattern(new node[] { new node(BEGIN), new node(WS, true), new node(SCRIPT) }); - - /** - * SGML element heading pattern. - */ - public static final pattern SGML = - new pattern(new node[] - { - new node(BEGIN), new node(WS, true), new node(EXCLAMATION) - } - ); - - /** - * SCRIPT element closing pattern. - */ - public static final pattern SCRIPT_CLOSE = - new pattern(new node[] - { - new node(BEGIN), new node(WS, true), new node(SLASH), - new node(WS, true), new node(SCRIPT), new node(WS, true), - new node(END) - } - ); - - /** - * STYLE element closing pattern. - */ - public static final pattern STYLE_CLOSE = - new pattern(new node[] - { - new node(BEGIN), new node(WS, true), new node(SLASH), - new node(WS, true), new node(STYLE), new node(WS, true), - new node(END) - } - ); - - /** - * Ordinary HTML tag heading pattern. - */ - public static final pattern TAG = - new pattern(new node[] - { - new node(BEGIN), new node(WS, true), new node(SLASH, true), - new node(WS, true), new node(NUMTOKEN) - } - ); - - /* Special tokens */ - - /** - * All other tokens. - */ - public static final int OTHER = 1999; - - /** - * The UNICODE "end of text" control code - */ - static final char ETX = 3; - - /** - * End of file. - */ - public static final int EOF = ETX; - - /* Character categories */ - - /** - * All single char tokens. - */ - public static final BitSet bSINGLE_CHAR_TOKEN = new BitSet(); - - /** - * Non letters and non numbers, allowed in HTML names. - */ - public static final BitSet bSPECIAL = new BitSet(); - - /** - * All letters, used in HTML names. - */ - public static final BitSet bLETTER = new BitSet(); - - /** - * Digits. - */ - public static final BitSet bDIGIT = new BitSet(); - - /** - * Both line breaks. - */ - public static final BitSet bLINEBREAK = new BitSet(); - - /** - * All whitespace. - */ - public static final BitSet bWHITESPACE = new BitSet(); - - /** - * Both quoting characters. - */ - public static final BitSet bQUOTING = new BitSet(); - - /** - * Valid name characters. - */ - public static final BitSet bNAME = new BitSet(); - - /* Entity subcategories */ - - /** - * Named entity. - */ - public static final int ENTITY_NAMED = 1; - - /** - * Numeric entity. - */ - public static final int ENTITY_NUMERIC = 2; - - static - { - bQUOTING.set(AP); - bQUOTING.set(QUOT); - - bSINGLE_CHAR_TOKEN.set(BEGIN); - bSINGLE_CHAR_TOKEN.set(END); - bSINGLE_CHAR_TOKEN.set(EXCLAMATION); - bSINGLE_CHAR_TOKEN.set(SLASH); - bSINGLE_CHAR_TOKEN.set(EQ); - bSINGLE_CHAR_TOKEN.set(EOF); - - bSINGLE_CHAR_TOKEN.or(bQUOTING); - - bLINEBREAK.set('\r'); - bLINEBREAK.set('\n'); - - bWHITESPACE.set(' '); - bWHITESPACE.set('\t'); - bWHITESPACE.set(0xC); - bWHITESPACE.or(bLINEBREAK); - - for (char i = '0'; i <= '9'; i++) - { - bDIGIT.set(i); - } - - for (char i = 'a'; i <= 'z'; i++) - { - bLETTER.set(i); - } - - for (char i = 'A'; i <= 'Z'; i++) - { - bLETTER.set(i); - } - - bSPECIAL.set('-'); - bSPECIAL.set('_'); - bSPECIAL.set(':'); - bSPECIAL.set('.'); - - bNAME.or(bLETTER); - bNAME.or(bDIGIT); - bNAME.or(bSPECIAL); - } - - /** - * Verifies if one of the tokens matches the end of string - * buffer. The last character in the string buffer is the - * "future character", some tokens needs to verify it the - * token does not continue "towards the future". If the token - * matches, it matches till "pre-last" character in the buffer. - * @param b - * @return - */ - public Token endMatches(Buffer b) - { - if (b.length() < 2) - return null; - - int p = b.length() - 2; - - if (b.length() > 2 && b.charAt(p) == '-' && b.charAt(p - 1) == '-') - return new Token(DOUBLE_DASH, "--", b.getLocation(p - 1, p + 1)); - - char last = b.charAt(p); - - if (bSINGLE_CHAR_TOKEN.get(last)) - return new Token(last, last, b.getLocation(p, p + 1)); - - char future = b.charAt(p + 1); - - // Check for numtokens, script and style: - if (bNAME.get(last) && !bNAME.get(future)) - { - // Scan the history up: - int u = p - 1; - while (u >= 0 && bNAME.get(b.charAt(u))) - u--; - u++; - - char[] token = new char[ p - u + 1 ]; - - // Found a numtoken - b.getChars(u, p + 1, token, 0); - - // Verify for the built-in tokens: - String e = new String(token); - - // found the entity reference - if (u > 0 && b.charAt(u - 1) == '&') - { - // The subsequent semicolon may be the part of the token - // as well. The semicolon must be ignored. This must be - // handled elsewhere. - return new Token(ENTITY, ENTITY_NAMED, "&" + e, - b.getLocation(u - 1, p + 1) - ); - } - - // found the numeric entity reference - if (u > 1 && b.charAt(u - 1) == '#' && b.charAt(u - 2) == '&') - { - // The subsequent semicolon may be the part of the token - // as well. The semicolon must be ignored. This must be - // handled elsewhere. - return new Token(ENTITY, ENTITY_NUMERIC, "&#" + e, - b.getLocation(u - 2, p + 2) - ); - } - - Location le = b.getLocation(u, p + 1); - - if (e.equalsIgnoreCase("SCRIPT")) - return new Token(SCRIPT, e, le); - else if (e.equalsIgnoreCase("STYLE")) - return new Token(STYLE, e, le); - else - return new Token(NUMTOKEN, e, le); - } - - // Check for whitespace - if (bWHITESPACE.get(last) && !bWHITESPACE.get(future)) - { - // Scan the history up: - int u = p - 1; - while (u >= 0 && bWHITESPACE.get(b.charAt(u))) - u--; - u++; - - char[] token = new char[ p - u + 1 ]; - b.getChars(u, p + 1, token, 0); - - return new Token(WS, new String(token), b.getLocation(u, p + 1)); - } - - return null; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Location.java b/libjava/gnu/javax/swing/text/html/parser/support/low/Location.java deleted file mode 100644 index 8a1cde1..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/Location.java +++ /dev/null @@ -1,83 +0,0 @@ -/* Location.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -/** - * Defines a region in the text: its bounding positions and the line number. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Location -{ - /** - * The line number, where the token starts. - */ - public int beginLine; - - /** - * The line, where the token ends. - */ - public int endLine; - - /** - * The absolute token end position in the input stream, - * exclusive. - */ - public int endPosition; - - /** - * The absolute token start position in the input stream, - * inclusive. - */ - public int startPosition; - - public Location() - { - } - - /** - * Special case, used to mark EOF. - * @param p The total stream length. - */ - public Location(int p) - { - startPosition = p; - endPosition = p + 1; - beginLine = endLine = -1; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.java b/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.java deleted file mode 100644 index e71c0c1..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.java +++ /dev/null @@ -1,51 +0,0 @@ -/* ParseException.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -/** - * This can be thrown from various parsing methods. - */ -public class ParseException - extends RuntimeException -{ - public ParseException(String s, Throwable cause) - { - super(s, cause); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.java b/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.java deleted file mode 100755 index 31cf4bb..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.java +++ /dev/null @@ -1,142 +0,0 @@ -/* Queue.java -- a token queue. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -import java.util.Arrays; - -/** - * A token queue. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Queue -{ - Token[] m = new Token[ 64 ]; - int a = 0; - int b = 0; - - /** - * True for the empty queue. - */ - public boolean isEmpty() - { - return size() == 0; - } - - /** - * Add this trace to the end of the queue. - */ - public void add(Token u) - { - if (a < m.length) - { - m [ a ] = u; - a++; - } - else // The end of array has been reached. - { - if (b > 0) // If some elements were deleted from the start of the queue, shift. - { - int d = b; - System.arraycopy(m, b, m, 0, a - b); - b = b - d; - a = a - d; - m [ a ] = u; - a++; - } - else // Enlarge the queue, doubling the size. - { - int n = m.length * 2; - Token[] nm = new Token[ 2 * n ]; - System.arraycopy(m, 0, nm, 0, m.length); - Arrays.fill(m, null); - - nm [ a ] = u; - m = nm; - a++; - } - } - } - - /** - * Clear the queue. - */ - public void clear() - { - a = b = 0; - Arrays.fill(m, null); - } - - /** - * Read the value ahead. 0 is the value that will be returned with - * the following next. This method does not remove values from the - * queue. To test if there is enough tokens in the queue, size() must - * be checked before calling this method. - */ - public Token get(int ahead) - { - int p = b + ahead; - if (p < a) - return m [ p ]; - else - throw new ArrayIndexOutOfBoundsException("Not enough tokens"); - } - - /** - * Read the oldest value from the queue and remove this value from - * the queue. - */ - public Token next() - { - if (a == b) - throw new ArrayIndexOutOfBoundsException("queue empty"); - - Token r = m [ b ]; - m [ b ] = null; - b++; - return r; - } - - /** - * Size of the queue. - */ - public int size() - { - return a - b; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java b/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java deleted file mode 100755 index 0ffc6c8..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java +++ /dev/null @@ -1,374 +0,0 @@ -/* ReaderTokenizer.java -- splits the input char sequence int tokens. - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -import java.io.IOException; -import java.io.Reader; - -/** - * Reader splits the input char sequence into tokens. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class ReaderTokenizer - extends Constants -{ - /** - * This is set to true each time the getNextToken is called. - * Used in preventing loops when all patterns refuse to accept - * the invalid input. - */ - protected boolean advanced; - - /** - * If true, the returned tokens are also placed in the backup - * queue. - */ - protected boolean backupMode; - - /** - * The buffer to read document into. - */ - Buffer buffer = new Buffer(); - - /** - * The queue for supporting mark(). - */ - Queue backup = new Queue(); - - /** - * The queue of found tokens. - */ - Queue queue = new Queue(); - - /** - * The reader to read the document from. - */ - Reader reader; - - /** - * Array of char tokens - */ - char[] charTokens; - - /** - * Array of string tokens. - */ - String[] stringTokens; - - /** - * The current reader position. - */ - int readerPosition = -1; - - /** - * Creates a new ReaderTokenizer. The reset(...) method must be - * subsequently called to set the reader. - */ - public ReaderTokenizer() - { - } - - /** - * Return the sequence, used to separate lines in the document. - * @return one of \n, \r or \r\n. - */ - public String getEndOfLineSequence() - { - return buffer.getEndOfLineSequence(); - } - - /** - * Get the next token. - * @return - */ - public Token getNextToken() - { - Token rt; - advanced = true; - try - { - if (queue.isEmpty()) - read(1); - - if (!queue.isEmpty()) - rt = queue.next(); - else - rt = new Token(EOF, new Location(readerPosition)); - } - catch (IOException ex) - { - throw new ParseException("IO Exception", ex); - } - if (backupMode) - backup.add(rt); - return rt; - } - - /** - * Get a token, lying the given number of tokens - * ahead. getToken(0) will return the same token, - * what would be returned by getNextToken(). - * getToken(..) does change the current position - * in the input stream. If the end of stream is - * reached, the EOF token is always returned. - */ - public Token getTokenAhead(int ahead) - { - try - { - read(ahead - queue.size() + 1); - return queue.size() >= ahead ? queue.get(ahead) : eofToken(); - } - catch (IOException ex) - { - throw new ParseException("IO Exception", ex); - } - } - - /** - * Get a token, bein immediatley ahead. - * If the end of stream is - * reached, the EOF token is always returned. - * The method is equivalent calling getTokenAhead(0). - */ - public Token getTokenAhead() - { - try - { - if (queue.isEmpty()) - read(1); - if (!queue.isEmpty()) - return queue.get(0); - else - return eofToken(); - } - catch (IOException ex) - { - throw new ParseException("IO Exception", ex); - } - } - - /** - * Invokes the error handler. - */ - public void error(String msg, Token at) - { - System.out.println(msg); - } - - /** - * Turns the backup mode on or off. - * It is possible to return where the mark(true) was last called - * by calling reset(). - * @param mode True if it is required to save tokens, making - * returning to the current point possible. - */ - public void mark(boolean mode) - { - backup.clear(); - backupMode = mode; - } - - /** - * Prepare for new parsing from the given stream. - * @param a_reader A reader to parse from. - */ - public void reset(Reader a_reader) - { - reader = a_reader; - readerPosition = -1; - buffer.reset(); - queue.clear(); - } - - /** - * Reset the internal cursor to the position where the mark() - * was last time called. Switches the backup mode off. - */ - public void reset() - { - if (!backupMode) - throw new AssertionError("Call mark(true) before using reset()!"); - backupMode = false; - - // That is now in the queue, will be appended to the end of backup. - while (!queue.isEmpty()) - backup.add(queue.next()); - - Queue t = queue; - queue = backup; - backup = t; - backup.clear(); - } - - /** - * Read the given number of the tokens. Add the needed number of EOF - * tokens if there are no more data in the stream. - * @param amount The number of additional tokens to read. - */ - void read(int numberOfTokens) - throws IOException - { - if (numberOfTokens <= 0) - return; - - reading: - for (int i = 0; i < numberOfTokens; i++) - readToken(); - } - - /** - * Read next token from the reader, add it to the queue - */ - void readToken() - throws IOException - { - Token t; - int ch; - - enlarging: - while (true) - { - t = tokenMatches(); - if (t != null) - break enlarging; - else - { - ch = reader.read(); - readerPosition++; - if (ch == ETX) - ch = ' '; - if (ch < 0) - { - if (buffer.length() == 0) - { - queue.add(eofToken()); - return; - } - else - { - if (buffer.charAt(buffer.length() - 1) != ETX) - buffer.append(ETX, readerPosition++); - else - { - // Discard terminating ETX - buffer.setLength(buffer.length() - 1); - if (buffer.length() > 0) - { - t = new Token(OTHER, buffer.toString(), - buffer.getLocation(0, buffer.length()) - ); - queue.add(t); - buffer.setLength(0); - } - return; - } - } - } - else - buffer.append((char) ch, readerPosition); - } - } - } - - /** - * Check if the end of buffer matches one of the tokens. If it does, - * return this token and remove the token sequence from the end of - * buffer. - * @return The matching token. - */ - Token tokenMatches() - { - Token rt = endMatches(buffer); - if (rt != null) // Remove the matched image - { - // Consume future character if it was an entity and the future - // character is semicolon. - if (rt.kind == ENTITY) - { - if (buffer.charAt(buffer.length() - 1) == ';') - buffer.setLength(buffer.length() - rt.getImage().length() - 1); - else - { - error("Missing closing semicolon for entity '" + rt.getImage() + - "'", rt - ); - consumeBuffer(rt); - } - } - else - { - consumeBuffer(rt); - } - } - - // If the buffer is not empty, some sequence does not match any tokens. - // Add it to the queue as "OTHER". - if (rt != null) - { - if (buffer.length() > 1) - { - String rest = buffer.toString(); - rest = rest.substring(0, rest.length() - 1); - - Token other = - new Token(OTHER, rest, buffer.getLocation(0, buffer.length)); - queue.add(other); - consumeBuffer(other); - } - queue.add(rt); - } - return rt; - } - - private void consumeBuffer(Token rt) - { - buffer.delete(buffer.length() - rt.getImage().length() - 1, - buffer.length() - 1 - ); - } - - /** - * Create EOF token. - */ - private Token eofToken() - { - return new Token(EOF, "#", new Location(readerPosition)); - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Token.java b/libjava/gnu/javax/swing/text/html/parser/support/low/Token.java deleted file mode 100644 index d91adf4..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/Token.java +++ /dev/null @@ -1,169 +0,0 @@ -/* Token.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -/** - * A token. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class Token -{ - /** - * The place of this token in the document. - */ - public Location where; - - /** - * The additional category of token. - */ - public int category; - - /** - * An integer that describes the kind of this token. - */ - public int kind; - - /** - * The string image of the token, null if the char image must be used. - */ - private String stringImage; - - /** - * The char image of the token. - */ - private char charImage; - - /** - * Creates a new token with fields, initialized to the default values. - */ - public Token() - { - } - - /** - * Creates a new token of the given kind. - */ - public Token(int _kind, Location _where) - { - kind = _kind; - where = _where; - } - - /** - * Creates a new token of the given kind and given single char image. - */ - public Token(int _kind, char _image, Location _where) - { - kind = _kind; - charImage = _image; - where = _where; - } - - /** - * Creates a new token of the given kind and given string image. - */ - public Token(int _kind, String _image, Location _where) - { - kind = _kind; - stringImage = _image; - where = _where; - } - - /** - * Creates a new token of the given kind, category and given string image. - */ - public Token(int _kind, int _category, String _image, Location _where) - { - kind = _kind; - category = _category; - stringImage = _image; - where = _where; - } - - /** - * Creates a new token, where location fields are set as for token, - * spanning over two provided tokens and any tokens between them. - * The image field is initialized to null, the kind field is set to -1. - */ - public Token(Token fromInclusive, Token toInclusive) - { - where = new Location(); - where.beginLine = fromInclusive.where.beginLine; - where.startPosition = fromInclusive.where.startPosition; - - where.endLine = toInclusive.where.endLine; - where.endPosition = toInclusive.where.endPosition; - } - - public String getImage() - { - if (kind == 3) - return "#"; - if (stringImage == null) - { - if (charImage == 0) - return null; - stringImage = new String(new char[] { charImage }); - } - return stringImage; - } - - /** - * Append the token image to the given string buffer. - * This may be more effective that buffer.append(this.getImage()). - * @param buffer A buffer to append. - */ - public void appendTo(StringBuffer buffer) - { - if (charImage == 0) - buffer.append(getImage()); - else - buffer.append(charImage); - } - - /** - * Returns the string image or, if null, the bounding positions. - */ - public String toString() - { - return getImage() != null ? kind + "'" + getImage() - : "<line " + where.beginLine + ", abs pos " + where.startPosition + - ".." + where.endPosition + ">"; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/node.java b/libjava/gnu/javax/swing/text/html/parser/support/low/node.java deleted file mode 100644 index b54ed86..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/node.java +++ /dev/null @@ -1,78 +0,0 @@ -/* node.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - -/** - * A text level content model node. The only required unary operations - * here are "appears" and "optionally appears" ('?'). - * <p>@author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)</p> - */ -public class node -{ - /** - * True for node that is optional for the given position. - */ - public boolean optional; - - /** - * The kind of the token to match. - */ - public int kind; - - /** - * Creates the new node for matching a given kind of the token. - * @param kind The kind of the token to match. - * @param modifier The modifier (*?+). - */ - public node(int kind, boolean _optional) - { - this.kind = kind; - optional = _optional; - } - - /** - * Creates the node, indicating that token must match exactluy one time. - * @param kind The kind of token to match. - */ - public node(int kind) - { - this.kind = kind; - optional = false; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.java b/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.java deleted file mode 100755 index 0fe03fd..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.java +++ /dev/null @@ -1,105 +0,0 @@ -/* pattern.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support.low; - - -/** - * The simple pattern, consisting from the sequence of tokens that - * may have the unary modifier '?'. Choices and grouping - * are not required here. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class pattern -{ - /** - * The nodes of this pattern. - */ - public final node[] nodes; - - /** - * Create a pattern, containing the given list of nodes. - * @param a_nodes - */ - public pattern(node[] a_nodes) - { - nodes = a_nodes; - } - - /** - * Checks if the pattern can match the tokens in this - * tokenizer. Does not change the state of tokenizer. - * @param stream The tokenizer to read data from - * @return True if the pattern sequence matches the - * beginning of the tokenizer content. - */ - public boolean matches(ReaderTokenizer stream) - { - try - { - int pt = 0; - int pn = 0; - Token t; - node n; - - while (pn < nodes.length) - { - n = nodes [ pn ]; - t = stream.getTokenAhead(pt); - - if (t.kind == n.kind) - { - pn++; - pt++; - } - else - { - if (!n.optional) - return false; - else - pn++; - } - } - return true; - } - catch (Exception ex) - { - throw new ParseException("Exception", ex); - } - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.java b/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.java deleted file mode 100755 index 654acbb..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.java +++ /dev/null @@ -1,106 +0,0 @@ -/* parameterDefaulter.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support; - -import gnu.javax.swing.text.html.parser.htmlAttributeSet; - -import java.util.Hashtable; - -import javax.swing.text.html.parser.AttributeList; -import javax.swing.text.html.parser.DTD; -import javax.swing.text.html.parser.Element; - -/** - * Returns an attribute set, containing default - * parameters for the given element. Caches sets of default - * parameters. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class parameterDefaulter -{ - public final DTD dtd; - Hashtable sets = new Hashtable(); - - /** - * Create a parameterDefaulter that looks for the default attribute - * values in the given DTD. - * @param a_dtd - */ - public parameterDefaulter(DTD a_dtd) - { - dtd = a_dtd; - } - - /** - * Get the default parameter set for the given element. - * @param element The element name (case insensitive). - * @return the default attrbute set. - */ - public htmlAttributeSet getDefaultParameters(String element) - { - String key = element.toLowerCase(); - htmlAttributeSet atts = (htmlAttributeSet) sets.get(key); - - if (atts == null) - { - htmlAttributeSet set = new htmlAttributeSet(); - Element e = (Element) dtd.elementHash.get(element.toLowerCase()); - - if (e != null) - { - AttributeList a = e.getAttributes(); - - while (a != null) - { - if (a.value != null) - set.addAttribute(a.name, a.value); - a = a.next; - } - } - - if (set.getAttributeCount() > 0) - sets.put(key, set); - else - sets.put(key, htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET); - - atts = set; - } - return atts; - } -} diff --git a/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.java b/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.java deleted file mode 100755 index cc16105..0000000 --- a/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.java +++ /dev/null @@ -1,193 +0,0 @@ -/* textPreProcessor.java -- - Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.javax.swing.text.html.parser.support; - -import gnu.javax.swing.text.html.parser.support.low.Constants; - -/** - * Pre - processes text in text parts of the html document. - * Not thread - safe. - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class textPreProcessor -{ - /** - * Pre - process non-preformatted text. - * \t, \r and \n mutate into spaces, then multiple spaces mutate - * into single one, all whitespace around tags is consumed. - * The content of the passed buffer is destroyed. - * @param text A text to pre-process. - */ - public char[] preprocess(StringBuffer a_text) - { - if (a_text.length() == 0) - return null; - - char[] text = toCharArray(a_text); - - int a = 0; - int b = text.length - 1; - - try - { - while (Constants.bWHITESPACE.get(text [ a ])) - a++; - while (Constants.bWHITESPACE.get(text [ b ])) - b--; - } - catch (ArrayIndexOutOfBoundsException sx) - { - // A text fragment, consisting from line breaks only. - return null; - } - - a_text.setLength(0); - - boolean spacesWere = false; - boolean spaceNow; - char c; - - chars: - for (int i = a; i <= b; i++) - { - c = text [ i ]; - spaceNow = Constants.bWHITESPACE.get(c); - if (spacesWere && spaceNow) - continue chars; - if (spaceNow) - a_text.append(' '); - else - a_text.append(c); - spacesWere = spaceNow; - } - - if (a_text.length() == text.length) - { - a_text.getChars(0, a_text.length(), text, 0); - return text; - } - else - return toCharArray(a_text); - } - - /** - * Pre - process pre-formatted text. - * Heading/closing spaces and tabs preserved. - * ONE bounding \r, \n or \r\n is removed. - * \r or \r\n mutate into \n. Tabs are - * preserved. - * The content of the passed buffer is destroyed. - * @param text - * @return - */ - public char[] preprocessPreformatted(StringBuffer a_text) - { - if (a_text.length() == 0) - return null; - - char[] text = toCharArray(a_text); - - int a = 0; - int n = text.length - 1; - int b = n; - - if (text [ 0 ] == '\n') - a++; - else - { - if (text [ 0 ] == '\r') - { - a++; - if (text.length > 1 && text [ 1 ] == '\n') - a++; - } - } - - if (text [ n ] == '\r') - b--; - else - { - if (text [ n ] == '\n') - { - b--; - if (n > 0 && text [ n - 1 ] == '\r') - b--; - } - } - - a_text.setLength(0); - - if (a > b) - return null; - - char c; - - for (int i = a; i <= b; i++) - { - c = text [ i ]; - if (c == '\r') - { - if (i == b || text [ i + 1 ] != '\n') - a_text.append('\n'); - } - else - a_text.append(c); - } - - if (a_text.length() == text.length) - { - a_text.getChars(0, a_text.length(), text, 0); - return text; - } - else - return toCharArray(a_text); - } - - /** - * Return array of chars, present in the given buffer. - * @param a_text The buffer - * @return - */ - private static char[] toCharArray(StringBuffer a_text) - { - char[] text = new char[ a_text.length() ]; - a_text.getChars(0, text.length, text, 0); - return text; - } -} |