Software /
code /
prosody-modules
Diff
mod_rest/jsonmap.lib.lua @ 3856:8bdb1729529b
mod_rest: Make XHTML-IM mapping more convenient
Avoid burdening web developers with XML namespace attribute
Might be a bit fragile
Note that the <body> element must be included
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 25 Jan 2020 00:46:09 +0100 |
parent | 3855:0e1e900577c4 |
child | 3859:da3a0f055526 |
line wrap: on
line diff
--- a/mod_rest/jsonmap.lib.lua Sat Jan 25 00:43:28 2020 +0100 +++ b/mod_rest/jsonmap.lib.lua Sat Jan 25 00:46:09 2020 +0100 @@ -25,15 +25,14 @@ join = {"bool_tag", "http://jabber.org/protocol/muc", "x"}, -- XEP-0071 - -- FIXME xmlns is awkward html = { "func", "http://jabber.org/protocol/xhtml-im", "html", function (s) --> json string - return tostring(s:get_child("body", "http://www.w3.org/1999/xhtml")); + return (tostring(s:get_child("body", "http://www.w3.org/1999/xhtml")):gsub(" xmlns='[^']*'","", 1)); end; function (s) --> xml if type(s) == "string" then - return xml.parse([[<html xmlns='http://jabber.org/protocol/xhtml-im'>]]..s..[[</html>]]); + return assert(xml.parse([[<x:html xmlns:x='http://jabber.org/protocol/xhtml-im' xmlns='http://www.w3.org/1999/xhtml'>]]..s..[[</x:html>]])); end end; };