001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package javax.swing.text.html.parser;
019:
020: import java.util.Hashtable;
021:
022: /**
023: * This class is generated basing on <a href="http://www.w3.org/TR/html401/sgml/loosedtd.html">HTML 4.01 Transitional DTD</a>.
024: * Don't edit this autogenerated class!
025: */
026: class ElementsHandler {
027: static Hashtable atts = new Hashtable();
028: static Object dtd;
029:
030: static void put(final String s1, final String s2) {
031: DTDUtilities.putAttribute(atts, s1, s2);
032: }
033:
034: static void handleElement(final String name, final String desc) {
035: DTDUtilities.handleElement(dtd, name, desc, atts);
036: }
037:
038: static void initElementsCreation(final Object dtd) {
039: ElementsHandler.dtd = dtd;
040: handleAllElements();
041: }
042:
043: static final String HTML_VERSION = "401Transitional";
044: static final String HTML_FRAMESET = "IGNORE";
045: static final String CONTENTTYPE = "CDATA";
046: static final String CONTENTTYPES = "CDATA";
047: static final String CHARSET = "CDATA";
048: static final String CHARSETS = "CDATA";
049: static final String LANGUAGECODE = "NAME";
050: static final String CHARACTER = "CDATA";
051: static final String LINKTYPES = "CDATA";
052: static final String MEDIADESC = "CDATA";
053: static final String URI = "CDATA";
054: static final String DATETIME = "CDATA";
055: static final String SCRIPT = "CDATA";
056: static final String STYLESHEET = "CDATA";
057: static final String FRAMETARGET = "CDATA";
058: static final String TEXT = "CDATA";
059: static final String HEAD_MISC = "SCRIPT|STYLE|META|LINK|OBJECT";
060: static final String HEADING = "H1|H2|H3|H4|H5|H6";
061: static final String LIST = "UL | OL | DIR | MENU";
062: static final String PREFORMATTED = "PRE";
063: static final String COLOR = "CDATA";
064: static final String BODYCOLORS = " bgcolor " + COLOR
065: + " #IMPLIED text " + COLOR + " #IMPLIED link " + COLOR
066: + " #IMPLIED vlink " + COLOR + " #IMPLIED alink " + COLOR
067: + " #IMPLIED ";
068: static final String HTMLLAT1 = "Ignore";
069: static final String COREATTRS = "id ID #IMPLIED class CDATA #IMPLIED style "
070: + STYLESHEET + " #IMPLIED title " + TEXT + " #IMPLIED ";
071: static final String I18N = "lang " + LANGUAGECODE
072: + " #IMPLIED dir (ltr|rtl) #IMPLIED ";
073: static final String EVENTS = "onclick " + SCRIPT
074: + " #IMPLIED ondblclick " + SCRIPT
075: + " #IMPLIED onmousedown " + SCRIPT
076: + " #IMPLIED onmouseup " + SCRIPT
077: + " #IMPLIED onmouseover " + SCRIPT
078: + " #IMPLIED onmousemove " + SCRIPT
079: + " #IMPLIED onmouseout " + SCRIPT
080: + " #IMPLIED onkeypress " + SCRIPT + " #IMPLIED onkeydown "
081: + SCRIPT + " #IMPLIED onkeyup " + SCRIPT + " #IMPLIED ";
082: static final String HTML_RESERVED = "IGNORE";
083: static final String RESERVED = "";
084: static final String ATTRS = "" + COREATTRS + " " + I18N + " "
085: + EVENTS + "";
086: static final String ALIGN = "align (left|center|right|justify) #IMPLIED";
087: static final String FONTSTYLE = "TT | I | B | U | S | STRIKE | BIG | SMALL";
088: static final String PHRASE = "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM";
089: static final String SPECIAL = "A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO | IFRAME";
090: static final String FORMCTRL = "INPUT | SELECT | TEXTAREA | LABEL | BUTTON";
091: static final String INLINE = "#PCDATA | " + FONTSTYLE + " | "
092: + PHRASE + " | " + SPECIAL + " | " + FORMCTRL + "";
093: static final String BLOCK = "P | "
094: + HEADING
095: + " | "
096: + LIST
097: + " | "
098: + PREFORMATTED
099: + " | DL | DIV | CENTER | NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET | ADDRESS";
100: static final String FLOW = "" + BLOCK + " | " + INLINE + "";
101: static final String SHAPE = "(rect|circle|poly|default)";
102: static final String COORDS = "CDATA";
103: static final String LENGTH = "CDATA";
104: static final String MULTILENGTH = "CDATA";
105: static final String PIXELS = "CDATA";
106: static final String IALIGN = "(top|middle|bottom|left|right)";
107: static final String PRE_EXCLUSION = "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT";
108: static final String OLSTYLE = "CDATA";
109: static final String ULSTYLE = "(disc|square|circle)";
110: static final String LISTYLE = "CDATA";
111: static final String INPUTTYPE = "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)";
112: static final String LALIGN = "(top|bottom|left|right)";
113: static final String TFRAME = "(void|above|below|hsides|lhs|rhs|vsides|box|border)";
114: static final String TRULES = "(none | groups | rows | cols | all)";
115: static final String TALIGN = "(left|center|right)";
116: static final String CELLHALIGN = "align (left|center|right|justify|char) #IMPLIED char "
117: + CHARACTER + " #IMPLIED charoff " + LENGTH + " #IMPLIED ";
118: static final String CELLVALIGN = "valign (top|middle|bottom|baseline) #IMPLIED";
119: static final String CALIGN = "(top|bottom|left|right)";
120: static final String SCOPE = "(row|col|rowgroup|colgroup)";
121: static final String NOFRAMES_CONTENT = "(" + FLOW + ")*";
122: static final String HEAD_CONTENT = "TITLE & ISINDEX? & BASE?";
123: static final String VERSION = "version CDATA #FIXED";
124: static final String HTML_CONTENT = "HEAD, BODY";
125:
126: static void initAttributes() {
127: put("(" + FONTSTYLE + "|" + PHRASE + ")", ATTRS);
128: put("(SUB|SUP)", ATTRS);
129: put("SPAN", ATTRS + RESERVED + " ");
130: put("BDO", COREATTRS + " lang " + LANGUAGECODE
131: + " #IMPLIED dir (ltr|rtl) #REQUIRED ");
132: put("BASEFONT", "id ID #IMPLIED size CDATA #REQUIRED color "
133: + COLOR + " #IMPLIED face CDATA #IMPLIED ");
134: put("FONT", COREATTRS + I18N + " size CDATA #IMPLIED color "
135: + COLOR + " #IMPLIED face CDATA #IMPLIED ");
136: put("BR", COREATTRS + " clear (left|all|right|none) none ");
137: put("BODY", ATTRS + " onload " + SCRIPT + " #IMPLIED onunload "
138: + SCRIPT + " #IMPLIED background " + URI + " #IMPLIED "
139: + BODYCOLORS);
140: put("ADDRESS", ATTRS);
141: put("DIV", ATTRS + ALIGN + RESERVED);
142: put("CENTER", ATTRS);
143: put("A", ATTRS + " charset " + CHARSET + " #IMPLIED type "
144: + CONTENTTYPE + " #IMPLIED name CDATA #IMPLIED href "
145: + URI + " #IMPLIED hreflang " + LANGUAGECODE
146: + " #IMPLIED target " + FRAMETARGET + " #IMPLIED rel "
147: + LINKTYPES + " #IMPLIED rev " + LINKTYPES
148: + " #IMPLIED accesskey " + CHARACTER
149: + " #IMPLIED shape " + SHAPE + " rect coords " + COORDS
150: + " #IMPLIED tabindex NUMBER #IMPLIED onfocus "
151: + SCRIPT + " #IMPLIED onblur " + SCRIPT + " #IMPLIED ");
152: put("MAP", ATTRS + " name CDATA #REQUIRED ");
153: put("AREA", ATTRS + " shape " + SHAPE + " rect coords "
154: + COORDS + " #IMPLIED href " + URI
155: + " #IMPLIED target " + FRAMETARGET
156: + " #IMPLIED nohref (nohref) #IMPLIED alt " + TEXT
157: + " #REQUIRED tabindex NUMBER #IMPLIED accesskey "
158: + CHARACTER + " #IMPLIED onfocus " + SCRIPT
159: + " #IMPLIED onblur " + SCRIPT + " #IMPLIED ");
160: put("LINK", ATTRS + " charset " + CHARSET + " #IMPLIED href "
161: + URI + " #IMPLIED hreflang " + LANGUAGECODE
162: + " #IMPLIED type " + CONTENTTYPE + " #IMPLIED rel "
163: + LINKTYPES + " #IMPLIED rev " + LINKTYPES
164: + " #IMPLIED media " + MEDIADESC + " #IMPLIED target "
165: + FRAMETARGET + " #IMPLIED ");
166: put("IMG", ATTRS + " src " + URI + " #REQUIRED alt " + TEXT
167: + " #REQUIRED longdesc " + URI
168: + " #IMPLIED name CDATA #IMPLIED height " + LENGTH
169: + " #IMPLIED width " + LENGTH + " #IMPLIED usemap "
170: + URI + " #IMPLIED ismap (ismap) #IMPLIED align "
171: + IALIGN + " #IMPLIED border " + PIXELS
172: + " #IMPLIED hspace " + PIXELS + " #IMPLIED vspace "
173: + PIXELS + " #IMPLIED ");
174: put(
175: "OBJECT",
176: ATTRS
177: + " declare (declare) #IMPLIED classid "
178: + URI
179: + " #IMPLIED codebase "
180: + URI
181: + " #IMPLIED data "
182: + URI
183: + " #IMPLIED type "
184: + CONTENTTYPE
185: + " #IMPLIED codetype "
186: + CONTENTTYPE
187: + " #IMPLIED archive CDATA #IMPLIED standby "
188: + TEXT
189: + " #IMPLIED height "
190: + LENGTH
191: + " #IMPLIED width "
192: + LENGTH
193: + " #IMPLIED usemap "
194: + URI
195: + " #IMPLIED name CDATA #IMPLIED tabindex NUMBER #IMPLIED align "
196: + IALIGN + " #IMPLIED border " + PIXELS
197: + " #IMPLIED hspace " + PIXELS
198: + " #IMPLIED vspace " + PIXELS + " #IMPLIED "
199: + RESERVED);
200: put(
201: "PARAM",
202: "id ID #IMPLIED name CDATA #REQUIRED value CDATA #IMPLIED valuetype (DATA|REF|OBJECT) DATA type "
203: + CONTENTTYPE + " #IMPLIED ");
204: put(
205: "APPLET",
206: COREATTRS
207: + " codebase "
208: + URI
209: + " #IMPLIED archive CDATA #IMPLIED code CDATA #IMPLIED object CDATA #IMPLIED alt "
210: + TEXT + " #IMPLIED name CDATA #IMPLIED width "
211: + LENGTH + " #REQUIRED height " + LENGTH
212: + " #REQUIRED align " + IALIGN
213: + " #IMPLIED hspace " + PIXELS
214: + " #IMPLIED vspace " + PIXELS + " #IMPLIED ");
215: put(
216: "HR",
217: ATTRS
218: + " align (left|center|right) #IMPLIED noshade (noshade) #IMPLIED size "
219: + PIXELS + " #IMPLIED width " + LENGTH
220: + " #IMPLIED ");
221: put("P", ATTRS + ALIGN);
222: put("(" + HEADING + ")", ATTRS + ALIGN);
223: put("PRE", ATTRS + " width NUMBER #IMPLIED ");
224: put("Q", ATTRS + " cite " + URI + " #IMPLIED ");
225: put("BLOCKQUOTE", ATTRS + " cite " + URI + " #IMPLIED ");
226: put("(INS|DEL)", ATTRS + " cite " + URI + " #IMPLIED datetime "
227: + DATETIME + " #IMPLIED ");
228: put("DL", ATTRS + " compact (compact) #IMPLIED ");
229: put("(DT|DD)", ATTRS);
230: put(
231: "OL",
232: ATTRS
233: + " type "
234: + OLSTYLE
235: + " #IMPLIED compact (compact) #IMPLIED start NUMBER #IMPLIED ");
236: put("UL", ATTRS + " type " + ULSTYLE
237: + " #IMPLIED compact (compact) #IMPLIED ");
238: put("DIR", ATTRS + " compact (compact) #IMPLIED ");
239: put("MENU", ATTRS + " compact (compact) #IMPLIED ");
240: put("LI", ATTRS + " type " + LISTYLE
241: + " #IMPLIED value NUMBER #IMPLIED ");
242: put("FORM", ATTRS + " action " + URI
243: + " #REQUIRED method (GET|POST) GET enctype "
244: + CONTENTTYPE
245: + " application/x-www-form-urlencoded accept "
246: + CONTENTTYPE
247: + "s; #IMPLIED name CDATA #IMPLIED onsubmit " + SCRIPT
248: + " #IMPLIED onreset " + SCRIPT + " #IMPLIED target "
249: + FRAMETARGET + " #IMPLIED accept-charset " + CHARSET
250: + "s; #IMPLIED ");
251: put("LABEL", ATTRS + " for IDREF #IMPLIED accesskey "
252: + CHARACTER + " #IMPLIED onfocus " + SCRIPT
253: + " #IMPLIED onblur " + SCRIPT + " #IMPLIED ");
254: put(
255: "INPUT",
256: ATTRS
257: + " type "
258: + INPUTTYPE
259: + " TEXT name CDATA #IMPLIED value CDATA #IMPLIED checked (checked) #IMPLIED disabled (disabled) #IMPLIED readonly (readonly) #IMPLIED size CDATA #IMPLIED maxlength NUMBER #IMPLIED src "
260: + URI
261: + " #IMPLIED alt CDATA #IMPLIED usemap "
262: + URI
263: + " #IMPLIED ismap (ismap) #IMPLIED tabindex NUMBER #IMPLIED accesskey "
264: + CHARACTER + " #IMPLIED onfocus " + SCRIPT
265: + " #IMPLIED onblur " + SCRIPT
266: + " #IMPLIED onselect " + SCRIPT
267: + " #IMPLIED onchange " + SCRIPT
268: + " #IMPLIED accept " + CONTENTTYPE
269: + "s; #IMPLIED align " + IALIGN + " #IMPLIED "
270: + RESERVED);
271: put(
272: "SELECT",
273: ATTRS
274: + " name CDATA #IMPLIED size NUMBER #IMPLIED multiple (multiple) #IMPLIED disabled (disabled) #IMPLIED tabindex NUMBER #IMPLIED onfocus "
275: + SCRIPT + " #IMPLIED onblur " + SCRIPT
276: + " #IMPLIED onchange " + SCRIPT + " #IMPLIED "
277: + RESERVED);
278: put("OPTGROUP", ATTRS + " disabled (disabled) #IMPLIED label "
279: + TEXT + " #REQUIRED ");
280: put(
281: "OPTION",
282: ATTRS
283: + " selected (selected) #IMPLIED disabled (disabled) #IMPLIED label "
284: + TEXT + " #IMPLIED value CDATA #IMPLIED ");
285: put(
286: "TEXTAREA",
287: ATTRS
288: + " name CDATA #IMPLIED rows NUMBER #REQUIRED cols NUMBER #REQUIRED disabled (disabled) #IMPLIED readonly (readonly) #IMPLIED tabindex NUMBER #IMPLIED accesskey "
289: + CHARACTER + " #IMPLIED onfocus " + SCRIPT
290: + " #IMPLIED onblur " + SCRIPT
291: + " #IMPLIED onselect " + SCRIPT
292: + " #IMPLIED onchange " + SCRIPT + " #IMPLIED "
293: + RESERVED);
294: put("FIELDSET", ATTRS);
295: put("LEGEND", ATTRS + " accesskey " + CHARACTER
296: + " #IMPLIED align " + LALIGN + " #IMPLIED ");
297: put(
298: "BUTTON",
299: ATTRS
300: + " name CDATA #IMPLIED value CDATA #IMPLIED type (button|submit|reset) submit disabled (disabled) #IMPLIED tabindex NUMBER #IMPLIED accesskey "
301: + CHARACTER + " #IMPLIED onfocus " + SCRIPT
302: + " #IMPLIED onblur " + SCRIPT + " #IMPLIED "
303: + RESERVED);
304: put("TABLE", ATTRS + " summary " + TEXT + " #IMPLIED width "
305: + LENGTH + " #IMPLIED border " + PIXELS
306: + " #IMPLIED frame " + TFRAME + " #IMPLIED rules "
307: + TRULES + " #IMPLIED cellspacing " + LENGTH
308: + " #IMPLIED cellpadding " + LENGTH
309: + " #IMPLIED align " + TALIGN + " #IMPLIED bgcolor "
310: + COLOR + " #IMPLIED " + RESERVED
311: + " datapagesize CDATA #IMPLIED ");
312: put("CAPTION", ATTRS + " align " + CALIGN + " #IMPLIED ");
313: put("COLGROUP", ATTRS + " span NUMBER 1 width " + MULTILENGTH
314: + " #IMPLIED " + CELLHALIGN + CELLVALIGN);
315: put("COL", ATTRS + " span NUMBER 1 width " + MULTILENGTH
316: + " #IMPLIED " + CELLHALIGN + CELLVALIGN);
317: put("(THEAD|TBODY|TFOOT)", ATTRS + CELLHALIGN + CELLVALIGN);
318: put("TR", ATTRS + CELLHALIGN + CELLVALIGN + " bgcolor " + COLOR
319: + " #IMPLIED ");
320: put(
321: "(TH|TD)",
322: ATTRS
323: + " abbr "
324: + TEXT
325: + " #IMPLIED axis CDATA #IMPLIED headers IDREFS #IMPLIED scope "
326: + SCOPE
327: + " #IMPLIED rowspan NUMBER 1 colspan NUMBER 1 "
328: + CELLHALIGN + CELLVALIGN
329: + " nowrap (nowrap) #IMPLIED bgcolor " + COLOR
330: + " #IMPLIED width " + LENGTH
331: + " #IMPLIED height " + LENGTH + " #IMPLIED ");
332: put("FRAMESET", COREATTRS + " rows " + MULTILENGTH
333: + "s; #IMPLIED cols " + MULTILENGTH
334: + "s; #IMPLIED onload " + SCRIPT
335: + " #IMPLIED onunload " + SCRIPT + " #IMPLIED ");
336: put(
337: "FRAME",
338: COREATTRS
339: + " longdesc "
340: + URI
341: + " #IMPLIED name CDATA #IMPLIED src "
342: + URI
343: + " #IMPLIED frameborder (1|0) 1 marginwidth "
344: + PIXELS
345: + " #IMPLIED marginheight "
346: + PIXELS
347: + " #IMPLIED noresize (noresize) #IMPLIED scrolling (yes|no|auto) auto ");
348: put("IFRAME", COREATTRS + " longdesc " + URI
349: + " #IMPLIED name CDATA #IMPLIED src " + URI
350: + " #IMPLIED frameborder (1|0) 1 marginwidth " + PIXELS
351: + " #IMPLIED marginheight " + PIXELS
352: + " #IMPLIED scrolling (yes|no|auto) auto align "
353: + IALIGN + " #IMPLIED height " + LENGTH
354: + " #IMPLIED width " + LENGTH + " #IMPLIED ");
355: put("NOFRAMES", ATTRS);
356: put("HEAD", I18N + " profile " + URI + " #IMPLIED ");
357: put("TITLE", I18N);
358: put("ISINDEX", COREATTRS + I18N + " prompt " + TEXT
359: + " #IMPLIED ");
360: put("BASE", "href " + URI + " #IMPLIED target " + FRAMETARGET
361: + " #IMPLIED ");
362: put(
363: "META",
364: I18N
365: + " http-equiv NAME #IMPLIED name NAME #IMPLIED content CDATA #REQUIRED scheme CDATA #IMPLIED ");
366: put("STYLE", I18N + " type " + CONTENTTYPE
367: + " #REQUIRED media " + MEDIADESC + " #IMPLIED title "
368: + TEXT + " #IMPLIED ");
369: put(
370: "SCRIPT",
371: "charset "
372: + CHARSET
373: + " #IMPLIED type "
374: + CONTENTTYPE
375: + " #REQUIRED language CDATA #IMPLIED src "
376: + URI
377: + " #IMPLIED defer (defer) #IMPLIED event CDATA #IMPLIED for "
378: + URI + " #IMPLIED ");
379: put("NOSCRIPT", ATTRS);
380: put("HTML", I18N + VERSION);
381: }
382:
383: static void handleAllElements() {
384: handleElement("(" + FONTSTYLE + "|" + PHRASE + ")", "- - ("
385: + INLINE + ")*");
386: handleElement("(SUB|SUP)", "- - (" + INLINE + ")* ");
387: handleElement("SPAN", "- - (" + INLINE + ")* ");
388: handleElement("BDO", "- - (" + INLINE + ")* ");
389: handleElement("BASEFONT", "- O EMPTY ");
390: handleElement("FONT", "- - (" + INLINE + ")* ");
391: handleElement("BR", "- O EMPTY ");
392: handleElement("BODY", "O O (" + FLOW + ")* +(INS|DEL) ");
393: handleElement("ADDRESS", "- - ((" + INLINE + ")|P)* ");
394: handleElement("DIV", "- - (" + FLOW + ")* ");
395: handleElement("CENTER", "- - (" + FLOW + ")* ");
396: handleElement("A", "- - (" + INLINE + ")* -(A) ");
397: handleElement("MAP", "- - ((" + BLOCK + ") | AREA)+ ");
398: handleElement("AREA", "- O EMPTY ");
399: handleElement("LINK", "- O EMPTY ");
400: handleElement("IMG", "- O EMPTY ");
401: handleElement("OBJECT", "- - (PARAM | " + FLOW + ")* ");
402: handleElement("PARAM", "- O EMPTY ");
403: handleElement("APPLET", "- - (PARAM | " + FLOW + ")* ");
404: handleElement("HR", "- O EMPTY ");
405: handleElement("P", "- O (" + INLINE + ")* ");
406: handleElement("(" + HEADING + ")", "- - (" + INLINE + ")* ");
407: handleElement("PRE", "- - (" + INLINE + ")* -(" + PRE_EXCLUSION
408: + ") ");
409: handleElement("Q", "- - (" + INLINE + ")* ");
410: handleElement("BLOCKQUOTE", "- - (" + FLOW + ")* ");
411: handleElement("(INS|DEL)", "- - (" + FLOW + ")* ");
412: handleElement("DL", "- - (DT|DD)+ ");
413: handleElement("DT", "- O (" + INLINE + ")* ");
414: handleElement("DD", "- O (" + FLOW + ")* ");
415: handleElement("OL", "- - (LI)+ ");
416: handleElement("UL", "- - (LI)+ ");
417: handleElement("(DIR|MENU)", "- - (LI)+ -(" + BLOCK + ") ");
418: handleElement("LI", "- O (" + FLOW + ")* ");
419: handleElement("FORM", "- - (" + FLOW + ")* -(FORM) ");
420: handleElement("LABEL", "- - (" + INLINE + ")* -(LABEL) ");
421: handleElement("INPUT", "- O EMPTY ");
422: handleElement("SELECT", "- - (OPTGROUP|OPTION)+ ");
423: handleElement("OPTGROUP", "- - (OPTION)+ ");
424: handleElement("OPTION", "- O (#PCDATA) ");
425: handleElement("TEXTAREA", "- - (#PCDATA) ");
426: handleElement("FIELDSET", "- - (#PCDATA,LEGEND,(" + FLOW
427: + ")*) ");
428: handleElement("LEGEND", "- - (" + INLINE + ")* ");
429: handleElement("BUTTON", "- - (" + FLOW + ")* -(A|" + FORMCTRL
430: + "|FORM|ISINDEX|FIELDSET|IFRAME) ");
431: handleElement("TABLE",
432: "- - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)");
433: handleElement("CAPTION", "- - (" + INLINE + ")* ");
434: handleElement("THEAD", "- O (TR)+ ");
435: handleElement("TFOOT", "- O (TR)+ ");
436: handleElement("TBODY", "O O (TR)+ ");
437: handleElement("COLGROUP", "- O (COL)* ");
438: handleElement("COL", "- O EMPTY ");
439: handleElement("TR", "- O (TH|TD)+ ");
440: handleElement("(TH|TD)", "- O (" + FLOW + ")* ");
441: handleElement("FRAME", "- O EMPTY ");
442: handleElement("IFRAME", "- - (" + FLOW + ")* ");
443: handleElement("NOFRAMES", "- - " + NOFRAMES_CONTENT + " ");
444: handleElement("HEAD", "O O (" + HEAD_CONTENT + ") +("
445: + HEAD_MISC + ") ");
446: handleElement("TITLE", "- - (#PCDATA) -(" + HEAD_MISC + ") ");
447: handleElement("ISINDEX", "- O EMPTY ");
448: handleElement("BASE", "- O EMPTY ");
449: handleElement("META", "- O EMPTY ");
450: handleElement("STYLE", "- - " + STYLESHEET + " ");
451: handleElement("SCRIPT", "- - " + SCRIPT + " ");
452: handleElement("NOSCRIPT", "- - (" + FLOW + ")* ");
453: handleElement("HTML", "O O (" + HTML_CONTENT + ") ");
454: handleElement("FRAMESET", "- - ((FRAMESET|FRAME)+ & NOFRAMES?)");
455: }
456: }
|