<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nb">
	<id>https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInfoboks_lua</id>
	<title>Modul:Infoboks lua - Sideversjonshistorikk</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInfoboks_lua"/>
	<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=Modul:Infoboks_lua&amp;action=history"/>
	<updated>2026-04-13T02:37:41Z</updated>
	<subtitle>Versjonshistorikk for denne siden på wikien</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.wikisida.no/index.php?title=Modul:Infoboks_lua&amp;diff=1895&amp;oldid=prev</id>
		<title>Wikisida: Én sideversjon ble importert</title>
		<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=Modul:Infoboks_lua&amp;diff=1895&amp;oldid=prev"/>
		<updated>2026-02-08T15:18:54Z</updated>

		<summary type="html">&lt;p&gt;Én sideversjon ble importert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;nb&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Eldre sideversjon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Sideversjonen fra 8. feb. 2026 kl. 15:18&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;nb&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskjell)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key c1wiki:diff:1.41:old-1894:rev-1895 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wikisida</name></author>
	</entry>
	<entry>
		<id>https://www.wikisida.no/index.php?title=Modul:Infoboks_lua&amp;diff=1894&amp;oldid=prev</id>
		<title>nb&gt;Haros på 23. sep. 2025 kl. 12:37</title>
		<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=Modul:Infoboks_lua&amp;diff=1894&amp;oldid=prev"/>
		<updated>2025-09-23T12:37:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local wikidataListe = require( &amp;#039;Module:WikidataListe&amp;#039; )&lt;br /&gt;
local wdbilde = require( &amp;#039;Modul:WikidataBilde&amp;#039;)&lt;br /&gt;
local Mapframe = require( &amp;#039;Modul:Mapframe&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function dump(item)&lt;br /&gt;
	return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. mw.text.jsonEncode(item, mw.text.JSON_PRETTY) .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getOkStatements(pid,qid)&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
	if not entity then&lt;br /&gt;
		return {}&lt;br /&gt;
	end&lt;br /&gt;
	local claims =  entity:getAllStatements(pid)&lt;br /&gt;
	local tbl = {}&lt;br /&gt;
	for i,claim in ipairs(claims) do&lt;br /&gt;
		if claim.rank == &amp;quot;normal&amp;quot; or claim.rank == &amp;quot;preferred&amp;quot; then&lt;br /&gt;
			table.insert(tbl,claim)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
function qualifierCurrent(quals)&lt;br /&gt;
	if not quals then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	local sluttid = &amp;quot;P582&amp;quot;&lt;br /&gt;
	local qv = quals[sluttid]&lt;br /&gt;
	if qv then&lt;br /&gt;
		return false --  foreklet test på om avsluttet, avslutningstidspunkt kan være i fremtid.&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getCurrentOkStatements(pid,qid)&lt;br /&gt;
	local claims =  getOkStatements(pid,qid)&lt;br /&gt;
	local tbl = {}&lt;br /&gt;
	for i,claim in ipairs(claims) do&lt;br /&gt;
		if qualifierCurrent(claim.qualifiers) then&lt;br /&gt;
			table.insert(tbl,claim)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
function overskrift(tekst)&lt;br /&gt;
	local txt = &amp;#039;&amp;lt;tr class=&amp;quot;hode overskrift&amp;quot;&amp;gt;&amp;lt;th colspan=&amp;quot;4&amp;quot;&amp;gt;&amp;#039; .. tekst .. &amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._overskrift(tekst)&lt;br /&gt;
	return overskrift(tekst)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._ibxStart(type,stor,navn,navn2)&lt;br /&gt;
	local txt0a = &amp;#039;&amp;lt;table class=&amp;quot;infobox infoboks &amp;#039;&lt;br /&gt;
	local txt0b = type .. &amp;quot; &amp;quot; .. stor .. &amp;quot; &amp;quot;  ..&amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	-- .. &amp;quot; &amp;quot; .. class &lt;br /&gt;
	local txt0d = &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
	local txt1 = &amp;#039;&amp;#039;&lt;br /&gt;
	if navn and navn ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		txt1 = &amp;#039;&amp;lt;tr valign=&amp;quot;top&amp;quot; class=&amp;quot;hode&amp;quot;&amp;gt;&amp;lt;th colspan=&amp;quot;4&amp;quot;&amp;gt;&amp;#039; .. navn .. &amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local txt2 = &amp;#039;&amp;lt;tr class=&amp;quot;hode overskrift&amp;quot;&amp;gt;&amp;lt;th colspan=&amp;quot;4&amp;quot;&amp;gt;&amp;#039; .. navn2 .. &amp;#039;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
	return txt0a .. txt0b .. txt0d .. txt1 .. txt2&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._ibxSlutt(comcat,endcomment)&lt;br /&gt;
	return &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._ibxArgStart(args,navn)&lt;br /&gt;
	local typ = args[&amp;quot;type&amp;quot;] or &amp;quot;biografi&amp;quot;&lt;br /&gt;
	local stor = args[&amp;quot;stor&amp;quot;] or &amp;quot;bred&amp;quot;&lt;br /&gt;
	local navn2 = args[&amp;quot;navn2&amp;quot;] or nil&lt;br /&gt;
	if not navn then&lt;br /&gt;
		navn = &amp;quot;navn&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not navn2 then&lt;br /&gt;
		navn2 = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local value = p._ibxStart(typ, stor, navn, navn2)&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ibxStart(frame)&lt;br /&gt;
	local args = frame.args or {}&lt;br /&gt;
	local navn = args[&amp;quot;navn&amp;quot;] or nil&lt;br /&gt;
	local navn2 = args[&amp;quot;navn2&amp;quot;] or nil&lt;br /&gt;
	if not navn then&lt;br /&gt;
		navn = getname(frame)&lt;br /&gt;
	end&lt;br /&gt;
	local value = p._ibxArgStart(args,navn) --typ, stor, navn, navn2)&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ibxSlutt(frame)&lt;br /&gt;
	return p._ibxSlutt()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getname(frame)&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	return navn&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getlink(id)&lt;br /&gt;
	local text = mw.wikibase.label(id) or id&lt;br /&gt;
	local link = mw.wikibase.sitelink(id)&lt;br /&gt;
	if text and link then&lt;br /&gt;
		text = &amp;quot;[[&amp;quot; .. link .. &amp;quot;|&amp;quot; .. text .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.arbeidsdata()&lt;br /&gt;
	local data = {&lt;br /&gt;
		-- to lister som vil inneholde data for å utelate disse fra å bli brukt fremover&lt;br /&gt;
		[&amp;quot;props&amp;quot;] = { }, -- wikidataegenskaper som ikke skal benyttes.&lt;br /&gt;
		[&amp;quot;params&amp;quot;] = { }, -- parametre for argumenter fra artiklen som ikke skal benyttes.&lt;br /&gt;
	}&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ikkebruk(data,props,params)&lt;br /&gt;
	if not data then&lt;br /&gt;
		data = p.arbeidsdata()&lt;br /&gt;
	end&lt;br /&gt;
	if props then&lt;br /&gt;
		for i,prop in ipairs(props) do&lt;br /&gt;
			data.props[prop] = prop&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if params then&lt;br /&gt;
		for i,param in ipairs(params) do&lt;br /&gt;
			data.params[param] = param&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- legg til parametre og/eller egenskaper gitt som kommaseparerte lister&lt;br /&gt;
function p.ikkebruk(data,propslist,paramslist)&lt;br /&gt;
	local props = nil&lt;br /&gt;
	if propslist then&lt;br /&gt;
		props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	end&lt;br /&gt;
	local params = nil&lt;br /&gt;
	if paramslist then&lt;br /&gt;
		params = mw.text.split( paramslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	end&lt;br /&gt;
	return ikkebruk(data,props,params)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ubrukte(frame,data,res)&lt;br /&gt;
	local lang = mw.language.getContentLanguage()&lt;br /&gt;
	local txt = &amp;quot;&amp;quot;&lt;br /&gt;
    local frameargs = frame:getParent().args&lt;br /&gt;
    for param,val in pairs( frameargs ) do&lt;br /&gt;
    	if not data or not data.params[param] then&lt;br /&gt;
    		local displayName = lang:ucfirst(param)&lt;br /&gt;
    		local val = wikidataListe._rad2(frame,nil,nil,param,nil,nil,displayName,nil,nil)&lt;br /&gt;
    		if val and val ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    			table.insert(res, val)&lt;br /&gt;
    		end&lt;br /&gt;
    	end&lt;br /&gt;
	end&lt;br /&gt;
	if #res &amp;gt; 0 then&lt;br /&gt;
	--	txt = table.concat(res, &amp;quot;\n&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function proptest(props)&lt;br /&gt;
	for idx,claim in ipairs(props) do&lt;br /&gt;
		if claim.rank == &amp;#039;preferred&amp;#039; or claim.rank == &amp;#039;normal&amp;#039; then&lt;br /&gt;
			local snak = claim.mainsnak&lt;br /&gt;
			if snak.snaktype == &amp;quot;value&amp;quot; and snak.datatype ~= &amp;quot;external-id&amp;quot; then&lt;br /&gt;
				return props&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function allProps(entity,datatype)&lt;br /&gt;
	local retvals = {}&lt;br /&gt;
	if entity.claims  then&lt;br /&gt;
		for propid,props in pairs(entity.claims) do&lt;br /&gt;
			if proptest(props) then&lt;br /&gt;
			if true then&lt;br /&gt;
--				return propid&lt;br /&gt;
			end&lt;br /&gt;
			--if props[propid][1].mainsnak then&lt;br /&gt;
				table.insert(retvals,propid)&lt;br /&gt;
		--	end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return retvals&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function wdAllProps(qid)&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
	local allprops = allProps(entity,datatype)&lt;br /&gt;
	return allprops&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function lagRad(verdi,displayName)&lt;br /&gt;
 	return &amp;#039;&amp;lt;tr class=&amp;quot;rad&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
			&amp;#039;&amp;lt;th colspan=&amp;quot;2&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;&amp;#039; ..  displayName .. &amp;#039;&amp;lt;/th&amp;gt;&amp;#039; ..&lt;br /&gt;
			&amp;#039;&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;#039; .. verdi .. &amp;#039;&amp;lt;/td&amp;gt;&amp;#039; ..&lt;br /&gt;
		&amp;#039;&amp;lt;/tr&amp;gt;&amp;#039; -- lagRad(verdi,displayName)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function innhold(frame,qid,prop,propName)&lt;br /&gt;
	local snak = claim.mainsnak&lt;br /&gt;
	local datatype = snak.datatype&lt;br /&gt;
	if datatype == &amp;#039;commonsMedia&amp;#039; then&lt;br /&gt;
	else&lt;br /&gt;
		wikidataListe._rad2(frame,qid,prop,&amp;quot;nil&amp;quot;,nil,nil,displayName,nil,nil)&lt;br /&gt;
&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function wdEgenskap(frame,qid,data,res,props)&lt;br /&gt;
	local lang = mw.language.getContentLanguage()&lt;br /&gt;
	for ix,prop in ipairs( props ) do&lt;br /&gt;
		-- kvikkfiks for å få bilder til å se litt penere ut for P18 (bilde)&lt;br /&gt;
		if prop == &amp;quot;P18&amp;quot; then&lt;br /&gt;
			local val =&lt;br /&gt;
				wdbilde._bildeOgTekst(qid, prop, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;bildestørrelse&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)				&lt;br /&gt;
			if val and val ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(res, val)&lt;br /&gt;
			end&lt;br /&gt;
			else&lt;br /&gt;
		if not data or not data.props[prop] then&lt;br /&gt;
			local proplab,langq = mw.wikibase.getLabelWithLang(prop)&lt;br /&gt;
	  		local displayName = lang:ucfirst(proplab)&lt;br /&gt;
			local val = --lagRad(prop,displayName) --prop --&lt;br /&gt;
			wikidataListe._rad2(frame,qid,prop,&amp;quot;nil&amp;quot;,nil,nil,displayName,nil,nil)&lt;br /&gt;
			if val and val ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(res, val)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
			end&lt;br /&gt;
	end&lt;br /&gt;
	local txt = table.concat(res,  &amp;quot;\n&amp;quot;)&lt;br /&gt;
	return txt,data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function wdEgenskapTabellRad(frame,qid,data,res,props)&lt;br /&gt;
	for ix,prop in ipairs( props ) do&lt;br /&gt;
		local val = wikidataListe._verdi(frame,qid,prop,&amp;quot;nil&amp;quot;,nil,nil,nil,&amp;quot;beste&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
		table.insert(res, val)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(res,  &amp;quot;\n|&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.wdEgenskap(frame,qid,data,res,propslist,dodump)&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	if true then&lt;br /&gt;
	--	return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. mw.text.jsonEncode(entity, mw.text.JSON_PRETTY) .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local props = nil&lt;br /&gt;
	if not propslist and frameargs[&amp;#039;props&amp;#039;] and frameargs[&amp;#039;props&amp;#039;] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		propslist = frameargs[&amp;#039;props&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	if propslist ==&amp;quot;all&amp;quot; or not propslist then&lt;br /&gt;
		props = wdAllProps(qid,&amp;quot;item&amp;quot;)&lt;br /&gt;
	--	return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. mw.text.jsonEncode(props, mw.text.JSON_PRETTY) .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;&lt;br /&gt;
	--	.. dump(entity)&lt;br /&gt;
	else&lt;br /&gt;
		props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	end&lt;br /&gt;
	local dumptxt = &amp;quot;&amp;quot;&lt;br /&gt;
	if dodump then &lt;br /&gt;
		dumptxt = dump(entity) &lt;br /&gt;
	end&lt;br /&gt;
	return wdEgenskap(frame,qid,data,res,props) --.. dumptxt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- for individuelle infobokser&lt;br /&gt;
function wdEgenskapBoks(frame,qid,props)&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local data = p.arbeidsdata()&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local start = p._ibxArgStart(frameargs,navn)&lt;br /&gt;
	local text = wdEgenskap(frame,qid,data,res,props)&lt;br /&gt;
	local slutt = p._ibxSlutt()&lt;br /&gt;
	return start .. text .. slutt&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- for sammenslått til en samlet infoboks&lt;br /&gt;
function wdEgenskapBoks2(frame,qid,props)&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local data = p.arbeidsdata()&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local start = overskrift(navn)&lt;br /&gt;
	local text = wdEgenskap(frame,qid,data,res,props)&lt;br /&gt;
	local slutt = &amp;quot;&amp;quot; --p._ibxSlutt()&lt;br /&gt;
	return start .. text .. slutt&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- for individuelle infobokser&lt;br /&gt;
function p.wdBrukEgenskap(frame,qid,brukprops,propslist,dodump)&lt;br /&gt;
--	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local bruk = mw.text.split( brukprops, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local claims = getOkStatements(bruk[1],qid)&lt;br /&gt;
	local props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local res = {}&lt;br /&gt;
	table.insert(res, retval)&lt;br /&gt;
	local retval = &amp;quot;&amp;quot;&lt;br /&gt;
	for i,claim in ipairs(claims) do&lt;br /&gt;
		local q = claim.mainsnak.datavalue.value.id or nil&lt;br /&gt;
		if q then&lt;br /&gt;
			retval = wdEgenskapBoks(frame,q,props)&lt;br /&gt;
			if retval and retval ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(res, retval)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local txt = table.concat(res, &amp;quot;\n&amp;quot;)&lt;br /&gt;
	return  txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- for sammenslått til en samlet infoboks&lt;br /&gt;
function p.wdBrukEgenskap2(frame,qid,brukprops,propslist,dodump)&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local bruk = mw.text.split( brukprops, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local claims = getOkStatements(bruk[1],qid)&lt;br /&gt;
	local props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local start = p._ibxArgStart(frameargs,navn)&lt;br /&gt;
	&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local retval = &amp;quot;&amp;quot;&lt;br /&gt;
	-- egen boks for hovedelementet. For nå med samme liste av egenskaper som delene.&lt;br /&gt;
	retval = wdEgenskapBoks2(frame,qid,props)&lt;br /&gt;
	if retval and retval ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		local overskr = overskrift(&amp;quot;Omfatter disse&amp;quot;)&lt;br /&gt;
		table.insert(res, retval..overskr)&lt;br /&gt;
	end&lt;br /&gt;
	local retval = &amp;quot;&amp;quot;&lt;br /&gt;
	for i,claim in ipairs(claims) do&lt;br /&gt;
		local q = claim.mainsnak.datavalue.value.id or nil&lt;br /&gt;
		if q then&lt;br /&gt;
			retval = wdEgenskapBoks2(frame,q,props)&lt;br /&gt;
			if retval and retval ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(res, retval)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local txt = table.concat(res, &amp;quot;\n&amp;quot;)&lt;br /&gt;
	return start .. txt .. p._ibxSlutt()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.wdBrukEgenskapTittel(frame,qid,brukprops,propslist,dodump)&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local bruk = mw.text.split( brukprops, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local claims = getOkStatements(bruk[1],qid)&lt;br /&gt;
	local props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local retval = &amp;quot;&amp;quot;	&lt;br /&gt;
	local res = {}&lt;br /&gt;
	table.insert(res, &amp;quot;\n!navn&amp;quot;)&lt;br /&gt;
	for i,pid in ipairs(props) do&lt;br /&gt;
		if pid then&lt;br /&gt;
			local navn = mw.wikibase.label(pid)&lt;br /&gt;
			table.insert(res, navn)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local txt = table.concat(res, &amp;quot;\n!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function idxx(claim)&lt;br /&gt;
	return claim.mainsnak.datavalue.value.id or nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function claims2ids(claims)&lt;br /&gt;
	ids = {}&lt;br /&gt;
	for i,claim in ipairs(claims) do&lt;br /&gt;
		local lqid = idxx(claim)&lt;br /&gt;
		if lqid then&lt;br /&gt;
			table.insert(ids, lqid )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ids&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function tabellRader(frame,ids,data,res2,props)&lt;br /&gt;
	local res = {}&lt;br /&gt;
	for i,id in ipairs(ids) do&lt;br /&gt;
		if id then&lt;br /&gt;
			local res2 = {}&lt;br /&gt;
			local navn = &amp;quot;\n|-\n|&amp;quot; .. getlink(id) .. &lt;br /&gt;
			 &amp;quot;\n|&amp;quot; .. wdEgenskapTabellRad(frame,id,data,res2,props, &amp;quot;\n|&amp;quot;)&lt;br /&gt;
			table.insert(res, navn )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(res, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.now()&lt;br /&gt;
	return mw.language.getContentLanguage():formatDate( &amp;#039;Y-m-d&amp;#039;, nil, true )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function filterCurrentClaims(frame,claims)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function filterClaims(frame,claims)&lt;br /&gt;
	local fclaims = {}&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local filteregenskap = parentarg(frame,&amp;#039;filter egenskap&amp;#039;) or &amp;quot;nåværende&amp;quot;&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
--[[getBrukprops&lt;br /&gt;
frame - vil peke på malen som inneholder invoke statementet. Den sidens parent vil være wikisiden&lt;br /&gt;
qid.  - hvis oppgitt det wikidata-elementet som skal brukes som basis for tabelldata.&lt;br /&gt;
&lt;br /&gt;
Metode som henter qid gitt en egenskap (eller fremtid: flere egenskaper)&lt;br /&gt;
Henter nå alle ok utsagn.&lt;br /&gt;
Fremtid: filtrering på ting som kun beste, eventuelle dato-kvalifikatorer,&lt;br /&gt;
 mulige andre kvalifikatorer gitt parametre fra wiki-siden&lt;br /&gt;
]]&lt;br /&gt;
function getBrukprops(frame,qid)&lt;br /&gt;
	ids = {}&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local brukegenskap = parentarg(frame,&amp;#039;bruk egenskap&amp;#039;)&lt;br /&gt;
	if brukegenskap then&lt;br /&gt;
		local bruk = mw.text.split( brukegenskap, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
		local claims = getOkStatements(bruk[1],qid)&lt;br /&gt;
		&lt;br /&gt;
		-- her skal fremtidige filtreringer kalles opp. mønster: claims = filter1(frame,qid,claims)&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		-- &lt;br /&gt;
		local ids = claims2ids(claims)&lt;br /&gt;
	end&lt;br /&gt;
	return ids&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getRowids(frame,qid)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local brukegenskap = parentarg(frame,&amp;#039;bruk egenskap&amp;#039;)&lt;br /&gt;
	if brukegenskap then&lt;br /&gt;
		return getBrukprops(frame,qid)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local idliste = parentarg(frame,&amp;#039;idliste&amp;#039;)&lt;br /&gt;
	if idliste then&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.wdBrukEgenskapVerdi(frame,qid,brukprops,propslist,dodump)&lt;br /&gt;
	--if true then return &amp;quot;&amp;quot; end&lt;br /&gt;
	local navn = mw.wikibase.label(qid)&lt;br /&gt;
	local ids = getRowids(frame,qid)&lt;br /&gt;
	local props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	return tabellRader(frame,ids,data,res2,props)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function brukmal(frame,mal)&lt;br /&gt;
	if not mal then return &amp;quot;&amp;quot; end&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	if mal.metode == &amp;quot;ekspander&amp;quot; then&lt;br /&gt;
		return frame:expandTemplate{ title=mal.mal, args = frameargs}&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function verdirad(frame,def,qid,lang)&lt;br /&gt;
	if not def then return &amp;quot;&amp;quot; end&lt;br /&gt;
	local param = def[&amp;quot;param&amp;quot;]&lt;br /&gt;
	local pid = def[&amp;quot;pid&amp;quot;]&lt;br /&gt;
	local ref = def[&amp;quot;ref&amp;quot;]&lt;br /&gt;
	local sprak = def[&amp;quot;sprak&amp;quot;]&lt;br /&gt;
	local displayName = def[&amp;quot;displayName&amp;quot;] or lang:ucfirst(param)&lt;br /&gt;
	local vis = nil&lt;br /&gt;
	local split = def[&amp;quot;split&amp;quot;]&lt;br /&gt;
	local txt = wikidataListe._rad2(frame,qid,pid,param,ref,sprak,displayName,vis,split)&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#invoke:WikidataBilde|bildeOgTekst|bilde={{{bilde|}}}|bildetekst ={{{bildetekst|}}}|byline={{{byline|}}}|pid=P18|qid={{{qid|}}}|bildestørrelse={{{bildestørrelse|}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
function bilderad(frame,def,qid,lang)&lt;br /&gt;
	if not def then return &amp;quot;&amp;quot; end&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local pid = def[&amp;quot;pid&amp;quot;] or nil&lt;br /&gt;
	local bilde = frameargs[def[&amp;quot;bilde&amp;quot;] or &amp;quot;bilde&amp;quot;]&lt;br /&gt;
	local bildetekst = frameargs[def[&amp;quot;bildetekst&amp;quot;]] or &amp;quot;&amp;quot;&lt;br /&gt;
	local byline = frameargs[def[&amp;quot;byline&amp;quot;]] &lt;br /&gt;
	local pix = frameargs[def[&amp;quot;bildestor&amp;quot;] or &amp;quot;bildestørrelse&amp;quot;]&lt;br /&gt;
	local overskrift = &amp;quot;&amp;quot;&lt;br /&gt;
	local alttekst = &amp;quot;&amp;quot;&lt;br /&gt;
	return wdbilde._bildeOgTekst(qid, pid, bilde, bildetekst, byline, pix, alttekst, overskrift)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#invoke:Mapframe|infoboxLocation|zoom={{{standardzoom|15}}}|width=290|vis={{{viskart|ja}}}|vis egenskap=P355,P527}}&lt;br /&gt;
&lt;br /&gt;
function kartrad(frame)&lt;br /&gt;
	return &amp;#039;&amp;lt;tr class=&amp;quot;rad&amp;quot; &amp;gt;&amp;#039; ..&lt;br /&gt;
			&amp;#039;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;center&amp;quot;&amp;gt;&amp;#039; .. Mapframe.infoboxLocation(frame) .. &amp;quot;&amp;lt;/td&amp;gt;		&amp;lt;/tr&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function overskriftgruppe(frame,def,qid,lang)&lt;br /&gt;
	if not def then return &amp;quot;&amp;quot; end&lt;br /&gt;
	local frameargs = frame:getParent().args&lt;br /&gt;
	local txt = &amp;quot;&amp;quot;&lt;br /&gt;
	if def.innhold  then&lt;br /&gt;
		txt = p._rader(frame,def.innhold)&lt;br /&gt;
	end&lt;br /&gt;
	local over = &amp;quot;&amp;quot;&lt;br /&gt;
	if def.tekst then&lt;br /&gt;
		over = overskrift(def.tekst)&lt;br /&gt;
	end&lt;br /&gt;
	if txt and txt ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return over .. txt&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._rader(frame,defs)&lt;br /&gt;
	local lang = mw.language.getContentLanguage()&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local txt = &amp;quot;&amp;quot;&lt;br /&gt;
    local qid = nil&lt;br /&gt;
    local frameargs = frame:getParent().args&lt;br /&gt;
&lt;br /&gt;
	if frameargs[&amp;#039;qid&amp;#039;] and frameargs[&amp;#039;qid&amp;#039;] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		qid = frameargs[&amp;#039;qid&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
 	for i,def in ipairs(defs) do&lt;br /&gt;
		if not def[1] or def[1] == &amp;quot;rad&amp;quot; then&lt;br /&gt;
			txt = verdirad(frame,def,qid,lang)&lt;br /&gt;
		end&lt;br /&gt;
		if def and def[1] == &amp;quot;mal&amp;quot; then&lt;br /&gt;
			txt = brukmal(frame,def)&lt;br /&gt;
		end&lt;br /&gt;
		if def and def[1] == &amp;quot;bilde&amp;quot; then&lt;br /&gt;
			txt = bilderad(frame,def,qid,lang)&lt;br /&gt;
		end&lt;br /&gt;
		if def and def[1] == &amp;quot;kart&amp;quot; then&lt;br /&gt;
			txt = kartrad(frame,def,qid,lang)&lt;br /&gt;
		end&lt;br /&gt;
		if not def[1] or def[1] == &amp;quot;overskrift&amp;quot; then&lt;br /&gt;
			txt = overskriftgruppe(frame,def,qid,lang)&lt;br /&gt;
		end&lt;br /&gt;
		if txt and txt ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			table.insert(res, txt)&lt;br /&gt;
			txt = &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
 	end&lt;br /&gt;
 	--res = ubrukte(frame,data,res)&lt;br /&gt;
	if #res &amp;gt; 0 then&lt;br /&gt;
		txt = table.concat(res, &amp;quot;\n&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p._innhold(frame,defs)&lt;br /&gt;
	local returtxt = &amp;quot;&amp;quot;&lt;br /&gt;
	--&amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. mw.text.jsonEncode(defs, mw.text.JSON_PRETTY) .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot; --&lt;br /&gt;
	local returtxt = p._rader(frame,defs)&lt;br /&gt;
	return returtxt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getqid(frame)&lt;br /&gt;
	local qid = nil&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	if parentargs[&amp;#039;qid&amp;#039;] and parentargs[&amp;#039;qid&amp;#039;] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		qid = parentargs[&amp;#039;qid&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	if not qid then&lt;br /&gt;
		local frameargs = frame.args&lt;br /&gt;
		if frameargs[&amp;#039;qid&amp;#039;] and frameargs[&amp;#039;qid&amp;#039;] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			qid = frameargs[&amp;#039;qid&amp;#039;]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if not qid then&lt;br /&gt;
		local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
		if entity then&lt;br /&gt;
			qid = entity.id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return qid&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
	local start = p.ibxStart(frame)&lt;br /&gt;
	local propslist = &amp;quot;P31,P17&amp;quot;&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local text = p.wdEgenskap(frame,qid,data,res,&amp;quot;all&amp;quot;,1) --propslist)&lt;br /&gt;
	local slutt = p._ibxSlutt()&lt;br /&gt;
	return start .. text .. slutt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._dump(qid,pid,num)&lt;br /&gt;
	if not pid or pid==&amp;quot;&amp;quot; then&lt;br /&gt;
		local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
		return dump(entity)&lt;br /&gt;
	end&lt;br /&gt;
	local statments = getOkStatements(pid,qid)&lt;br /&gt;
	if statments then&lt;br /&gt;
		if num then&lt;br /&gt;
			return dump(statments[num])&lt;br /&gt;
		end&lt;br /&gt;
		return dump(statments)&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.dump(frame)&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local pid = parentarg(frame,&amp;#039;pid&amp;#039;)&lt;br /&gt;
	local num = parentarg(frame,&amp;#039;num&amp;#039;)&lt;br /&gt;
	return p._dump(qid,pid,num)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function parentarg(frame,argument)&lt;br /&gt;
	local argval = nil&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	if parentargs[argument] and parentargs[argument] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		argval = parentargs[argument]&lt;br /&gt;
	end&lt;br /&gt;
	return argval&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.wikidataboks(frame)&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local arg1 = parentarg(frame,1)&lt;br /&gt;
	if arg1 and arg1 == &amp;quot;tabell&amp;quot; then&lt;br /&gt;
		return p.wikidatatabell(frame)&lt;br /&gt;
	end&lt;br /&gt;
	if arg1 and arg1 == &amp;quot;dump&amp;quot; then&lt;br /&gt;
		return p.dump(frame)&lt;br /&gt;
	end&lt;br /&gt;
	local start = p.ibxStart(frame)&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local brukegenskap = parentarg(frame,&amp;#039;bruk egenskap&amp;#039;)&lt;br /&gt;
	if brukegenskap then&lt;br /&gt;
		--qid = &amp;quot;Q11976947&amp;quot;&lt;br /&gt;
		local propslist = parentarg(frame,&amp;#039;egenskaper&amp;#039;)&lt;br /&gt;
		if true then&lt;br /&gt;
		--	qid = &amp;quot;Q661191&amp;quot;&lt;br /&gt;
		--	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
		--	return dump(entity)&lt;br /&gt;
&lt;br /&gt;
			--return p.dump(frame) --propslist --&amp;quot;P31,P18,P131,P17,P571,P814,P361,P2046&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		local retval = p.wdBrukEgenskap2(frame,qid,brukegenskap,propslist,dodump)&lt;br /&gt;
		return retval&lt;br /&gt;
	end&lt;br /&gt;
	local data = nil&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local minus = parentarg(frame,&amp;#039;minus&amp;#039;)&lt;br /&gt;
	if minus then&lt;br /&gt;
		data = p.ikkebruk(data,minus,nil)&lt;br /&gt;
	end&lt;br /&gt;
	local startprops = parentarg(frame,&amp;#039;startrader&amp;#039;)&lt;br /&gt;
	local startrader = &amp;quot;&amp;quot;&lt;br /&gt;
	if startprops then&lt;br /&gt;
		startrader,data = p.wdEgenskap(frame,qid,data,res,startprops)&lt;br /&gt;
	end&lt;br /&gt;
	local sluttrader = parentarg(frame,&amp;#039;sluttrader&amp;#039;)&lt;br /&gt;
	local alle = parentarg(frame,&amp;#039;alle&amp;#039;)&lt;br /&gt;
	local text = p.wdEgenskap(frame,qid,data,res,alle) --propslist)&lt;br /&gt;
	local slutt = p._ibxSlutt()&lt;br /&gt;
	return start .. text .. slutt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._lenke(tittel,qid)&lt;br /&gt;
	local tekst = tittel  or mw.wikibase.label(qid)&lt;br /&gt;
	local lenke = mw.wikibase.sitelink(qid) or nil&lt;br /&gt;
	if  tekst and lenke then&lt;br /&gt;
		tekst = &amp;quot;[[&amp;quot; .. lenke .. &amp;quot;|&amp;quot; .. tekst .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return tekst&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.lenke(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local tittel = parentarg(frame,&amp;#039;tekst&amp;#039;)&lt;br /&gt;
	local qid = parentarg(frame,&amp;#039;qid&amp;#039;) or &amp;quot;&amp;quot;&lt;br /&gt;
	return p._lenke(tittel,qid)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.wikidatatabell(frame)&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local brukegenskap = parentarg(frame,&amp;#039;bruk egenskap&amp;#039;)&lt;br /&gt;
	if brukegenskap then&lt;br /&gt;
		local propslist = parentarg(frame,&amp;#039;egenskaper&amp;#039;)&lt;br /&gt;
		local start = &amp;#039;{|class=&amp;quot;wikitable&amp;quot;\n|-&amp;#039; &lt;br /&gt;
		.. p.wdBrukEgenskapTittel(frame,qid,brukegenskap,propslist,dodump)&lt;br /&gt;
		local slutt = &amp;quot;\n|}&amp;quot;&lt;br /&gt;
		local retval = p.wdBrukEgenskapVerdi(frame,qid,brukegenskap,propslist,dodump)&lt;br /&gt;
		return start .. retval .. slutt&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.wikidataTabell = p.wikidatatabell&lt;br /&gt;
&lt;br /&gt;
--[[wdinadmin&lt;br /&gt;
frame - vil peke på malen som inneholder invoke statementet. Den sidens parent vil være wikisiden&lt;br /&gt;
qid.  - hvis oppgitt det wikidata-elementet som skal brukes som basis for tabelldata.&lt;br /&gt;
&lt;br /&gt;
Metode som henter administrativt område fra Wikidata og returnerer (for Norge) kommune og fylke.&lt;br /&gt;
Hvis det finnes argument listet i useParam, vil metoden overlate til malen å lage infoboksradene&lt;br /&gt;
&lt;br /&gt;
Dette er midlertidig løsning for ikke å gjøre skritt for skritt utvikling enklest mulig.&lt;br /&gt;
]]&lt;br /&gt;
local inadminLand = {	&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function wdinadminland(qid)&lt;br /&gt;
	local claims = getOkStatements(&amp;quot;P17&amp;quot;,qid)&lt;br /&gt;
	local landskode = &amp;quot;P297&amp;quot;&lt;br /&gt;
	local inadminLand = {}&lt;br /&gt;
	for idx,param in ipairs(claims2ids(claims)) do&lt;br /&gt;
		local lkode = getOkStatements(landskode,param)&lt;br /&gt;
		local lkode2 = nil&lt;br /&gt;
		if lkode then&lt;br /&gt;
			lcode2 = lkode[1].mainsnak.datavalue.value or nil&lt;br /&gt;
		end&lt;br /&gt;
		inadminLand[param] = {&lt;br /&gt;
			[&amp;quot;lenke&amp;quot;] = getlink(param),&lt;br /&gt;
			[&amp;quot;landkode&amp;quot;] = lcode2&lt;br /&gt;
		}&lt;br /&gt;
		inadminLand[&amp;quot;num&amp;quot;] = idx&lt;br /&gt;
	end&lt;br /&gt;
	return inadminLand&lt;br /&gt;
end&lt;br /&gt;
function wdinadmin2(adms)&lt;br /&gt;
--	if true then return adms end&lt;br /&gt;
	local admids = {}&lt;br /&gt;
	for idx,param in pairs(adms) do&lt;br /&gt;
		local lkode = getOkStatements(&amp;quot;P17&amp;quot;,param)&lt;br /&gt;
		if lkode then&lt;br /&gt;
			lkode2 = idxx(lkode[1]) -- Antar her at et admin område ligger i ett land&lt;br /&gt;
		end&lt;br /&gt;
		local claims2 = getOkStatements(&amp;quot;P131&amp;quot;,param) -- neste nivå av administrative områder for dette administrative området&lt;br /&gt;
		local admin2 = idxx(claims2[1])  -- Antar her at et admin område ligger i ett overliggende adm omr.&lt;br /&gt;
		admids[param] = {&lt;br /&gt;
			[&amp;quot;qid&amp;quot;] = param,&lt;br /&gt;
			[&amp;quot;lenke&amp;quot;] = getlink(param),&lt;br /&gt;
			[&amp;quot;land&amp;quot;] = lkode2,&lt;br /&gt;
			[&amp;quot;admin&amp;quot;] = admin2&lt;br /&gt;
		}&lt;br /&gt;
		admids[&amp;quot;num&amp;quot;] = idx&lt;br /&gt;
	end&lt;br /&gt;
	return admids&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function wdinadmin1(qid)&lt;br /&gt;
	local claims = getCurrentOkStatements(&amp;quot;P131&amp;quot;,qid) -- henter en liste med administrative områder&lt;br /&gt;
	local inadminLev1 = {}&lt;br /&gt;
	local inadminLev2 = {}&lt;br /&gt;
	for idx,param in ipairs(claims2ids(claims)) do -- løkke gjennom alle &lt;br /&gt;
		local lkode = getOkStatements(&amp;quot;P17&amp;quot;,param)&lt;br /&gt;
		if lkode then&lt;br /&gt;
			lkode2 = idxx(lkode[1]) -- Antar her at et admin område ligger i ett land&lt;br /&gt;
		end&lt;br /&gt;
		local claims2 = getCurrentOkStatements(&amp;quot;P131&amp;quot;,param) -- neste nivå av administrative områder for dette administrative området&lt;br /&gt;
		local admin2 = idxx(claims2[1])  -- Antar her at et admin område ligger i ett overliggende adm omr.&lt;br /&gt;
		&lt;br /&gt;
		inadminLev1[param] = {&lt;br /&gt;
			[&amp;quot;qid&amp;quot;] = param,&lt;br /&gt;
			[&amp;quot;lenke&amp;quot;] = getlink(param),&lt;br /&gt;
			[&amp;quot;land&amp;quot;] = lkode2,&lt;br /&gt;
			[&amp;quot;admin&amp;quot;] = admin2&lt;br /&gt;
		}&lt;br /&gt;
		inadminLev1[&amp;quot;num&amp;quot;] = idx&lt;br /&gt;
		if not inadminLev2[admin2] then&lt;br /&gt;
			inadminLev2[admin2] = admin2&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	end&lt;br /&gt;
	local lev2 = wdinadmin2(inadminLev2)&lt;br /&gt;
	return inadminLev1,lev2&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._wdinadmin(args,qid)&lt;br /&gt;
	inadminLand.land = wdinadminland(qid)&lt;br /&gt;
	inadminLand.lev1,inadminLand.lev2  = wdinadmin1(qid)&lt;br /&gt;
	return dump(inadminLand)--,dump(inadminLev1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.wdinadmin(frame)&lt;br /&gt;
	local parentargs = frame:getParent().args&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	for idx,param in ipairs(args) do&lt;br /&gt;
		if parentargs[param] then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local qid = getqid(frame)&lt;br /&gt;
&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
--	return p._wdinadmin(args,qid)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>nb&gt;Haros</name></author>
	</entry>
</feed>