--- a/scansion/xml.lua Tue Jul 10 11:15:04 2018 +0100 +++ b/scansion/xml.lua Thu Sep 06 18:11:16 2018 +0100 @@ -4,9 +4,12 @@ local _ENV = nil; +local xmlns_scansion = "http://prosody.im/scansion"; + local parse_xml = (function() local ns_prefixes = { ["http://www.w3.org/XML/1998/namespace"] = "xml"; + [xmlns_scansion] = "scansion"; }; local ns_separator = "\1"; local ns_pattern = "^([^"..ns_separator.."]*)"..ns_separator.."?(.*)$"; @@ -43,11 +46,11 @@ stanza:up(); end local parser = lxp.new(handler, "\1"); - local ok, err, line, col = parser:parse(xml); + local ok, err, line, col = parser:parse("<scansion xmlns:scansion='"..xmlns_scansion.."'>"..xml.."</scansion>"); if ok then ok, err, line, col = parser:parse(); end --parser:close(); if ok then - return stanza.tags[1]; + return stanza.tags[1].tags[1]; else return ok, err.." (line "..line..", col "..col..")"; end @@ -56,4 +59,5 @@ return { parse = parse_xml; + xmlns_scansion = xmlns_scansion; };