import java.util.Map;
import java.util.regex.Pattern;
+import org.apache.commons.lang3.StringEscapeUtils;
+
import com.hughes.android.dictionary.engine.EntryTypeName;
import com.hughes.android.dictionary.engine.HtmlEntry;
import com.hughes.android.dictionary.engine.IndexBuilder;
@Override
public void onPlainText(String plainText) {
- super.onPlainText(plainText);
+ super.onPlainText(StringEscapeUtils.escapeHtml3(plainText));
}
@Override
}
return;
}
- onPlainText(String.format("\n<h%d>", depth));
+ builder.append(String.format("\n<h%d>", depth));
dispatch(headingText, null);
- onPlainText(String.format("</h%d>\n", depth));
+ builder.append(String.format("</h%d>\n", depth));
}
final List<Character> listPrefixStack = new ArrayList<Character>();
}
final String prefix = wikiTokenizer.listItemPrefix();
while (listPrefixStack.size() < prefix.length()) {
- onPlainText(String.format("<%s>", WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size()))));
+ builder.append(String.format("<%s>", WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size()))));
listPrefixStack.add(prefix.charAt(listPrefixStack.size()));
}
- onPlainText("<li>");
+ builder.append("<li>");
dispatch(wikiTokenizer.listItemWikiText(), null);
- onPlainText("</li>\n");
+ builder.append("</li>\n");
WikiTokenizer nextToken = wikiTokenizer.nextToken();
boolean returnToLineStart = false;
}
while (listPrefixStack.size() > nextListHeader.length()) {
final char prefixChar = listPrefixStack.remove(listPrefixStack.size() - 1);
- onPlainText(String.format("</%s>\n", WikiTokenizer.getListTag(prefixChar)));
+ builder.append(String.format("</%s>\n", WikiTokenizer.getListTag(prefixChar)));
}
}
public void onMarkup(WikiTokenizer wikiTokenizer) {
if ("'''".equals(wikiTokenizer.token())) {
if (!boldOn) {
- onPlainText("<b>");
+ builder.append("<b>");
} else {
- onPlainText("</b>");
+ builder.append("</b>");
}
boldOn = !boldOn;
} else if ("''".equals(wikiTokenizer.token())) {
if (!italicOn) {
- onPlainText("<em>");
+ builder.append("<em>");
} else {
- onPlainText("</em>");
+ builder.append("</em>");
}
italicOn = !italicOn;
} else {