diff --git a/xhtmlDiv.go b/xhtmlDiv.go
new file mode 100644
index 0000000..f0224b9
--- /dev/null
+++ b/xhtmlDiv.go
@@ -0,0 +1,30 @@
+package atom
+
+import (
+ "encoding/xml"
+ "errors"
+)
+
+type XHTMLDiv struct {
+ XMLName xml.Name `xml:"div"`
+ XMLNS string `xml:"xmlns,attr"`
+ Content string `xml:",innerxml"`
+}
+
+// NewXHTMLDiv creates a new XHTMLDiv. It returns a *XHTMLDiv.
+func NewXHTMLDiv(content string) *XHTMLDiv {
+ return &XHTMLDiv{
+ XMLNS: "http://www.w3.org/1999/xhtml",
+ Content: content,
+ }
+}
+
+// Check checks the XHTMLDiv for incompatibilities with RFC4287. It returns an
+// error.
+func (x *XHTMLDiv) Check() error {
+ if x.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
+}
diff --git a/xhtmlText.go b/xhtmlText.go
index fd44b14..1deeeb1 100644
--- a/xhtmlText.go
+++ b/xhtmlText.go
@@ -1,16 +1,10 @@
package atom
import (
- "encoding/xml"
"errors"
+ "fmt"
)
-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
@@ -27,8 +21,8 @@ func (x *XHTMLText) Check() error {
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")
+ if err := x.XHTMLDiv.Check(); err != nil {
+ return fmt.Errorf("xhtml div element %v of xhtml text %v: %v", x.XHTMLDiv, x, err)
}
return nil