01: /*
02: * Created on Mar 15, 2005
03: */
04: package com.sun.portal.wireless.htmlconversion.processors;
05:
06: import java.util.HashMap;
07:
08: import org.w3c.dom.Element;
09:
10: import com.sun.portal.wireless.htmlconversion.ParserState;
11: import com.sun.portal.wireless.htmlconversion.servlet.URLTranscoder;
12:
13: /**
14: * Tag processor for the HTML base tag.
15: *
16: * @author ashwin.mathew@sun.com
17: */
18: public class HtmlBaseTagProcessor extends BaseTagProcessor {
19:
20: public static final String HTML_BASE = "base";
21:
22: public static final String ATTR_HREF = "href";
23:
24: private static final String[] supportedTags = { HTML_BASE };
25:
26: /* (non-Javadoc)
27: * @see com.sun.portal.wireless.htmlconversion.TagProcessor#getAmlTag()
28: */
29: public String getAmlTag() {
30: return null;
31: }
32:
33: /* (non-Javadoc)
34: * @see com.sun.portal.wireless.htmlconversion.TagProcessor#getSupportedTags()
35: */
36: public String[] getSupportedTags() {
37: return supportedTags;
38: }
39:
40: /* (non-Javadoc)
41: * @see com.sun.portal.wireless.htmlconversion.TagProcessor#canHaveChildren(com.sun.portal.wireless.htmlconversion.ParserState)
42: */
43: public boolean canHaveChildren(ParserState state) {
44: return false;
45: }
46:
47: /* (non-Javadoc)
48: * @see com.sun.portal.wireless.htmlconversion.TagProcessor#isMaintainOnState(com.sun.portal.wireless.htmlconversion.ParserState)
49: */
50: public boolean isMaintainOnState(ParserState state) {
51: return false;
52: }
53:
54: /* (non-Javadoc)
55: * @see com.sun.portal.wireless.htmlconversion.TagProcessor#startTag(java.lang.String, java.util.HashMap, com.sun.portal.wireless.htmlconversion.ParserState)
56: */
57: public Element startTag(String tagName, HashMap attributes,
58: ParserState state) {
59: String href = (String) attributes.get(ATTR_HREF);
60:
61: URLTranscoder encoder = state.getEncoder();
62: if (encoder != null) {
63: encoder.setBaseURL(href);
64: }
65:
66: return null;
67: }
68: }
|