Returns the line number within the XML.
Returns the column number within the current line of XML.
Replace general entity refs, but not predefined and character refs. Returns
the replacement string if any substitutions were performed. If not, returns
nil to signal end of recursive replacement.
Replace character, predefined, and general entity refs.
Parse character refs and parameter refs at the same time, but not general
entity refs.
Returns true if str matches the beginning of the current position in input
stream.
Returns text up to but not including specified string or regexp. Positions
text cursor after the text found.
Returns the next legal XML name. Will raise an exception if the next
available character is not legal.
Returns a PUBLIC id literal, which is different from a "simple"
quoted literal.
Normalize the attribute value using the rules in section 3.3.3 of the XML
spec, "Attribute-Value Normalization".
Returns hash of attributes. If no attributes, returns empty hash. If error,
raises an exception.
Handle declsep (parameter entity reference) inside DOCTYPE. Unlike most
next* methods, we don't return an entity. Instead we replace the declsep
(parameter entity reference) and create a new input stream containing the
replacement text.
Return next PUBLIC or SYSTEM external id. Returns nil if the next word is
not either 'PUBLIC' or 'SYSTEM'.
Given an external ID, retrieve it, parse it (unless NDATA), and absorb the
entities found.
'<!DOCTYPE' (name) (external-id)?
( '[' (markupdecl | declsep)* ']' )? '>'