if (getCurrentOpenedDoctypePart(codeBuilder) == null && DoctypeParts.DOCTYPE.matchesStartSelector(code)) { addOpenedDoctypePart(codeBuilder, DoctypeParts.DOCTYPE); } else if (DoctypeParts.DOCTYPE == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.DOCTYPE_INTERNAL.matchesStartSelector(code)) { addOpenedDoctypePart(codeBuilder, DoctypeParts.DOCTYPE_INTERNAL); consumed = true; } else if (DoctypeParts.DOCTYPE_INTERNAL == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.ELEMENT.matchesStartSelector(code)) { addOpenedDoctypePart(codeBuilder, DoctypeParts.ELEMENT); } else if (DoctypeParts.DOCTYPE_INTERNAL == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.ATT_LIST.matchesStartSelector(code)) { addOpenedDoctypePart(codeBuilder, DoctypeParts.ATT_LIST); } else if (DoctypeParts.ATT_LIST == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.ATT_LIST.matchesEndSelector(code)) { removeOpenedDoctypePart(codeBuilder); } else if (DoctypeParts.ELEMENT == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.ELEMENT.matchesEndSelector(code)) { removeOpenedDoctypePart(codeBuilder); } else if (DoctypeParts.DOCTYPE_INTERNAL == getCurrentOpenedDoctypePart(codeBuilder) && DoctypeParts.DOCTYPE_INTERNAL.matchesEndSelector(code)) { removeOpenedDoctypePart(codeBuilder); consumed = true;
public static List<Tokenizer> createTokenizers() { return Arrays.asList( new CDataDocTokenizer(span("k"), END_TAG), new DoctypeTokenizer(span("j"), END_TAG), new MultilinesDocTokenizer("<!--", "-->", span("j"), END_TAG), new MultilinesDocTokenizer("</", ">", span("k"), END_TAG), new XmlStartElementTokenizer(span("k"), END_TAG, span("c"), END_TAG, span("s"), END_TAG)); }