mirror of
				https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
				synced 2025-10-31 18:05:30 +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
 | |
| 	Type() 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
 | |
| }
 | 
