package atomfeed import ( "fmt" "html" ) type Text interface { Check() error IsText() bool } func NewText(textType, content string) (Text, error) { switch textType { case "text": return &PlainText{Type: textType, Text: content}, nil case "html": return &PlainText{Type: textType, Text: html.EscapeString(content)}, nil case "xhtml": return &XHTMLText{Type: textType, XHTMLDiv: content}, nil case "": return &PlainText{Type: "text", Text: content}, nil default: return nil, fmt.Errorf("%v is not a valid text type", textType) } }