mirror of
https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
synced 2025-10-28 16:45:32 +00:00
50 lines
827 B
Go
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
|
|
}
|