class Syntax::XML
def scan_string( delim )
Scan the string starting at the current position, with the given
def scan_string( delim ) start_group :punct, delim match = /(?=[&\\]|#{delim})/ loop do break unless ( text = scan_until( match ) ) start_group :string, text unless text.empty? case peek(1) when "&" if scan( /&\S{1,10};/ ) start_group :entity, matched else start_group :string, getch end when "\\" start_group :string, getch append getch || "" when delim start_group :punct, getch break end end end