dom :: XMLProcessor :: read_tag
src
at current position
# Reads the tag starting in `src` at current position
private fun read_tag: XMLEntity do
var st_loc = new Location(line, line_offset)
var c = src[pos]
if not c == '<' then return new XMLError(st_loc, "Expected start of tag, got `{c}`")
pos += 1
if pos >= src.length then return new XMLError(st_loc, "Malformed tag")
c = src[pos]
if c == '!' then
# Special tag
return read_special_tag(st_loc)
else if c == '?' then
# Prolog tag
return read_prolog_tag(st_loc)
else if c == '/' then
# End tag
return read_end_tag(st_loc)
else
# Start tag
return read_start_tag(st_loc)
end
end
lib/dom/parser.nit:79,2--100,4