001: /*
002: * @(#)TagTable.java 1.11 2000/08/16
003: *
004: */
005:
006: package org.w3c.tidy;
007:
008: /**
009: *
010: * Tag dictionary node hash table
011: *
012: * (c) 1998-2000 (W3C) MIT, INRIA, Keio University
013: * See Tidy.java for the copyright notice.
014: * Derived from <a href="http://www.w3.org/People/Raggett/tidy">
015: * HTML Tidy Release 4 Aug 2000</a>
016: *
017: * @author Dave Raggett <dsr@w3.org>
018: * @author Andy Quick <ac.quick@sympatico.ca> (translation to Java)
019: * @version 1.0, 1999/05/22
020: * @version 1.0.1, 1999/05/29
021: * @version 1.1, 1999/06/18 Java Bean
022: * @version 1.2, 1999/07/10 Tidy Release 7 Jul 1999
023: * @version 1.3, 1999/07/30 Tidy Release 26 Jul 1999
024: * @version 1.4, 1999/09/04 DOM support
025: * @version 1.5, 1999/10/23 Tidy Release 27 Sep 1999
026: * @version 1.6, 1999/11/01 Tidy Release 22 Oct 1999
027: * @version 1.7, 1999/12/06 Tidy Release 30 Nov 1999
028: * @version 1.8, 2000/01/22 Tidy Release 13 Jan 2000
029: * @version 1.9, 2000/06/03 Tidy Release 30 Apr 2000
030: * @version 1.10, 2000/07/22 Tidy Release 8 Jul 2000
031: * @version 1.11, 2000/08/16 Tidy Release 4 Aug 2000
032: * Modified from a Singleton to a non-Singleton.
033: */
034:
035: import java.util.Hashtable;
036: import java.util.Enumeration;
037:
038: public class TagTable {
039:
040: private Configuration configuration = null;
041:
042: public TagTable() {
043: for (int i = 0; i < tags.length; i++) {
044: install(tags[i]);
045: }
046: tagHtml = lookup("html");
047: tagHead = lookup("head");
048: tagBody = lookup("body");
049: tagFrameset = lookup("frameset");
050: tagFrame = lookup("frame");
051: tagNoframes = lookup("noframes");
052: tagMeta = lookup("meta");
053: tagTitle = lookup("title");
054: tagBase = lookup("base");
055: tagHr = lookup("hr");
056: tagPre = lookup("pre");
057: tagListing = lookup("listing");
058: tagH1 = lookup("h1");
059: tagH2 = lookup("h2");
060: tagP = lookup("p");
061: tagUl = lookup("ul");
062: tagOl = lookup("ol");
063: tagDir = lookup("dir");
064: tagLi = lookup("li");
065: tagDt = lookup("dt");
066: tagDd = lookup("dd");
067: tagDl = lookup("dl");
068: tagTd = lookup("td");
069: tagTh = lookup("th");
070: tagTr = lookup("tr");
071: tagCol = lookup("col");
072: tagBr = lookup("br");
073: tagA = lookup("a");
074: tagLink = lookup("link");
075: tagB = lookup("b");
076: tagI = lookup("i");
077: tagStrong = lookup("strong");
078: tagEm = lookup("em");
079: tagBig = lookup("big");
080: tagSmall = lookup("small");
081: tagParam = lookup("param");
082: tagOption = lookup("option");
083: tagOptgroup = lookup("optgroup");
084: tagImg = lookup("img");
085: tagMap = lookup("map");
086: tagArea = lookup("area");
087: tagNobr = lookup("nobr");
088: tagWbr = lookup("wbr");
089: tagFont = lookup("font");
090: tagSpacer = lookup("spacer");
091: tagLayer = lookup("layer");
092: tagCenter = lookup("center");
093: tagStyle = lookup("style");
094: tagScript = lookup("script");
095: tagNoscript = lookup("noscript");
096: tagTable = lookup("table");
097: tagCaption = lookup("caption");
098: tagForm = lookup("form");
099: tagTextarea = lookup("textarea");
100: tagBlockquote = lookup("blockquote");
101: tagApplet = lookup("applet");
102: tagObject = lookup("object");
103: tagDiv = lookup("div");
104: tagSpan = lookup("span");
105: // BEGIN RAVE MODIFICATIONS
106: tagJspRoot = lookup("jsp:root");
107: tagFView = lookup("f:view");
108: tagJspDirectivePage = lookup("jsp:directive.page");
109: tagJspDirectiveInclude = lookup("jsp:directive.include");
110: // END RAVE MODIFICATIONS
111: }
112:
113: public void setConfiguration(Configuration configuration) {
114: this .configuration = configuration;
115: }
116:
117: public Dict lookup(String name) {
118: return (Dict) tagHashtable.get(name);
119: }
120:
121: public Dict install(Dict dict) {
122: Dict d = (Dict) tagHashtable.get(dict.name);
123: if (d != null) {
124: d.versions = dict.versions;
125: d.model |= dict.model;
126: d.parser = dict.parser;
127: d.chkattrs = dict.chkattrs;
128: return d;
129: } else {
130: tagHashtable.put(dict.name, dict);
131: return dict;
132: }
133: }
134:
135: /* public interface for finding tag by name */
136: public boolean findTag(Node node) {
137: Dict np;
138:
139: if (configuration != null && configuration.XmlTags) {
140: node.tag = xmlTags;
141: return true;
142: }
143:
144: if (node.element != null) {
145: np = lookup(node.element);
146: if (np != null) {
147: node.tag = np;
148: return true;
149: }
150: }
151:
152: return false;
153: }
154:
155: public Parser findParser(Node node) {
156: Dict np;
157:
158: if (node.element != null) {
159: np = lookup(node.element);
160: if (np != null) {
161: return np.parser;
162: }
163: }
164:
165: return null;
166: }
167:
168: private Hashtable tagHashtable = new Hashtable();
169:
170: private static Dict[] tags = {
171:
172: new Dict("html",
173: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
174: (Dict.CM_HTML | Dict.CM_OPT | Dict.CM_OMITST),
175: ParserImpl.getParseHTML(), CheckAttribsImpl
176: .getCheckHTML()),
177:
178: new Dict("head",
179: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
180: (Dict.CM_HTML | Dict.CM_OPT | Dict.CM_OMITST),
181: ParserImpl.getParseHead(), null),
182:
183: new Dict("title",
184: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
185: Dict.CM_HEAD, ParserImpl.getParseTitle(), null),
186: new Dict("base",
187: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
188: (Dict.CM_HEAD | Dict.CM_EMPTY), null, null),
189: new Dict("link",
190: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
191: (Dict.CM_HEAD | Dict.CM_EMPTY), null,
192: CheckAttribsImpl.getCheckLINK()),
193: new Dict("meta",
194: (short) (Dict.VERS_ALL | Dict.VERS_FRAMES),
195: (Dict.CM_HEAD | Dict.CM_EMPTY), null, null),
196: new Dict("style",
197: (short) (Dict.VERS_FROM32 | Dict.VERS_FRAMES),
198: Dict.CM_HEAD, ParserImpl.getParseScript(),
199: CheckAttribsImpl.getCheckSTYLE()),
200: new Dict(
201: "script",
202: (short) (Dict.VERS_FROM32 | Dict.VERS_FRAMES),
203: (Dict.CM_HEAD | Dict.CM_MIXED | Dict.CM_BLOCK | Dict.CM_INLINE),
204: ParserImpl.getParseScript(), CheckAttribsImpl
205: .getCheckSCRIPT()),
206: new Dict("server", Dict.VERS_NETSCAPE, (Dict.CM_HEAD
207: | Dict.CM_MIXED | Dict.CM_BLOCK | Dict.CM_INLINE),
208: ParserImpl.getParseScript(), null),
209:
210: new Dict("body", Dict.VERS_ALL,
211: (Dict.CM_HTML | Dict.CM_OPT | Dict.CM_OMITST),
212: ParserImpl.getParseBody(), null),
213: new Dict("frameset", Dict.VERS_FRAMES,
214: (Dict.CM_HTML | Dict.CM_FRAMES), ParserImpl
215: .getParseFrameSet(), null),
216:
217: new Dict("p", Dict.VERS_ALL, (Dict.CM_BLOCK | Dict.CM_OPT),
218: ParserImpl.getParseInline(), null),
219: new Dict("h1", Dict.VERS_ALL,
220: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
221: .getParseInline(), null),
222: new Dict("h2", Dict.VERS_ALL,
223: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
224: .getParseInline(), null),
225: new Dict("h3", Dict.VERS_ALL,
226: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
227: .getParseInline(), null),
228: new Dict("h4", Dict.VERS_ALL,
229: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
230: .getParseInline(), null),
231: new Dict("h5", Dict.VERS_ALL,
232: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
233: .getParseInline(), null),
234: new Dict("h6", Dict.VERS_ALL,
235: (Dict.CM_BLOCK | Dict.CM_HEADING), ParserImpl
236: .getParseInline(), null),
237: new Dict("ul", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
238: .getParseList(), null),
239: new Dict("ol", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
240: .getParseList(), null),
241: new Dict("dl", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
242: .getParseDefList(), null),
243: new Dict("dir", Dict.VERS_LOOSE,
244: (Dict.CM_BLOCK | Dict.CM_OBSOLETE), ParserImpl
245: .getParseList(), null),
246: new Dict("menu", Dict.VERS_LOOSE,
247: (Dict.CM_BLOCK | Dict.CM_OBSOLETE), ParserImpl
248: .getParseList(), null),
249: new Dict("pre", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
250: .getParsePre(), null),
251: new Dict("listing", Dict.VERS_ALL,
252: (Dict.CM_BLOCK | Dict.CM_OBSOLETE), ParserImpl
253: .getParsePre(), null),
254: new Dict("xmp", Dict.VERS_ALL,
255: (Dict.CM_BLOCK | Dict.CM_OBSOLETE), ParserImpl
256: .getParsePre(), null),
257: new Dict("plaintext", Dict.VERS_ALL,
258: (Dict.CM_BLOCK | Dict.CM_OBSOLETE), ParserImpl
259: .getParsePre(), null),
260: new Dict("address", Dict.VERS_ALL, Dict.CM_BLOCK,
261: ParserImpl.getParseBlock(), null),
262: new Dict("blockquote", Dict.VERS_ALL, Dict.CM_BLOCK,
263: ParserImpl.getParseBlock(), null),
264: new Dict("form", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
265: .getParseBlock(), null),
266: new Dict("isindex", Dict.VERS_LOOSE,
267: (Dict.CM_BLOCK | Dict.CM_EMPTY), null, null),
268: new Dict("fieldset", Dict.VERS_HTML40, Dict.CM_BLOCK,
269: ParserImpl.getParseBlock(), null),
270: new Dict("table", Dict.VERS_FROM32, Dict.CM_BLOCK,
271: ParserImpl.getParseTableTag(), CheckAttribsImpl
272: .getCheckTABLE()),
273: new Dict("hr", Dict.VERS_ALL,
274: (Dict.CM_BLOCK | Dict.CM_EMPTY), null,
275: CheckAttribsImpl.getCheckHR()),
276: new Dict("div", Dict.VERS_FROM32, Dict.CM_BLOCK, ParserImpl
277: .getParseBlock(), null),
278: new Dict("multicol", Dict.VERS_NETSCAPE, Dict.CM_BLOCK,
279: ParserImpl.getParseBlock(), null),
280: new Dict("nosave", Dict.VERS_NETSCAPE, Dict.CM_BLOCK,
281: ParserImpl.getParseBlock(), null),
282: new Dict("layer", Dict.VERS_NETSCAPE, Dict.CM_BLOCK,
283: ParserImpl.getParseBlock(), null),
284: new Dict("ilayer", Dict.VERS_NETSCAPE, Dict.CM_INLINE,
285: ParserImpl.getParseInline(), null),
286: new Dict("nolayer", Dict.VERS_NETSCAPE, (Dict.CM_BLOCK
287: | Dict.CM_INLINE | Dict.CM_MIXED), ParserImpl
288: .getParseBlock(), null),
289: new Dict("align", Dict.VERS_NETSCAPE, Dict.CM_BLOCK,
290: ParserImpl.getParseBlock(), null),
291: new Dict("center", Dict.VERS_LOOSE, Dict.CM_BLOCK,
292: ParserImpl.getParseBlock(), null),
293: new Dict("ins", Dict.VERS_HTML40, (Dict.CM_INLINE
294: | Dict.CM_BLOCK | Dict.CM_MIXED), ParserImpl
295: .getParseInline(), null),
296: new Dict("del", Dict.VERS_HTML40, (Dict.CM_INLINE
297: | Dict.CM_BLOCK | Dict.CM_MIXED), ParserImpl
298: .getParseInline(), null),
299:
300: new Dict("li", Dict.VERS_ALL,
301: (Dict.CM_LIST | Dict.CM_OPT | Dict.CM_NO_INDENT),
302: ParserImpl.getParseBlock(), null),
303: new Dict("dt", Dict.VERS_ALL, (Dict.CM_DEFLIST
304: | Dict.CM_OPT | Dict.CM_NO_INDENT), ParserImpl
305: .getParseInline(), null),
306: new Dict("dd", Dict.VERS_ALL, (Dict.CM_DEFLIST
307: | Dict.CM_OPT | Dict.CM_NO_INDENT), ParserImpl
308: .getParseBlock(), null),
309:
310: new Dict("caption", Dict.VERS_FROM32, Dict.CM_TABLE,
311: ParserImpl.getParseInline(), CheckAttribsImpl
312: .getCheckCaption()),
313: new Dict("colgroup", Dict.VERS_HTML40,
314: (Dict.CM_TABLE | Dict.CM_OPT), ParserImpl
315: .getParseColGroup(), null),
316: new Dict("col", Dict.VERS_HTML40,
317: (Dict.CM_TABLE | Dict.CM_EMPTY), null, null),
318: new Dict("thead", Dict.VERS_HTML40, (Dict.CM_TABLE
319: | Dict.CM_ROWGRP | Dict.CM_OPT), ParserImpl
320: .getParseRowGroup(), null),
321: new Dict("tfoot", Dict.VERS_HTML40, (Dict.CM_TABLE
322: | Dict.CM_ROWGRP | Dict.CM_OPT), ParserImpl
323: .getParseRowGroup(), null),
324: new Dict("tbody", Dict.VERS_HTML40, (Dict.CM_TABLE
325: | Dict.CM_ROWGRP | Dict.CM_OPT), ParserImpl
326: .getParseRowGroup(), null),
327: new Dict("tr", Dict.VERS_FROM32,
328: (Dict.CM_TABLE | Dict.CM_OPT), ParserImpl
329: .getParseRow(), null),
330: new Dict("td", Dict.VERS_FROM32,
331: (Dict.CM_ROW | Dict.CM_OPT | Dict.CM_NO_INDENT),
332: ParserImpl.getParseBlock(), CheckAttribsImpl
333: .getCheckTableCell()),
334: new Dict("th", Dict.VERS_FROM32,
335: (Dict.CM_ROW | Dict.CM_OPT | Dict.CM_NO_INDENT),
336: ParserImpl.getParseBlock(), CheckAttribsImpl
337: .getCheckTableCell()),
338:
339: new Dict("q", Dict.VERS_HTML40, Dict.CM_INLINE, ParserImpl
340: .getParseInline(), null),
341: new Dict("a", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
342: .getParseInline(), CheckAttribsImpl
343: .getCheckAnchor()),
344: new Dict("br", Dict.VERS_ALL,
345: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
346: new Dict("img", Dict.VERS_ALL, (Dict.CM_INLINE
347: | Dict.CM_IMG | Dict.CM_EMPTY), null,
348: CheckAttribsImpl.getCheckIMG()),
349: new Dict("object", Dict.VERS_HTML40,
350: (Dict.CM_OBJECT | Dict.CM_HEAD | Dict.CM_IMG
351: | Dict.CM_INLINE | Dict.CM_PARAM),
352: ParserImpl.getParseBlock(), null),
353: new Dict("applet", Dict.VERS_LOOSE, (Dict.CM_OBJECT
354: | Dict.CM_IMG | Dict.CM_INLINE | Dict.CM_PARAM),
355: ParserImpl.getParseBlock(), null),
356: new Dict("servlet", Dict.VERS_SUN, (Dict.CM_OBJECT
357: | Dict.CM_IMG | Dict.CM_INLINE | Dict.CM_PARAM),
358: ParserImpl.getParseBlock(), null),
359: new Dict("param", Dict.VERS_FROM32,
360: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
361: new Dict("embed", Dict.VERS_NETSCAPE, (Dict.CM_INLINE
362: | Dict.CM_IMG | Dict.CM_EMPTY), null, null),
363: new Dict("noembed", Dict.VERS_NETSCAPE, Dict.CM_INLINE,
364: ParserImpl.getParseInline(), null),
365: new Dict("iframe", Dict.VERS_HTML40_LOOSE, Dict.CM_INLINE,
366: ParserImpl.getParseBlock(), null),
367: new Dict("frame", Dict.VERS_FRAMES,
368: (Dict.CM_FRAMES | Dict.CM_EMPTY), null, null),
369: new Dict("noframes", Dict.VERS_IFRAMES,
370: (Dict.CM_BLOCK | Dict.CM_FRAMES), ParserImpl
371: .getParseNoFrames(), null),
372: new Dict("noscript",
373: (short) (Dict.VERS_FRAMES | Dict.VERS_HTML40),
374: (Dict.CM_BLOCK | Dict.CM_INLINE | Dict.CM_MIXED),
375: ParserImpl.getParseBlock(), null),
376: new Dict("b", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
377: .getParseInline(), null),
378: new Dict("i", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
379: .getParseInline(), null),
380: new Dict("u", Dict.VERS_LOOSE, Dict.CM_INLINE, ParserImpl
381: .getParseInline(), null),
382: new Dict("tt", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
383: .getParseInline(), null),
384: new Dict("s", Dict.VERS_LOOSE, Dict.CM_INLINE, ParserImpl
385: .getParseInline(), null),
386: new Dict("strike", Dict.VERS_LOOSE, Dict.CM_INLINE,
387: ParserImpl.getParseInline(), null),
388: new Dict("big", Dict.VERS_FROM32, Dict.CM_INLINE,
389: ParserImpl.getParseInline(), null),
390: new Dict("small", Dict.VERS_FROM32, Dict.CM_INLINE,
391: ParserImpl.getParseInline(), null),
392: new Dict("sub", Dict.VERS_FROM32, Dict.CM_INLINE,
393: ParserImpl.getParseInline(), null),
394: new Dict("sup", Dict.VERS_FROM32, Dict.CM_INLINE,
395: ParserImpl.getParseInline(), null),
396: new Dict("em", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
397: .getParseInline(), null),
398: new Dict("strong", Dict.VERS_ALL, Dict.CM_INLINE,
399: ParserImpl.getParseInline(), null),
400: new Dict("dfn", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
401: .getParseInline(), null),
402: new Dict("code", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
403: .getParseInline(), null),
404: new Dict("samp", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
405: .getParseInline(), null),
406: new Dict("kbd", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
407: .getParseInline(), null),
408: new Dict("var", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
409: .getParseInline(), null),
410: new Dict("cite", Dict.VERS_ALL, Dict.CM_INLINE, ParserImpl
411: .getParseInline(), null),
412: new Dict("abbr", Dict.VERS_HTML40, Dict.CM_INLINE,
413: ParserImpl.getParseInline(), null),
414: new Dict("acronym", Dict.VERS_HTML40, Dict.CM_INLINE,
415: ParserImpl.getParseInline(), null),
416: new Dict("span", Dict.VERS_FROM32, Dict.CM_INLINE,
417: ParserImpl.getParseInline(), null),
418: new Dict("blink", Dict.VERS_PROPRIETARY, Dict.CM_INLINE,
419: ParserImpl.getParseInline(), null),
420: new Dict("nobr", Dict.VERS_PROPRIETARY, Dict.CM_INLINE,
421: ParserImpl.getParseInline(), null),
422: new Dict("wbr", Dict.VERS_PROPRIETARY,
423: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
424: new Dict("marquee", Dict.VERS_MICROSOFT,
425: (Dict.CM_INLINE | Dict.CM_OPT), ParserImpl
426: .getParseInline(), null),
427: new Dict("bgsound", Dict.VERS_MICROSOFT,
428: (Dict.CM_HEAD | Dict.CM_EMPTY), null, null),
429: new Dict("comment", Dict.VERS_MICROSOFT, Dict.CM_INLINE,
430: ParserImpl.getParseInline(), null),
431: new Dict("spacer", Dict.VERS_NETSCAPE,
432: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
433: new Dict("keygen", Dict.VERS_NETSCAPE,
434: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
435: new Dict("nolayer", Dict.VERS_NETSCAPE, (Dict.CM_BLOCK
436: | Dict.CM_INLINE | Dict.CM_MIXED), ParserImpl
437: .getParseBlock(), null),
438: new Dict("ilayer", Dict.VERS_NETSCAPE, Dict.CM_INLINE,
439: ParserImpl.getParseInline(), null),
440: new Dict("map", Dict.VERS_FROM32, Dict.CM_INLINE,
441: ParserImpl.getParseBlock(), CheckAttribsImpl
442: .getCheckMap()),
443: new Dict("area", Dict.VERS_ALL,
444: (Dict.CM_BLOCK | Dict.CM_EMPTY), null,
445: CheckAttribsImpl.getCheckAREA()),
446: new Dict("input", Dict.VERS_ALL, (Dict.CM_INLINE
447: | Dict.CM_IMG | Dict.CM_EMPTY), null, null),
448: new Dict("select", Dict.VERS_ALL,
449: (Dict.CM_INLINE | Dict.CM_FIELD), ParserImpl
450: .getParseSelect(), null),
451: new Dict("option", Dict.VERS_ALL,
452: (Dict.CM_FIELD | Dict.CM_OPT), ParserImpl
453: .getParseText(), null),
454: new Dict("optgroup", Dict.VERS_HTML40,
455: (Dict.CM_FIELD | Dict.CM_OPT), ParserImpl
456: .getParseOptGroup(), null),
457: new Dict("textarea", Dict.VERS_ALL,
458: (Dict.CM_INLINE | Dict.CM_FIELD), ParserImpl
459: .getParseText(), null),
460: new Dict("label", Dict.VERS_HTML40, Dict.CM_INLINE,
461: ParserImpl.getParseInline(), null),
462: new Dict("legend", Dict.VERS_HTML40, Dict.CM_INLINE,
463: ParserImpl.getParseInline(), null),
464: new Dict("button", Dict.VERS_HTML40, Dict.CM_INLINE,
465: ParserImpl.getParseInline(), null),
466: new Dict("basefont", Dict.VERS_LOOSE,
467: (Dict.CM_INLINE | Dict.CM_EMPTY), null, null),
468: new Dict("font", Dict.VERS_LOOSE, Dict.CM_INLINE,
469: ParserImpl.getParseInline(), null),
470: new Dict("bdo", Dict.VERS_HTML40, Dict.CM_INLINE,
471: ParserImpl.getParseInline(), null),
472:
473: // BEGIN RAVE MODIFICATIONS
474: new Dict("jsp:directive.include", Dict.VERS_LOOSE,
475: Dict.CM_INLINE, ParserImpl.getParseInline(), null),
476: new Dict("jsp:root", Dict.VERS_ALL, Dict.CM_BLOCK,
477: ParserImpl.getParseBlock(), null),
478: new Dict("jsp:directive.page", Dict.VERS_ALL,
479: Dict.CM_BLOCK, ParserImpl.getParseBlock(), null),
480: new Dict("f:view", Dict.VERS_ALL, Dict.CM_BLOCK, ParserImpl
481: .getParseBlock(), null),
482: new Dict("f:loadBundle", Dict.VERS_ALL, Dict.CM_BLOCK,
483: ParserImpl.getParseBlock(), null),
484: // END RAVE MODIFICATIONS
485:
486: };
487:
488: /* create dummy entry for all xml tags */
489: public Dict xmlTags = new Dict(null, Dict.VERS_ALL, Dict.CM_BLOCK,
490: null, null);
491:
492: public Dict tagHtml = null;
493: public Dict tagHead = null;
494: public Dict tagBody = null;
495: public Dict tagFrameset = null;
496: public Dict tagFrame = null;
497: public Dict tagNoframes = null;
498: public Dict tagMeta = null;
499: public Dict tagTitle = null;
500: public Dict tagBase = null;
501: public Dict tagHr = null;
502: public Dict tagPre = null;
503: public Dict tagListing = null;
504: public Dict tagH1 = null;
505: public Dict tagH2 = null;
506: public Dict tagP = null;
507: public Dict tagUl = null;
508: public Dict tagOl = null;
509: public Dict tagDir = null;
510: public Dict tagLi = null;
511: public Dict tagDt = null;
512: public Dict tagDd = null;
513: public Dict tagDl = null;
514: public Dict tagTd = null;
515: public Dict tagTh = null;
516: public Dict tagTr = null;
517: public Dict tagCol = null;
518: public Dict tagBr = null;
519: public Dict tagA = null;
520: public Dict tagLink = null;
521: public Dict tagB = null;
522: public Dict tagI = null;
523: public Dict tagStrong = null;
524: public Dict tagEm = null;
525: public Dict tagBig = null;
526: public Dict tagSmall = null;
527: public Dict tagParam = null;
528: public Dict tagOption = null;
529: public Dict tagOptgroup = null;
530: public Dict tagImg = null;
531: public Dict tagMap = null;
532: public Dict tagArea = null;
533: public Dict tagNobr = null;
534: public Dict tagWbr = null;
535: public Dict tagFont = null;
536: public Dict tagSpacer = null;
537: public Dict tagLayer = null;
538: public Dict tagCenter = null;
539: public Dict tagStyle = null;
540: public Dict tagScript = null;
541: public Dict tagNoscript = null;
542: public Dict tagTable = null;
543: public Dict tagCaption = null;
544: public Dict tagForm = null;
545: public Dict tagTextarea = null;
546: public Dict tagBlockquote = null;
547: public Dict tagApplet = null;
548: public Dict tagObject = null;
549: public Dict tagDiv = null;
550: public Dict tagSpan = null;
551: // BEGIN RAVE MODIFICATIONS
552: public Dict tagJspRoot = null;
553: public Dict tagFView = null;
554: public Dict tagJspDirectivePage = null;
555: public Dict tagJspDirectiveInclude = null;
556:
557: // END RAVE MODIFICATIONS
558:
559: public void defineInlineTag(String name) {
560: install(new Dict(name, Dict.VERS_PROPRIETARY, (Dict.CM_INLINE
561: | Dict.CM_NO_INDENT | Dict.CM_NEW), ParserImpl
562: .getParseBlock(), null));
563: }
564:
565: public void defineBlockTag(String name) {
566: install(new Dict(name, Dict.VERS_PROPRIETARY, (Dict.CM_BLOCK
567: | Dict.CM_NO_INDENT | Dict.CM_NEW), ParserImpl
568: .getParseBlock(), null));
569: }
570:
571: public void defineEmptyTag(String name) {
572: install(new Dict(name, Dict.VERS_PROPRIETARY, (Dict.CM_EMPTY
573: | Dict.CM_NO_INDENT | Dict.CM_NEW), ParserImpl
574: .getParseBlock(), null));
575: }
576:
577: public void definePreTag(String name) {
578: install(new Dict(name, Dict.VERS_PROPRIETARY, (Dict.CM_BLOCK
579: | Dict.CM_NO_INDENT | Dict.CM_NEW), ParserImpl
580: .getParsePre(), null));
581: }
582: }
|