func (s {{.Node.Name}}) {{.Field.Name|title}}() (string, error) {
	{{template "_checktag" . -}}
	p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
	{{with .Default -}}
	return p.TextDefault({{printf "%q" .}}), err
	{{- else -}}
	return p.Text(), err
	{{- end}}
}

{{template "_hasfield" .}}

func (s {{.Node.Name}}) {{.Field.Name|title}}Bytes() ([]byte, error) {
	p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
	{{with .Default -}}
	return p.TextBytesDefault({{printf "%q" .}}), err
	{{- else -}}
	return p.TextBytes(), err
	{{- end}}
}

func (s {{.Node.Name}}) Set{{.Field.Name|title}}(v string) error {
	{{template "_settag" . -}}
	{{if .Default -}}
	return s.Struct.SetNewText({{.Field.Slot.Offset}}, v)
	{{- else -}}
	return s.Struct.SetText({{.Field.Slot.Offset}}, v)
	{{- end}}
}

