<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://www.drugwiki.net/w/index.php?action=history&amp;feed=atom&amp;title=Modul%3AAuktoritetsdata</id>
	<title>Modul:Auktoritetsdata - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://www.drugwiki.net/w/index.php?action=history&amp;feed=atom&amp;title=Modul%3AAuktoritetsdata"/>
	<link rel="alternate" type="text/html" href="https://www.drugwiki.net/w/index.php?title=Modul:Auktoritetsdata&amp;action=history"/>
	<updated>2026-06-04T19:18:20Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.drugwiki.net/w/index.php?title=Modul:Auktoritetsdata&amp;diff=3092&amp;oldid=prev</id>
		<title>Sysop: 1 version importerades</title>
		<link rel="alternate" type="text/html" href="https://www.drugwiki.net/w/index.php?title=Modul:Auktoritetsdata&amp;diff=3092&amp;oldid=prev"/>
		<updated>2025-10-30T17:43:04Z</updated>

		<summary type="html">&lt;p&gt;1 version importerades&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;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 30 oktober 2025 kl. 17.43&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;sv&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen skillnad)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key drugwiki_drugwikise:diff:1.41:old-3091:rev-3092 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sysop</name></author>
	</entry>
	<entry>
		<id>https://www.drugwiki.net/w/index.php?title=Modul:Auktoritetsdata&amp;diff=3091&amp;oldid=prev</id>
		<title>sv&gt;Paracel63: ångrar (leder till rödlänkad kat</title>
		<link rel="alternate" type="text/html" href="https://www.drugwiki.net/w/index.php?title=Modul:Auktoritetsdata&amp;diff=3091&amp;oldid=prev"/>
		<updated>2025-10-02T16:56:29Z</updated>

		<summary type="html">&lt;p&gt;ångrar (leder till rödlänkad kat&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local function getCatForId( id )&lt;br /&gt;
    local title = mw.title.getCurrentTitle()&lt;br /&gt;
    local namespace = title.namespace&lt;br /&gt;
    if namespace == 0 then&lt;br /&gt;
        return &amp;#039;[[Kategori:Wikipediaartiklar med identifierare från &amp;#039; .. id .. &amp;#039;]]&amp;#039;&lt;br /&gt;
    elseif namespace == 2 and not title.isSubpage then&lt;br /&gt;
        return &amp;#039;[[Kategori:Användarsidor med identifierare från &amp;#039; .. id .. &amp;#039;]]&amp;#039;&lt;br /&gt;
    else&lt;br /&gt;
        return &amp;#039;[[Kategori:Blandade sidor med identifierare från &amp;#039; .. id .. &amp;#039;]]&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function viafLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d+$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[https://viaf.org/viaf/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;VIAF&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function kulturnavLink( id )&lt;br /&gt;
    return &amp;#039;[http://kulturnav.org/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;kulturnav&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function sikartLink( id )&lt;br /&gt;
    return &amp;#039;[http://www.sikart.ch/KuenstlerInnen.aspx?id=&amp;#039; .. id .. &amp;#039;&amp;amp;lng=en &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tlsLink( id )&lt;br /&gt;
	local id2 = mw.ustring.gsub(id, &amp;#039;%s&amp;#039;, function(s) return mw.uri.encode(s, &amp;#039;WIKI&amp;#039;) end)&lt;br /&gt;
    return &amp;#039;[http://tls.theaterwissenschaft.ch/wiki/&amp;#039; .. id2 .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function ciniiLink( id )&lt;br /&gt;
    return &amp;#039;[http://ci.nii.ac.jp/author/&amp;#039; .. id .. &amp;#039;?l=en &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function bneLink( id )&lt;br /&gt;
    return &amp;#039;[http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;amp;authority_id=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;BNE&amp;#039; ) &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function uscongressLink( id )&lt;br /&gt;
    return &amp;#039;[http://bioguide.congress.gov/scripts/biodisplay.pl?index=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function botanistLink( id )&lt;br /&gt;
	local id2 = mw.ustring.gsub(id, &amp;#039;%s&amp;#039;, function(s) return mw.uri.encode(s, &amp;#039;PATH&amp;#039;) end)&lt;br /&gt;
    return &amp;#039;[http://www.ipni.org/ipni/advAuthorSearch.do?find_abbreviation=&amp;#039; .. id2 .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function mgpLink( id )&lt;br /&gt;
    -- TODO Implement some sanity checking regex&lt;br /&gt;
    return &amp;#039;[http://www.genealogy.ams.org/id.php?id=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function rslLink( id )&lt;br /&gt;
    -- TODO Implement some sanity checking regex&lt;br /&gt;
    return &amp;#039;[http://aleph.rsl.ru/F?func=find-b&amp;amp;find_code=SYS&amp;amp;adjacent=Y&amp;amp;local_base=RSL11&amp;amp;request=&amp;#039; .. id .. &amp;#039;&amp;amp;CON_LNG=ENG &amp;#039; .. id .. &amp;#039;]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function leonoreLink( id )&lt;br /&gt;
-- Identifiants allant de LH/1/1 à LH/2794/54 (légionnaires)&lt;br /&gt;
-- Identifiants allant de C/0/1 à C/0/84 (84 légionnaires célèbres)&lt;br /&gt;
-- Identifiants allant de 19800035/1/1 à 19800035/385/51670 (légionnaires décédés entre 1954 et 1977, et quelques dossiers de légionnaires décédés avant 1954)&lt;br /&gt;
    if not string.match( id, &amp;#039;^LH/%d%d?%d?%d?/%d%d?%d?$&amp;#039; ) and&lt;br /&gt;
       not string.match( id, &amp;#039;^C/0/%d%d?$&amp;#039; ) and&lt;br /&gt;
	   not string.match( id, &amp;#039;^19800035/%d%d?%d?%d?/%d%d?%d?%d?%d?$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[//www.culture.gouv.fr/public/mistral/leonore_fr?ACTION=CHERCHER&amp;amp;FIELD_1=COTE&amp;amp;VALUE_1=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function sbnLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;%D%D[A-Z0-3]V%d%d%d%d%d%d&amp;#039;) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[https://opac.sbn.it/nome/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function nkcLink( id )&lt;br /&gt;
	return &amp;#039;[http://aleph.nkp.cz/F/?func=find-c&amp;amp;local_base=aut&amp;amp;ccl_term=ica=&amp;#039; .. id .. &amp;#039;&amp;amp;CON_LNG=ENG &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function nclLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d+$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://aleweb.ncl.edu.tw/F/?func=accref&amp;amp;acc_sequence=&amp;#039; .. id .. &amp;#039;&amp;amp;CON_LNG=ENG &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ndlLink( id )&lt;br /&gt;
	return &amp;#039;[http://id.ndl.go.jp/auth/ndlna/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function sudocLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d%d%d%d%d%d%d%d[%dxX]$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://www.idref.fr/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hlsLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d+$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://www.hls-dhs-dss.ch/textes/f/F&amp;#039; .. id .. &amp;#039;.php &amp;#039; .. id .. &amp;#039;]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function lirLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d+$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://www.e-lir.ch/e-LIR___Lexicon.&amp;#039; .. id .. &amp;#039;.450.0.html &amp;#039; .. id .. &amp;#039;]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function splitLccn( id )&lt;br /&gt;
    if id:match( &amp;#039;^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$&amp;#039; ) then&lt;br /&gt;
        id = id:gsub( &amp;#039;^(%l+)(%d+)(%d%d%d%d%d%d)$&amp;#039;, &amp;#039;%1/%2/%3&amp;#039; )&lt;br /&gt;
    end&lt;br /&gt;
    if id:match( &amp;#039;^%l%l?%l?/%d%d%d?%d?/%d+$&amp;#039; ) then&lt;br /&gt;
         return mw.text.split( id, &amp;#039;/&amp;#039; )&lt;br /&gt;
    end&lt;br /&gt;
    return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function append(str, c, length)&lt;br /&gt;
    while str:len() &amp;lt; length do&lt;br /&gt;
        str = c .. str&lt;br /&gt;
    end&lt;br /&gt;
    return str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function lccnLink( id )&lt;br /&gt;
    local parts = splitLccn( id )&lt;br /&gt;
    if not parts then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    local lccnType = parts[1] ~= &amp;#039;sh&amp;#039; and &amp;#039;names&amp;#039; or &amp;#039;subjects&amp;#039;&lt;br /&gt;
    id = parts[1] .. parts[2] .. append( parts[3], &amp;#039;0&amp;#039;, 6 )&lt;br /&gt;
    return &amp;#039;[http://id.loc.gov/authorities/&amp;#039; .. lccnType .. &amp;#039;/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;LCCN&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function mbLink( id )&lt;br /&gt;
    -- TODO Implement some sanity checking regex&lt;br /&gt;
    return &amp;#039;[//musicbrainz.org/artist/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;MusicBrainz&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Returns the ISNI check digit isni must be a string where the 15 first elements are digits&lt;br /&gt;
local function getIsniCheckDigit( isni )&lt;br /&gt;
    local total = 0&lt;br /&gt;
    for i = 1, 15 do&lt;br /&gt;
        local digit = isni:byte( i ) - 48 --Get integer value&lt;br /&gt;
        total = (total + digit) * 2&lt;br /&gt;
    end&lt;br /&gt;
    local remainder = total % 11&lt;br /&gt;
    local result = (12 - remainder) % 11&lt;br /&gt;
    if result == 10 then&lt;br /&gt;
        return &amp;quot;X&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return tostring( result )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it&amp;#039;s invalid&lt;br /&gt;
--See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier&lt;br /&gt;
local function validateIsni( id )&lt;br /&gt;
    id = id:gsub( &amp;#039;[ %-]&amp;#039;, &amp;#039;&amp;#039; ):upper()&lt;br /&gt;
    if not id:match( &amp;#039;^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return id&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isniLink( id )&lt;br /&gt;
    id = validateIsni( id )&lt;br /&gt;
    if not id then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://isni.org/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id:sub( 1, 4 ) .. &amp;#039; &amp;#039; .. id:sub( 5, 8 ) .. &amp;#039; &amp;#039;  .. id:sub( 9, 12 ) .. &amp;#039; &amp;#039;  .. id:sub( 13, 16 ) .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;ISNI&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function orcidLink( id )&lt;br /&gt;
    id = validateIsni( id )&lt;br /&gt;
    if not id then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    id = id:sub( 1, 4 ) .. &amp;#039;-&amp;#039; .. id:sub( 5, 8 ) .. &amp;#039;-&amp;#039;  .. id:sub( 9, 12 ) .. &amp;#039;-&amp;#039;  .. id:sub( 13, 16 )&lt;br /&gt;
    return &amp;#039;[http://orcid.org/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;ORCID&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function gndLink( id )&lt;br /&gt;
    return &amp;#039;[http://d-nb.info/gnd/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;GND&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function librisLink(id)&lt;br /&gt;
	return &amp;#039;[//libris.kb.se/resource/bib/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId (&amp;#039;LibrisXL&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function librisXlLink(id)&lt;br /&gt;
	return &amp;#039;[//libris.kb.se/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;] [//libris.kb.se/katalogisering/search/libris?_limit=20&amp;amp;o=https%3A%2F%2Flibris.kb.se%2F&amp;#039; .. id .. &amp;#039;%23it Katalogiserade verk.] [//libris.kb.se/katalogisering/search/libris?_limit=20&amp;amp;o=https%3A%2F%2Flibris.kb.se%2F&amp;#039; .. id .. &amp;#039;%23it&amp;amp;p=contribution.agent.%40id&amp;amp;p=instanceOf.contribution.agent.%40id Andra katalogiserade bidrag.]&amp;#039; .. getCatForId (&amp;#039;LibrisXL&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function bnfLink( id )&lt;br /&gt;
    --Add cb prefix if it has been removed&lt;br /&gt;
    if not string.match( id, &amp;#039;^cb.+$&amp;#039; ) then&lt;br /&gt;
        id = &amp;#039;cb&amp;#039; .. id&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return &amp;#039;[http://catalogue.bnf.fr/ark:/12148/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;] [http://data.bnf.fr/ark:/12148/&amp;#039; .. id .. &amp;#039; (data)]&amp;#039; .. getCatForId( &amp;#039;BNF&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function bpnLink( id )&lt;br /&gt;
    if not string.match( id, &amp;#039;^%d+$&amp;#039; ) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;#039;[http://www.biografischportaal.nl/en/persoon/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;BPN&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ridLink( id )&lt;br /&gt;
    return &amp;#039;[http://www.researcherid.com/rid/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;RID&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function bibsysLink( id )&lt;br /&gt;
    return &amp;#039;[https://authority.bibsys.no/authority/rest/authorities/html/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;BIBSYS&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ulanLink( id )&lt;br /&gt;
    return &amp;#039;[//www.getty.edu/vow/ULANFullDisplay?find=&amp;amp;role=&amp;amp;nation=&amp;amp;subjectid=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;ULAN&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function nlaLink( id )&lt;br /&gt;
	return &amp;#039;[//nla.gov.au/anbd.aut-an&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;NLA&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function riksdagenLink( id )&lt;br /&gt;
	return &amp;#039;[https://www.riksdagen.se/sv/ledamoter-partier/ledamot/_&amp;#039; .. id  .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;Riksdagen&amp;#039; )	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function levandemusikarvLink( id )&lt;br /&gt;
	return &amp;#039;[http://www.levandemusikarv.se/tonsattare/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;Levande musikarv&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function SBLLink( id )&lt;br /&gt;
	return &amp;#039;[https://sok.riksarkivet.se/sbl/Presentation.aspx?id=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;SBL&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function SKBLLink( id )&lt;br /&gt;
	return &amp;#039;[https://www.skbl.se/sv/artikel/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;SKBL&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function CANTICLink( id )&lt;br /&gt;
	return &amp;#039;[http://cantic.bnc.cat/registres/CUCId/&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;CANTIC&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function alvinLink( id )&lt;br /&gt;
	return &amp;#039;[https://www.alvin-portal.org/alvin/view.jsf?pid=&amp;#039; .. id .. &amp;#039; &amp;#039; .. id .. &amp;#039;]&amp;#039; .. getCatForId( &amp;#039;Alvin&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getIdsFromWikidata( item, property )&lt;br /&gt;
    local ids = {}&lt;br /&gt;
    if not item.claims[property] then&lt;br /&gt;
        return ids&lt;br /&gt;
    end&lt;br /&gt;
    for _, statement in pairs( item.claims[property] ) do&lt;br /&gt;
    	if statement.mainsnak.snaktype == &amp;#039;value&amp;#039; and statement.rank ~= &amp;#039;deprecated&amp;#039; then&lt;br /&gt;
        	table.insert( ids, statement.mainsnak.datavalue.value )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return ids&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesWikidataRequirements( item, reqs )&lt;br /&gt;
    for _, group in pairs( reqs ) do&lt;br /&gt;
        local property = &amp;#039;P&amp;#039; .. group[1]&lt;br /&gt;
        local qid = group[2]&lt;br /&gt;
        if item.claims[property] ~= nil then&lt;br /&gt;
            for _, statement in pairs ( item.claims[property] ) do&lt;br /&gt;
            	if statement.mainsnak.datavalue ~= nil then&lt;br /&gt;
	                if statement.mainsnak.datavalue.value[&amp;#039;numeric-id&amp;#039;] == qid then&lt;br /&gt;
    	                return true&lt;br /&gt;
        	        end&lt;br /&gt;
        	    end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function createRow( id, label, rawValue, link, withUid, withoutDot )&lt;br /&gt;
	local dot = &amp;#039; • &amp;#039;&lt;br /&gt;
	if withoutDot then dot = &amp;#039;, &amp;#039; end&lt;br /&gt;
    if link then&lt;br /&gt;
        if withUid then&lt;br /&gt;
            return dot .. label .. &amp;#039; &amp;lt;span class=&amp;quot;uid&amp;quot;&amp;gt;&amp;#039; .. link .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
        else&lt;br /&gt;
            return dot .. label .. &amp;#039; &amp;#039; .. link&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        return &amp;#039;* &amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Värdet &amp;#039; .. id .. &amp;#039; id &amp;#039; .. rawValue .. &amp;#039; är inte giltigt.&amp;lt;/span&amp;gt;[[Kategori:Wikipediaartiklar med felaktiga auktoritetsdata (&amp;#039; .. id .. &amp;#039;)]]\n&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--In this order: name of the parameter, label, propertyId in Wikidata, formatting function&lt;br /&gt;
local conf = {&lt;br /&gt;
    { &amp;#039;VIAF&amp;#039;, &amp;#039;[[Virtual International Authority File|VIAF]]&amp;#039;, 214, viafLink },&lt;br /&gt;
    { &amp;#039;LCCN&amp;#039;, &amp;#039;[[Library of Congress Control Number|LCCN]]&amp;#039;, 244, lccnLink },&lt;br /&gt;
    { &amp;#039;ISNI&amp;#039;, &amp;#039;[[International Standard Name Identifier|ISNI]]&amp;#039;, 213, isniLink },&lt;br /&gt;
    { &amp;#039;ORCID&amp;#039;, &amp;#039;[[ORCID]]&amp;#039;, 496, orcidLink },&lt;br /&gt;
    { &amp;#039;GND&amp;#039;, &amp;#039;[[Gemeinsame Normdatei|GND]]&amp;#039;, 227, gndLink },&lt;br /&gt;
    { &amp;#039;LIBRIS&amp;#039;, &amp;#039;[[Libris (bibliotekskatalog)|LIBRIS]]&amp;#039;, 1182, librisLink},&lt;br /&gt;
    { &amp;#039;LibrisXL&amp;#039;, &amp;#039;[[Libris XL]]&amp;#039;, 5587, librisXlLink},&lt;br /&gt;
    { &amp;#039;SUDOC&amp;#039;, &amp;#039;[[Système universitaire de documentation|SUDOC]]&amp;#039;, 269, sudocLink },    &lt;br /&gt;
    { &amp;#039;BNF&amp;#039;, &amp;#039;[[Bibliothèque nationale de France|BNF]]&amp;#039;, 268, bnfLink },&lt;br /&gt;
    { &amp;#039;BPN&amp;#039;, &amp;#039;[[Biografisch Portaal|BPN]]&amp;#039;, 651, bpnLink },&lt;br /&gt;
    { &amp;#039;RID&amp;#039;, &amp;#039;[[ResearcherID]]&amp;#039;, 1053, ridLink },&lt;br /&gt;
    { &amp;#039;BIBSYS&amp;#039;, &amp;#039;[[BIBSYS]]&amp;#039;, 1015, bibsysLink },&lt;br /&gt;
    { &amp;#039;ULAN&amp;#039;, &amp;#039;[[Union List of Artist Names|ULAN]]&amp;#039;, 245, ulanLink },&lt;br /&gt;
    { &amp;#039;HDS&amp;#039;, &amp;#039;[[Schweiz historielexikon|HDS]]&amp;#039;, 902, hlsLink },&lt;br /&gt;
    { &amp;#039;LIR&amp;#039;, &amp;#039;[[Historical Dictionary of Switzerland#Lexicon_Istoric_Retic|LIR]]&amp;#039;, 886, lirLink },&lt;br /&gt;
    { &amp;#039;MBA&amp;#039;, &amp;#039;[[MusicBrainz]]&amp;#039;, 434, mbLink },&lt;br /&gt;
    { &amp;#039;MGP&amp;#039;, &amp;#039;[[Mathematics Genealogy Project|MGP]]&amp;#039;, 549, mgpLink },    &lt;br /&gt;
    { &amp;#039;NLA&amp;#039;, &amp;#039;[[National Library of Australia|NLA]]&amp;#039;, 409, nlaLink },&lt;br /&gt;
    { &amp;#039;NDL&amp;#039;, &amp;#039;[[Nationella parlamentsbiblioteket|NDL]]&amp;#039;, 349, ndlLink },&lt;br /&gt;
    { &amp;#039;NCL&amp;#039;, &amp;#039;[[National Central Library|NCL]]&amp;#039;, 1048, nclLink },&lt;br /&gt;
    { &amp;#039;NKC&amp;#039;, &amp;#039;[[Tjeckiska nationalbiblioteket|NKC]]&amp;#039;, 691, nkcLink },&lt;br /&gt;
--    { &amp;#039;Léonore&amp;#039;, &amp;#039;[[:fr:Base Léonore|Léonore]]&amp;#039;, 640, leonoreLink }, &lt;br /&gt;
    { &amp;#039;SBN&amp;#039;, &amp;#039;[[Istituto Centrale per il Catalogo Unico|ICCU]]&amp;#039;, 396, sbnLink },     &lt;br /&gt;
    { &amp;#039;RLS&amp;#039;, &amp;#039;[[Russian State Library|RLS]]&amp;#039;, 947, rslLink },&lt;br /&gt;
    { &amp;#039;Auktorsnamn&amp;#039;, &amp;#039;[[Auktorsnamn]]&amp;#039;, 428, botanistLink },&lt;br /&gt;
    { &amp;#039;USCongress&amp;#039;, &amp;#039;[[Biographical Directory of the United States Congress|US Congress]]&amp;#039;, 1157, uscongressLink },&lt;br /&gt;
    { &amp;#039;BNE&amp;#039;, &amp;#039;[[Spaniens nationalbibliotek|BNE]]&amp;#039;, 950, bneLink },&lt;br /&gt;
    { &amp;#039;CINII&amp;#039;, &amp;#039;[[CiNii]]&amp;#039;, 271, ciniiLink },&lt;br /&gt;
    { &amp;#039;TLS&amp;#039;, &amp;#039;[[Theaterlexikon der Schweiz|TLS]]&amp;#039;, 1362, tlsLink },&lt;br /&gt;
    { &amp;#039;SIKART&amp;#039;, &amp;#039;[[SIKART]]&amp;#039;, 781, sikartLink },&lt;br /&gt;
    { &amp;#039;KULTURNAV&amp;#039;, &amp;#039;[[Kulturnav]]&amp;#039;, 1248, kulturnavLink },&lt;br /&gt;
    { &amp;#039;Riksdagen&amp;#039;, &amp;#039;[[Sveriges riksdag]]&amp;#039;, 1214, riksdagenLink },&lt;br /&gt;
    { &amp;#039;Levande musikarv&amp;#039;, &amp;#039;[[Levande musikarv]]&amp;#039;, 4607, levandemusikarvLink },&lt;br /&gt;
    { &amp;#039;Svenskt biografiskt lexikon&amp;#039;, &amp;#039;[[Svenskt biografiskt lexikon|SBL]]&amp;#039;, 3217, SBLLink},&lt;br /&gt;
    { &amp;#039;Svenskt kvinnobiografiskt lexikon&amp;#039;, &amp;#039;[[Svenskt kvinnobiografiskt lexikon|SKBL]]&amp;#039;, 4963, SKBLLink},&lt;br /&gt;
    { &amp;#039;CANTIC&amp;#039;, &amp;#039;[[Biblioteca de Catalunya|CANTIC]]&amp;#039;, 1273, CANTICLink},&lt;br /&gt;
    { &amp;#039;Alvin&amp;#039;, &amp;#039;[[Alvin (digital kulturarvsplattform)|Alvin]]&amp;#039;, 6821, alvinLink }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
-- Check that the Wikidata item has this property--&amp;gt;value before adding it&lt;br /&gt;
local reqs = {}&lt;br /&gt;
reqs[&amp;#039;MBA&amp;#039;] = {&lt;br /&gt;
    { 106, 177220 }, -- yrke -&amp;gt; sångare&lt;br /&gt;
    { 31, 177220 }, -- instans av -&amp;gt; sånger&lt;br /&gt;
    { 106, 2252262 }, -- yrke -&amp;gt; rappare&lt;br /&gt;
    { 31, 2252262}, -- instans av -&amp;gt; rappare&lt;br /&gt;
    { 106, 639669 }, -- yrke -&amp;gt; musiker&lt;br /&gt;
    { 31, 639669 }, -- instans av -&amp;gt; musiker&lt;br /&gt;
    { 106, 36834 }, -- yrke -&amp;gt; kompositör&lt;br /&gt;
    { 31, 36834 }, -- instans av -&amp;gt; kompositör&lt;br /&gt;
    { 106, 488205 }, -- yrke -&amp;gt; singer-songwriter&lt;br /&gt;
    { 31, 488205 }, -- instans av -&amp;gt; singer-songwriter&lt;br /&gt;
    { 106, 183945 }, -- yrke -&amp;gt; musikproducent&lt;br /&gt;
    { 31, 183945 }, -- instans av -&amp;gt; musikproducent&lt;br /&gt;
    { 106, 10816969 }, -- yrke -&amp;gt; club DJ&lt;br /&gt;
    { 31, 10816969 }, -- instans av -&amp;gt; club DJ&lt;br /&gt;
    { 106, 130857 }, -- yrke -&amp;gt; DJ&lt;br /&gt;
    { 31, 130857 }, -- instans av -&amp;gt; DJ&lt;br /&gt;
    { 106, 158852 }, -- yrke -&amp;gt; dirigent&lt;br /&gt;
    { 31, 158852 }, -- instans av -&amp;gt; dirigent&lt;br /&gt;
    { 31, 215380 }, -- instans av -&amp;gt; musikgrupp&lt;br /&gt;
    { 31, 5741069 }, -- instans av -&amp;gt; rockband&lt;br /&gt;
    { 106, 33999 }, -- yrke -&amp;gt; skådespelare&lt;br /&gt;
    { 31, 33999 }, -- instans av -&amp;gt; skådespelare&lt;br /&gt;
    { 31, 2088357}, -- instans av -&amp;gt; ensemble&lt;br /&gt;
    { 106, 2865819}, -- yrke -&amp;gt; operasångare&lt;br /&gt;
    { 106, 753110}, -- yrke -&amp;gt; låtskrivare&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.authorityControl( frame )&lt;br /&gt;
    local parentArgs = frame:getParent().args&lt;br /&gt;
    --Create rows&lt;br /&gt;
    local elements = {}&lt;br /&gt;
&lt;br /&gt;
    --redirect PND to GND&lt;br /&gt;
    if (parentArgs.GND == nil or parentArgs.GND == &amp;#039;&amp;#039;) and parentArgs.PND ~= nil and parentArgs.PND ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        parentArgs.GND = parentArgs.PND&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    --Wikidata fallback if requested&lt;br /&gt;
    local item = mw.wikibase.getEntityObject()&lt;br /&gt;
    if item ~= nil and item.claims ~= nil then&lt;br /&gt;
        for _, params in pairs( conf ) do&lt;br /&gt;
            if params[3] ~= 0 then&lt;br /&gt;
                local val = parentArgs[params[1]]&lt;br /&gt;
                if not val or val == &amp;#039;&amp;#039; then&lt;br /&gt;
                	local canUseWikidata = nil&lt;br /&gt;
                    if reqs[params[1]] ~= nil then&lt;br /&gt;
                        canUseWikidata = matchesWikidataRequirements( item, reqs[params[1]] )&lt;br /&gt;
                    else&lt;br /&gt;
                        canUseWikidata = true&lt;br /&gt;
                    end&lt;br /&gt;
                    if canUseWikidata then&lt;br /&gt;
                        local wikidataIds = getIdsFromWikidata( item, &amp;#039;P&amp;#039; .. params[3] )&lt;br /&gt;
                        if wikidataIds[1] then&lt;br /&gt;
                            parentArgs[params[1]] = wikidataIds[1]&lt;br /&gt;
                        end&lt;br /&gt;
                        if params[3]==428 then&lt;br /&gt;
                         	parentArgs[params[1]] = wikidataIds&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    --Worldcat&lt;br /&gt;
    if parentArgs[&amp;#039;WORLDCATID&amp;#039;] and parentArgs[&amp;#039;WORLDCATID&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        table.insert( elements, createRow( &amp;#039;WORLDCATID&amp;#039;, &amp;#039;&amp;#039;, parentArgs[&amp;#039;WORLDCATID&amp;#039;], &amp;#039;[//www.worldcat.org/identities/&amp;#039; .. parentArgs[&amp;#039;WORLDCATID&amp;#039;] .. &amp;#039; WorldCat]&amp;#039;, false, false ) ) --Validation?&lt;br /&gt;
    elseif parentArgs[&amp;#039;LCCN&amp;#039;] and parentArgs[&amp;#039;LCCN&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        local lccnParts = splitLccn( parentArgs[&amp;#039;LCCN&amp;#039;] )&lt;br /&gt;
        if lccnParts and lccnParts[1] ~= &amp;#039;sh&amp;#039; then&lt;br /&gt;
            table.insert( elements, createRow( &amp;#039;LCCN&amp;#039;, &amp;#039;&amp;#039;, parentArgs[&amp;#039;LCCN&amp;#039;], &amp;#039;[//www.worldcat.org/identities/lccn-&amp;#039; .. lccnParts[1] .. lccnParts[2] .. &amp;#039;&amp;#039; .. lccnParts[3] .. &amp;#039; WorldCat]&amp;#039;, false, false ) )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    --Configured rows&lt;br /&gt;
    local rct = 0&lt;br /&gt;
    for k, params in pairs( conf ) do&lt;br /&gt;
        local val = parentArgs[params[1]]&lt;br /&gt;
        if val and val ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        	if params[3]==428 then&lt;br /&gt;
        		if val[1] and val[1] ~= &amp;#039;&amp;#039; then &lt;br /&gt;
          	    	table.insert( elements, createRow( params[1], params[2] .. &amp;#039;:&amp;#039;, val[1], params[4]( val[1] ), true, false ) )&lt;br /&gt;
            		rct = rct + 1&lt;br /&gt;
                end&lt;br /&gt;
   	       		if val[2] and val[2] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        			table.insert( elements, createRow( &amp;#039;&amp;#039;, &amp;#039;&amp;#039;, val[2], params[4]( val[2] ), true, true ) )&lt;br /&gt;
            		rct = rct + 1&lt;br /&gt;
				end &lt;br /&gt;
            else &lt;br /&gt;
            	table.insert( elements, createRow( params[1], params[2] .. &amp;#039;:&amp;#039;, val, params[4]( val ), true, false ) )&lt;br /&gt;
            	rct = rct + 1&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    kategori_lokala_parametrar = &amp;#039;&amp;#039;&lt;br /&gt;
    for a,v in pairs(parentArgs) do&lt;br /&gt;
	   	kategori_lokala_parametrar = &amp;#039;[[Kategori:Wikipedia:Sidor med mallen Auktoritetsdata med lokala parametrar]]&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local Navbox = require(&amp;#039;Module:Navbox&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
 	if #elements &amp;gt; 0 then&lt;br /&gt;
 &lt;br /&gt;
    	return Navbox._navbox( {&lt;br /&gt;
		name  = &amp;#039;Auktoritetsdata&amp;#039;,&lt;br /&gt;
		bodyclass = &amp;#039;hlist auktoritetsdata&amp;#039;,&lt;br /&gt;
		group1 = &amp;#039;[[Auktoritetsdata]]&amp;#039;,&lt;br /&gt;
		list1 = table.concat( elements )&lt;br /&gt;
    	} )..kategori_lokala_parametrar&lt;br /&gt;
   end&lt;br /&gt;
   return &amp;#039;[[Kategori:Wikipedia:Sidor med mallen Auktoritetsdata utan referenser i Wikidata]]&amp;#039;..kategori_lokala_parametrar&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>sv&gt;Paracel63</name></author>
	</entry>
</feed>