func (ap *additionalProperties) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
	tokName := ""
	for t, err := d.Token(); err == nil; t, err = d.Token() {
		switch tt := t.(type) {
		case xml.StartElement:
			tokName = strings.ToLower(tt.Name.Local)
			break
		case xml.CharData:
			if tokName == "" {
				continue
			}
			if *ap == nil {
				*ap = additionalProperties{}
			}
			s := string(tt)
			(*ap)[tokName] = &s
			tokName = ""
			break
		}
	}
	return nil
}
UnmarshalXML implements the xml.Unmarshaler interface for additionalProperties.
package xmlgroup
import (
	"encoding/xml"
	"strings"
)
type additionalProperties map[string]*string