atom/content.go

32 lines
638 B
Go

package atom
const (
InlineText = iota
InlineXHTML
InlineOther
OutOfLine
)
type Content interface {
isContent() bool
hasSRC() bool
getType() string
Check() error
}
// NewContent creates a new Content. It returns a Content and an error.
func NewContent(contentType int, mediaType string, content any) Content {
switch contentType {
case 0:
return newInlineTextContent(mediaType, content.(string))
case 1:
return newInlineXHTMLContent(mediaType, content.(*XHTMLDiv))
case 2:
return newInlineOtherContent(mediaType, content)
case 3:
return newOutOfLineContent(mediaType, content.(string))
default:
return nil
}
}