An XML Parser that preserves CDATA
blocks and knows about scala.xml.parsing.XhtmlEntities.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait ExternalSourcestrait MarkupParsertrait TokenTestsclass ConstructingHandlerclass MarkupHandlerclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Inherited types
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Value members
Inherited methods
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
The library and compiler parsers had the interesting distinction of different behavior for nextch (a function for which there are a total of two plausible behaviors, so we know the design space was fully explored.) One of them returned the value of nextch before the increment and one of them the new value. So to unify code we have to at least temporarily abstract over the nextchs.
The library and compiler parsers had the interesting distinction of different behavior for nextch (a function for which there are a total of two plausible behaviors, so we know the design space was fully explored.) One of them returned the value of nextch before the increment and one of them the new value. So to unify code we have to at least temporarily abstract over the nextchs.
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- TokenTests
Attributes
- Inherited from:
- TokenTests
callback method invoked by MarkupParser after parsing comment.
callback method invoked by MarkupParser after parsing comment.
Attributes
- Definition Classes
- Inherited from:
- ConstructingHandler
[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.0'
[27] Misc ::= Comment | PI | S
Attributes
- Inherited from:
- MarkupParser
callback method invoked by MarkupParser after parsing an element, between the elemStart and elemEnd callbacks
callback method invoked by MarkupParser after parsing an element, between the elemStart and elemEnd callbacks
Value parameters
- args
-
the children of this element
- attrs
-
the attributes (metadata)
- empty
-
true
if the element was previously empty;false
otherwise. - label
-
the local name
- pos
-
the position in the source file
- pre
-
the prefix
Attributes
- Definition Classes
- Inherited from:
- ConstructingHandler
Attributes
- Inherited from:
- MarkupHandler
callback method invoked by MarkupParser after end-tag of element.
callback method invoked by MarkupParser after end-tag of element.
Value parameters
- label
-
the local name
- pos
-
the position in the source file
- pre
-
the prefix
Attributes
- Inherited from:
- MarkupHandler
callback method invoked by MarkupParser after start-tag of element.
callback method invoked by MarkupParser after start-tag of element.
Value parameters
- attrs
-
the attributes (metadata)
- label
-
the local name
- pos
-
the position in the sourcefile
- pre
-
the prefix
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParser
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag
| xmlTag1 '/' '>'
Attributes
- Inherited from:
- MarkupParser
<! element := ELEMENT
Attributes
- Inherited from:
- MarkupHandler
callback method invoked by MarkupParser after parsing entity ref.
callback method invoked by MarkupParser after parsing entity ref.
Attributes
- Todo
-
expanding entity references
- Definition Classes
- Inherited from:
- ConstructingHandler
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- ExternalSources
As the current code requires you to call nextch once manually after construction, this method formalizes that suboptimal reality.
As the current code requires you to call nextch once manually after construction, this method formalizes that suboptimal reality.
Attributes
- Inherited from:
- MarkupParser
"rec-xml/#ExtSubset" pe references may not occur within markup declarations
"rec-xml/#ExtSubset" pe references may not occur within markup declarations
Attributes
- Inherited from:
- MarkupParser
These are 99% sure to be redundant but refactoring on the safe side.
These are 99% sure to be redundant but refactoring on the safe side.
Attributes
- Inherited from:
- TokenTests
Attributes
- Inherited from:
- TokenTests
See [5] of XML 1.0 specification.
Name ::= ( Letter | '_' ) (NameChar)*
See [5] of XML 1.0 specification.
Attributes
- Inherited from:
- TokenTests
See [4] and [4a] of Appendix B of XML 1.0 specification.
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | #xB7
| CombiningChar | Extender
See [4] and [4a] of Appendix B of XML 1.0 specification.
Attributes
- Inherited from:
- TokenTests
where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }
.
NameStart ::= ( Letter | '_' | ':' )
where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }
.
We do not allow a name to start with :
. See [4] and Appendix B of XML 1.0 specification
Attributes
- Inherited from:
- TokenTests
Attributes
- Inherited from:
- TokenTests
Returns true
if the encoding name is a valid IANA encoding. This method does not verify that there is a decoder available for this encoding, only that the characters are valid for an IANA encoding name.
Returns true
if the encoding name is a valid IANA encoding. This method does not verify that there is a decoder available for this encoding, only that the characters are valid for an IANA encoding name.
Value parameters
- ianaEncoding
-
The IANA encoding name.
Attributes
- Inherited from:
- TokenTests
Create a lookahead reader which does not influence the input
Create a lookahead reader which does not influence the input
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
this method tells ch to get the next character when next called
this method tells ch to get the next character when next called
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupHandler
parses document type declaration and assigns it to instance variable dtd.
parses document type declaration and assigns it to instance variable dtd.
<! parseDTD ::= DOCTYPE name ... >
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParser
callback method invoked by MarkupParser after parsing PI.
callback method invoked by MarkupParser after parsing PI.
Attributes
- Definition Classes
- Inherited from:
- ConstructingHandler
<? prolog ::= xml S?
// this is a bit more lenient than necessary...
Attributes
- Inherited from:
- MarkupParser
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
append Unicode character to name buffer
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Apply a function and return the passed value
Apply a function and return the passed value
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
Execute body with a variable saved and restored after execution
Execute body with a variable saved and restored after execution
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
attribute value, terminated by either ' or ". value may not contain <.
attribute value, terminated by either ' or ". value may not contain <.
AttValue ::= `'` { _ } `'`
| `"` { _ } `"`
Attributes
- Inherited from:
- MarkupParser
callback method invoked by MarkupParser after parsing text.
callback method invoked by MarkupParser after parsing text.
Attributes
- Definition Classes
- Inherited from:
- ConstructingHandler
prolog, but without standalone
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
attribute value, terminated by either '
or "
. value may not contain <
.
attribute value, terminated by either '
or "
. value may not contain <
.
Value parameters
- endCh
-
either
'
or"
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
parse attribute and create namespace scope, metadata
parse attribute and create namespace scope, metadata
[41] Attributes ::= { S Name Eq AttValue }
Attributes
- Inherited from:
- MarkupParser
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
see [15]
Attributes
- Inherited from:
- MarkupParser
CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"
CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"
see [66]
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
scan [S] '=' [S]
scan [S] '=' [S]
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
entity value, terminated by either ' or ". value may not contain <.
entity value, terminated by either ' or ". value may not contain <.
AttValue ::= `'` { _ } `'`
| `"` { _ } `"`
Attributes
- Inherited from:
- MarkupParser
Attributes
- Definition Classes
-
MarkupParser -> MarkupParserCommon
- Inherited from:
- MarkupParser
actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*
actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*
see [5] of XML 1.0 specification
pre-condition: ch != ':' // assured by definition of XMLSTART token post-condition: name does neither start, nor end in ':'
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
'?' {Char})]'?>'
'?' {Char})]'?>'
see [15]
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
skip optional space S?
skip optional space S?
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
parse a start or empty tag. [40] STag ::= '<' Name { S Attribute } [S] [44] EmptyElemTag ::= '<' Name { S Attribute } [S]
parse a start or empty tag. [40] STag ::= '<' Name { S Attribute } [S] [44] EmptyElemTag ::= '<' Name { S Attribute } [S]
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
Take characters from input stream until given String "until" is seen. Once seen, the accumulated characters are passed along with the current Position to the supplied handler function.
Take characters from input stream until given String "until" is seen. Once seen, the accumulated characters are passed along with the current Position to the supplied handler function.
Attributes
- Inherited from:
- MarkupParserCommon (hidden)
Concrete fields
if true, does not remove surplus whitespace
if true, does not remove surplus whitespace
Attributes
Inherited fields
character buffer, for names
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupParser
Attributes
- Inherited from:
- MarkupHandler
Attributes
- Inherited from:
- MarkupParser
stack of inputs
returns true is this markup handler is validating
Attributes
- Inherited from:
- MarkupParser
holds the next character
holds the position in the source file
Attributes
- Inherited from:
- MarkupParser
holds temporary values of pos