An xml parser. parses XML and invokes callback methods of a MarkupHandler. Don't forget to call next.ch on a freshly instantiated parser in order to initialize it. If you get the parser from the object method, initialization is already done for you.
object parseFromURL {
def main(args: Array[String]) {
val url = args(0)
val src = scala.io.Source.fromURL(url)
val cpa = scala.xml.parsing.ConstructingParser.fromSource(src, false) // fromSource initializes automatically
val doc = cpa.document()
// let's see what it is
val ppr = new scala.xml.PrettyPrinter(80, 5)
val ele = doc.docElem
println("finished parsing")
val out = ppr.format(ele)
println(out)
}
}
- Companion:
- object
Type members
Inherited types
Value members
Inherited methods
[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
- Inherited from:
- MarkupParser
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
- 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
- Inherited from:
- MarkupHandler
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag
| xmlTag1 '/' '>'
- Inherited from:
- MarkupParser
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.
- 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
- 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.
- Inherited from:
- TokenTests
See [5] of XML 1.0 specification.
Name ::= ( Letter | '_' ) (NameChar)*
See [5] of XML 1.0 specification.
- 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.
- 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
- 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.
- Inherited from:
- TokenTests
this method tells ch to get the next character when next called
this method tells ch to get the next character when next called
- Inherited from:
- MarkupParser
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 ... >
- Inherited from:
- MarkupParser
append Unicode character to name buffer
append Unicode character to name buffer
- Inherited from:
- MarkupParser
Apply a function and return the passed value
Apply a function and return the passed value
- Inherited from:
- MarkupParserCommon
Execute body with a variable saved and restored after execution
Execute body with a variable saved and restored after execution
- Inherited from:
- MarkupParserCommon
attribute value, terminated by either ' or ". value may not contain <.
attribute value, terminated by either ' or ". value may not contain <.
AttValue ::= `'` { _ } `'`
| `"` { _ } `"`
- Inherited from:
- MarkupParser
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"
- Inherited from:
- MarkupParserCommon
parse attribute and create namespace scope, metadata
parse attribute and create namespace scope, metadata
[41] Attributes ::= { S Name Eq AttValue }
- 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]
- Inherited from:
- MarkupParserCommon
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
- Inherited from:
- MarkupParserCommon
entity value, terminated by either ' or ". value may not contain <.
entity value, terminated by either ' or ". value may not contain <.
AttValue ::= `'` { _ } `'`
| `"` { _ } `"`
- 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 ':'
- Inherited from:
- MarkupParserCommon
'' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
'' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
see [15]
- Inherited from:
- MarkupParserCommon
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
- Inherited from:
- MarkupParserCommon
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]
- Inherited from:
- MarkupParserCommon
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.
- Inherited from:
- MarkupParserCommon
Inherited fields
returns true is this markup handler is validating
returns true is this markup handler is validating
- Inherited from:
- MarkupHandler
holds the position in the source file
holds the position in the source file
- Inherited from:
- MarkupParser