mirror of
https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
synced 2025-10-28 16:45:32 +00:00
33 lines
587 B
Go
33 lines
587 B
Go
package xmlprovider
|
|
|
|
import "fmt"
|
|
|
|
type IXMLItem interface {
|
|
fmt.Stringer
|
|
// INFO:
|
|
// - Keys should be unique
|
|
// - Keys[0] has the special meaning of the primary key (for FTS etc.)
|
|
Keys() []string
|
|
Name() string
|
|
}
|
|
|
|
type ILibrary interface {
|
|
Parse(meta ParseMeta) error
|
|
}
|
|
|
|
type ResolvingMap[T IXMLItem] map[string][]Resolved[T]
|
|
|
|
type ReferenceResolver[T IXMLItem] interface {
|
|
References() ResolvingMap[T]
|
|
}
|
|
|
|
type Resolved[T IXMLItem] struct {
|
|
Item *T
|
|
Reference string
|
|
Category string
|
|
Cert bool
|
|
Conjecture bool
|
|
Comment string
|
|
MetaData map[string]string
|
|
}
|