Diff

util/datamapper.lua @ 11468:348b191cd850

util.datamapper: Complete array building support
author Kim Alvefur <zash@zash.se>
date Sat, 20 Mar 2021 21:29:51 +0100
parent 11467:88792dd2bee9
child 11470:5ebad952ebf7
line wrap: on
line diff
--- a/util/datamapper.lua	Sat Mar 20 21:25:45 2021 +0100
+++ b/util/datamapper.lua	Sat Mar 20 21:29:51 2021 +0100
@@ -290,18 +290,9 @@
 		return out
 
 	elseif schema.type == "array" then
-		local proptype, value_where, name, namespace = unpack_propschema(schema.items, current_name, current_ns)
-
-		if proptype == "string" then
-			for _, item in ipairs(t) do
-				if value_where == "in_text_tag" then
-					out:text_tag(name, item, {xmlns = namespace});
-				else
-					error("NYI")
-				end
-			end
-		else
-			error("NYI")
+		local proptype, value_where, name, namespace, prefix, single_attribute = unpack_propschema(schema.items, current_name, current_ns)
+		for _, item in ipairs(t) do
+			unparse_property(out, item, proptype, schema.items, value_where, name, namespace, current_ns, prefix, single_attribute)
 		end
 		return out
 	end