mirror of https://github.com/golang/go.git
Revert "encoding/xml: disallow empty namespace when prefix is set"
This reverts CL 105636. Reason for revert: Fails with existing XML data. At this stage in the release cycle we should revert, and try again next time with some way to support existing XML. For #8068 Change-Id: Ia84cbf3a84878ac7190f72998545dee22c36c45e Reviewed-on: https://go-review.googlesource.com/c/go/+/453996 Auto-Submit: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
53c480077a
commit
483f3dc39f
|
|
@ -302,10 +302,6 @@ func (d *Decoder) Token() (Token, error) {
|
|||
// the translations first.
|
||||
for _, a := range t1.Attr {
|
||||
if a.Name.Space == xmlnsPrefix {
|
||||
if a.Value == "" {
|
||||
d.err = d.syntaxError("empty namespace with prefix")
|
||||
return nil, d.err
|
||||
}
|
||||
v, ok := d.ns[a.Name.Local]
|
||||
d.pushNs(a.Name.Local, v, ok)
|
||||
d.ns[a.Name.Local] = a.Value
|
||||
|
|
|
|||
|
|
@ -916,35 +916,6 @@ func TestIssue5880(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestIssue8068(t *testing.T) {
|
||||
emptyError := SyntaxError{}
|
||||
noError := emptyError.Error()
|
||||
testCases := []struct {
|
||||
s string
|
||||
wantErr SyntaxError
|
||||
}{
|
||||
{`<foo xmlns:bar="a"></foo>`, SyntaxError{}},
|
||||
{`<foo xmlns:bar=""></foo>`, SyntaxError{Msg: "empty namespace with prefix", Line: 1}},
|
||||
{`<foo xmlns:="a"></foo>`, SyntaxError{}},
|
||||
{`<foo xmlns:""></foo>`, SyntaxError{Msg: "attribute name without = in element", Line: 1}},
|
||||
{`<foo xmlns:"a"></foo>`, SyntaxError{Msg: "attribute name without = in element", Line: 1}},
|
||||
}
|
||||
var dest string
|
||||
for _, tc := range testCases {
|
||||
if got, want := Unmarshal([]byte(tc.s), &dest), tc.wantErr.Error(); got == nil {
|
||||
if want != noError {
|
||||
t.Errorf("%q: got nil, want %s", tc.s, want)
|
||||
}
|
||||
} else {
|
||||
if want == "" {
|
||||
t.Errorf("%q: got %s, want nil", tc.s, got)
|
||||
} else if got.Error() != want {
|
||||
t.Errorf("%q: got %s, want %s", tc.s, got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestIssue8535(t *testing.T) {
|
||||
|
||||
type ExampleConflict struct {
|
||||
|
|
|
|||
Loading…
Reference in New Issue