<! attlist := ATTLIST
holds the next character
content1 ::= '<' content1 | '&' charref
'<' content1 ::=
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' [24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') [25] Eq ::= S? '=' S? [26] VersionNum ::= '1
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag | xmlTag1 '/' '>'
<! element := ELEMENT
<! element := ELEMENT
externalID ::= SYSTEM S syslit PUBLIC S pubid S syslit
As the current code requires you to call nextch once manually after construction, this method formalizes that suboptimal reality
stack of inputs
"rec-xml/#ExtSubset" pe references may not occur within markup declarations
These are 99% sure to be redundant but refactoring on the safe side
Name ::= ( Letter | '_' ) (NameChar)*
NameChar ::= Letter | Digit | '
NameStart ::= ( Letter | '_' ) where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }
Returns true if the encoding name is a valid IANA encoding
Create a lookahead reader which does not influence the input
this method assign the next character to ch and advances in input
for the moment, replace only character references see spec 3
'N' notationDecl ::= "OTATION"
parses document type declaration and assigns it to instance variable dtd
holds the position in the source file
if true, does not remove surplus whitespace
<? prolog ::= xml S? // this is a bit more lenient than necessary
attribute value, terminated by either ' or "
prolog, but without standalone
holds temporary values of pos
attribute value, terminated by either ' or "
parse attribute and create namespace scope, metadata [41] Attributes ::= { S Name Eq AttValue }
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
CharRef ::= "&#" '0'
Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
scan [S] '=' [S]
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
entity value, terminated by either ' or "
Name ::= (Letter | '_' | ':') (NameChar)*
'<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
skip optional space S?
parse character data
<? prolog ::= xml S
An XML parser.
Parses XML 1.0, invokes callback methods of a MarkupHandler and returns whatever the markup handler returns. Use
ConstructingParser
if you just want to parse XML to construct instances ofscala.xml.Node
.While XML elements are returned, DTD declarations - if handled - are collected using side-effects.