HTML5 では<meta>
本文にタグを表示できますが、Enlive はこれをサポートしていないようです:
(deftest test-enlive
(testing "enlive"
(let [html-as-string "<!DOCTYPE html><html lang=\"en\"><body><div><meta foo=\"bar\"><span>the content</span></body></html>"
parsed-html (enlive/html-resource (java.io.StringReader. html-as-string))
span (enlive/select parsed-html [ :div :span ])
content (first (map enlive/text span))]
(is (= "the content" content)))))
このテストは失敗しますが、メタ タグを削除すると成功します。
この古いスレッドにより、問題を引き起こしているのはメタ タグであることがわかりました。
Enlive は Tagsoup に依存していることに気付きましたが、JSoup (HTML5 をサポートすると主張している) に切り替えると、同じ結果が得られます。