• Russ Cox's avatar
    encoding/xml: restore Go 1.4 name space behavior · c0d6d332
    Russ Cox authored
    There is clearly work to do here with respect to xml name spaces,
    but I don't believe the changes in this cycle are clearly correct.
    The changes in this cycle have visible impact on the generated xml,
    possibly breaking existing programs, and yet it's not clear that they
    are the end of the story: there is still significant confusion about how
    name spaces work or should work (see #9519, #9775, #8167, #7113).
    
    I would like to wait to make breaking changes until we completely
    understand what the behavior should be and can evaluate the benefit
    of those breaking changes. My main concern here is that we will break
    programs in Go 1.5 for the sake of name space adjustments and then
    while trying to fix those other bugs we'll break programs in Go 1.6 too.
    Let's wait until we know all the changes we want to make before we
    decide whether or how to break existing programs.
    
    This CL reverts:
    
    5ae822ba encoding/xml: minor changes
    bb7e6656 encoding/xml: fix xmlns= behavior
    9f9d66d3 encoding/xml: fix default namespace of tags
    b69ea018 encoding/xml: fix namespaces in a>b tags
    3be158d6 encoding/xml: encoding name spaces correctly
    
    and adjusts tests from
    
    a9dddb53 encoding/xml: add more EncodeToken tests.
    
    to expect Go 1.4 behavior.
    
    I have confirmed that the name space parts of the test suite
    as of this CL passes against the Go 1.4 encoding/xml package,
    indicating that this CL successfully restores the Go 1.4 behavior.
    
    (Other tests do not, but that's because there were some real
    bug fixes in this cycle that are being kept. Specifically, the
    tests that don't pass in Go 1.4 are TestMarshal's NestedAndComment
    case, TestEncodeToken's encoding of newlines, and
    TestSimpleUseOfEncodeToken returning an error for invalid
    token types.)
    
    I also checked that the Go 1.4 tests pass when run against
    this copy of the sources.
    
    Fixes #11841.
    
    Change-Id: I97de06761038b40388ef6e3a55547ff43edee7cb
    Reviewed-on: https://go-review.googlesource.com/12570Reviewed-by: 's avatarNigel Tao <nigeltao@golang.org>
    c0d6d332
marshal_test.go 44 KB