First implementation of an atom feed

This commit is contained in:
2024-10-13 17:19:40 +02:00
parent 520c2de196
commit 92c794d070
23 changed files with 805 additions and 0 deletions

30
category.go Normal file
View File

@@ -0,0 +1,30 @@
package atomfeed
import (
"errors"
"fmt"
)
type Category struct {
*CommonAttributes
Content *Content `xml:"content"`
Term string `xml:"term,attr"`
Scheme URI `xml:"scheme,attr,omitempty"`
Label string `xml:"label,attr,omitempty"`
}
func (c *Category) Check() error {
if c.Term == "" {
return errors.New("term attribute of category empty")
}
if c.Content == nil {
return errors.New("no content element of category")
} else {
if err := (*c.Content).Check(); err != nil {
return fmt.Errorf("content element of category: %v", err)
}
}
return nil
}