*/
public ITagConverter createConverter(Element element, int mode) {
String tagName = element.getLocalName();
if (mode == MODE_PREVIEW) {
return new DumTagConverter(element);
}
if (!HTMLUtil.isVisualHtmlElement(tagName)) {
return new HiddenTagConverter2(element, getUnknownImage());
}
AbstractTagConverter c;
if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(tagName)) {
c = new TableTagConverter(element);
} else if (IHTMLConstants.TAG_A.equalsIgnoreCase(tagName)) {
c = new ATagConverter(element);
} else if (IHTMLConstants.TAG_FORM.equalsIgnoreCase(tagName)) {
// for those HTML tag that we want to build a border decorator,
// should
// go there.
c = new DumTagConverter(element, true);
} else if (IHTMLConstants.TAG_HTML.equalsIgnoreCase(tagName)
|| IHTMLConstants.TAG_BODY.equalsIgnoreCase(tagName)) {
c = new DumDescriptionTagConverter(element);
c.setNeedBorderDecorator(true);
} else {
c = new DumTagConverter(element);
}
c.setMode(mode);
return c;
}