aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/xml
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2022-11-29 19:37:10 +0000
committerGopher Robot <gobot@golang.org>2022-11-29 22:25:08 +0000
commit483f3dc39fb187dadd28a0d06a92084a207715b3 (patch)
treee1fd328924d8871879863b5ab3e881cf01dd8c3b /src/encoding/xml
parent53c480077ab6729e64a4129162664adb70b18c62 (diff)
downloadgo-483f3dc39fb187dadd28a0d06a92084a207715b3.tar.xz
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>
Diffstat (limited to 'src/encoding/xml')
-rw-r--r--src/encoding/xml/xml.go4
-rw-r--r--src/encoding/xml/xml_test.go29
2 files changed, 0 insertions, 33 deletions
diff --git a/src/encoding/xml/xml.go b/src/encoding/xml/xml.go
index 9df556a136..1f3084e5ca 100644
--- a/src/encoding/xml/xml.go
+++ b/src/encoding/xml/xml.go
@@ -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
diff --git a/src/encoding/xml/xml_test.go b/src/encoding/xml/xml_test.go
index df25812521..30fb94da6d 100644
--- a/src/encoding/xml/xml_test.go
+++ b/src/encoding/xml/xml_test.go
@@ -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 {