package atom import ( "encoding/xml" "errors" ) type XHTMLDiv struct { XMLName xml.Name `xml:"div"` XMLNS string `xml:"xmlns,attr"` Content string `xml:",innerxml"` } type XHTMLText struct { *CommonAttributes Type string `xml:"type,attr"` // Must be xhtml XHTMLDiv XHTMLDiv } // isText checks whether the XHTMLText is a Text. It returns a bool. func (x *XHTMLText) isText() bool { return true } // Check checks the XHTMLText for incompatibilities with RFC4287. It returns an // error. func (x *XHTMLText) Check() error { if x.Type != "xhtml" { return errors.New("type attribute of xhtml text must be xhtml") } if x.XHTMLDiv.XMLNS != "http://www.w3.org/1999/xhtml" { return errors.New("xmlns attribute of xhtml text must be http://www.w3.org/1999/xhtml") } return nil }