大元素的XML结束标记(Golang)

Is there some type of special encoding behaviour that happens to the closing tag of an element that is really large?

I have a Golang function (simplified) like this:

xmlDec := xml.NewReader(xmlFile)
if tok, err := xmlDec.Token(); err != nil {
    switch case := tok.(type) {
    case xml.StartElement:
    //do things
    case xml.CharData:
    //do things
    case xml.EndElement:
    //do things
    default:
    //do things
    }
}

For xml files of with "reasonably" sized text elements, it does what it's supposed to do. However, if I encounter something like this:

<?xml version="1.0" encoding="UTF-8"?>
<gml:LinearRing>
<gml:coordinates decimal="." cs="," ts=" ">1,1 1,2 1,3 (continues for hundreds of points)</gml:coordinates>
</gml:LinearRing>

The golang xml decoder won't recognize the closing </gml:LinearRing> tag as an EndElement. Of course, this is reproducable on any element type not just gml. Is this a known issue with Golang's xml decoder or perhaps some t? I have noticed that on Vim, if a xml file has a really long element text, Vim seems to not recognize it as a closing tag, color-coding wise.