scansion/xml.lua

changeset 97
bc4c2d9765f1
parent 0
2e31b584f8d9
--- 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;
 };

mercurial