aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/xml
diff options
context:
space:
mode:
authorLeigh McCulloch <leighmcc@gmail.com>2017-11-07 05:33:35 +0000
committerIan Lance Taylor <iant@golang.org>2017-11-08 18:05:39 +0000
commit65a864a628cb9ab767fb973d82ed979d6046f4f2 (patch)
treee5ca756a77fe256d4db58149932a2ce4a8436b0f /src/encoding/xml
parent1125fae989a3016d509c23fee15793b231e5e8e1 (diff)
downloadgo-65a864a628cb9ab767fb973d82ed979d6046f4f2.tar.gz
go-65a864a628cb9ab767fb973d82ed979d6046f4f2.zip
encoding/xml: add Marshal doc about name conflicts
The docs for xml.Marshal state that the XML elements name is derived from one of five locations in a specific order of precedence, but does not mention that if the field is a struct type and has its name defined in a tag and in the types XMLName field that an error will occur. This is documented in the structFieldInfo function but not in the function documentation, and the existing docs in Marshal are misleading without this behavior being discussed. Fixes #18564 Change-Id: I29042f124a534bd1bc993f1baeddaa0af2e72fed Reviewed-on: https://go-review.googlesource.com/76321 Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/encoding/xml')
-rw-r--r--src/encoding/xml/marshal.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/encoding/xml/marshal.go b/src/encoding/xml/marshal.go
index 42133a75ab..37b0dcb3c9 100644
--- a/src/encoding/xml/marshal.go
+++ b/src/encoding/xml/marshal.go
@@ -67,6 +67,9 @@ const (
// parent elements a and b. Fields that appear next to each other that name
// the same parent will be enclosed in one XML element.
//
+// If the XML name for a struct field is defined by both the field tag and the
+// struct's XMLName field, the names must match.
+//
// See MarshalIndent for an example.
//
// Marshal will return an error if asked to marshal a channel, function, or map.