code: func (p *printer) marshalTextInterface(val encoding.TextMarshaler, start StartElement) error {
  	if err := p.writeStart(&start); err != nil {
  		return err
  	}
  	text, err := val.MarshalText()
  	if err != nil {
  		return err
  	}
  	EscapeText(p, text)
  	return p.writeEnd(start.Name)
  }
docs: // marshalTextInterface marshals a TextMarshaler interface value.