mirror of
https://github.com/golang/go
synced 2024-11-12 08:10:21 -07:00
xml: Fixed CDATA parsing.
Fixes #128. R=r, rsc https://golang.org/cl/154126
This commit is contained in:
parent
14a4ece979
commit
bad9738be6
@ -497,11 +497,11 @@ func (p *Parser) RawToken() (Token, os.Error) {
|
||||
|
||||
case '[': // <![
|
||||
// Probably <![CDATA[.
|
||||
for i := 0; i < 7; i++ {
|
||||
for i := 0; i < 6; i++ {
|
||||
if b, ok = p.getc(); !ok {
|
||||
return nil, p.err
|
||||
}
|
||||
if b != "[CDATA["[i] {
|
||||
if b != "CDATA["[i] {
|
||||
p.err = SyntaxError("invalid <![ sequence");
|
||||
return nil, p.err;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ const testInput = `
|
||||
<inner/>
|
||||
</outer>
|
||||
<tag:name>
|
||||
Some text here.
|
||||
<![CDATA[Some text here.]]>
|
||||
</tag:name>
|
||||
</body><!-- missing final newline -->`
|
||||
|
||||
@ -52,7 +52,9 @@ var rawTokens = []Token{
|
||||
EndElement{Name{"", "outer"}},
|
||||
CharData(strings.Bytes("\n ")),
|
||||
StartElement{Name{"tag", "name"}, nil},
|
||||
CharData(strings.Bytes("\n Some text here.\n ")),
|
||||
CharData(strings.Bytes("\n ")),
|
||||
CharData(strings.Bytes("Some text here.")),
|
||||
CharData(strings.Bytes("\n ")),
|
||||
EndElement{Name{"tag", "name"}},
|
||||
CharData(strings.Bytes("\n")),
|
||||
EndElement{Name{"", "body"}},
|
||||
@ -83,7 +85,9 @@ var cookedTokens = []Token{
|
||||
EndElement{Name{"ns2", "outer"}},
|
||||
CharData(strings.Bytes("\n ")),
|
||||
StartElement{Name{"ns3", "name"}, nil},
|
||||
CharData(strings.Bytes("\n Some text here.\n ")),
|
||||
CharData(strings.Bytes("\n ")),
|
||||
CharData(strings.Bytes("Some text here.")),
|
||||
CharData(strings.Bytes("\n ")),
|
||||
EndElement{Name{"ns3", "name"}},
|
||||
CharData(strings.Bytes("\n")),
|
||||
EndElement{Name{"ns2", "body"}},
|
||||
|
Loading…
Reference in New Issue
Block a user