public class MarkupTokenizer extends CodeTokenizer
Specialized CodeTokenizer for HTML, XML, and SVG markup files.
Tokenizes <!-- ... --> multi-line comments, <!DOCTYPE ...> / <?xml ...?> declarations, <tag / </tag> element names (TokenKind.TAG), attribute names (TokenKind.ATTRIBUTE), quoted attribute values (TokenKind.STRING), and &entity; references (TokenKind.ENTITY).
import klyn.code
import klyn.code.markup
tokenizer = MarkupTokenizer()
res = tokenizer.tokenizeLine("<div class=\"card\">Hello & welcome</div>")
assert res.spans.size >= 5| Modifier and Type | Member | Description |
|---|---|---|
| public | MarkupTokenizerMarkupTokenizer(xmlMode as Boolean = false) |
Constructs a MarkupTokenizer for HTML (xmlMode = false) or XML (xmlMode = true). |
| Modifier and Type | Member | Description |
|---|---|---|
| public override | tokenizeLinetokenizeLine(line as String, initialState as LexicalState = null) as LineScanResult |
Tokenizes a single line of HTML/XML markup. |