Files
kgpz_web/xmlmodels/agents.go
2025-02-17 21:42:20 +01:00

50 lines
827 B
Go

package xmlmodels
import (
"encoding/json"
"encoding/xml"
"strings"
)
const (
AGENT_TYPE = "agent"
)
type Agent struct {
XMLName xml.Name `xml:"akteur"`
Names []string `xml:"name"`
SortName string `xml:"sortiername"`
Life string `xml:"lebensdaten"`
GND string `xml:"gnd"`
Org bool `xml:"org,attr"`
Identifier
AnnotationNote
}
func (a Agent) Name() string {
return "agent"
}
func (a Agent) String() string {
data, _ := json.MarshalIndent(a, "", " ")
return string(data)
}
func (a Agent) Readable(_ *Library) map[string]interface{} {
ret := map[string]interface{}{
"ID": a.ID,
"Names": strings.Join(a.Names, "; "),
"Life": a.Life,
}
for k, v := range a.AnnotationNote.Readable() {
ret[k] = v
}
return ret
}
func (a Agent) Type() string {
return AGENT_TYPE
}