<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://culturaitaliana.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AControllo_di_autorit%C3%A0</id>
	<title>Module:Controllo di autorità - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://culturaitaliana.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AControllo_di_autorit%C3%A0"/>
	<link rel="alternate" type="text/html" href="https://culturaitaliana.org/w/index.php?title=Module:Controllo_di_autorit%C3%A0&amp;action=history"/>
	<updated>2026-04-30T17:24:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://culturaitaliana.org/w/index.php?title=Module:Controllo_di_autorit%C3%A0&amp;diff=7529&amp;oldid=prev</id>
		<title>Admin: una versione importata</title>
		<link rel="alternate" type="text/html" href="https://culturaitaliana.org/w/index.php?title=Module:Controllo_di_autorit%C3%A0&amp;diff=7529&amp;oldid=prev"/>
		<updated>2020-11-05T16:52:44Z</updated>

		<summary type="html">&lt;p&gt;una versione importata&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:52, 5 November 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://culturaitaliana.org/w/index.php?title=Module:Controllo_di_autorit%C3%A0&amp;diff=7528&amp;oldid=prev</id>
		<title>en&gt;Candalua: aggiungo BAV</title>
		<link rel="alternate" type="text/html" href="https://culturaitaliana.org/w/index.php?title=Module:Controllo_di_autorit%C3%A0&amp;diff=7528&amp;oldid=prev"/>
		<updated>2020-07-23T14:41:46Z</updated>

		<summary type="html">&lt;p&gt;aggiungo BAV&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--la tabella dei codici si trova più sotto&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'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( '[ %-]', '' ):upper()&lt;br /&gt;
    if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) 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 '[Codice ISNI non valido]'&lt;br /&gt;
    end&lt;br /&gt;
    return '[http://isni.org/isni/' .. id .. ' ' .. id:sub( 1, 4 ) .. ' ' .. id:sub( 5, 8 ) .. ' '  .. id:sub( 9, 12 ) .. ' '  .. id:sub( 13, 16 ) .. ']'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- principali codici di controllo di autorità&lt;br /&gt;
-- si veda [[d:Property:P1630]]&lt;br /&gt;
local codici = {&lt;br /&gt;
	{ 213, '[[w:International Standard Name Identifier|ISNI]]', 'http://isni.org/%s/', isniLink},&lt;br /&gt;
	{ 214, '[[w:Virtual International Authority File|VIAF]]', '//viaf.org/viaf/%s/' },&lt;br /&gt;
	{ 227, '[[w:Gemeinsame Normdatei|GND]]', 'http://d-nb.info/gnd/%s' },&lt;br /&gt;
	{ 244, '[[w:Library of Congress Control Number|LCCN]]', 'http://lccn.loc.gov/%s' },&lt;br /&gt;
	{ 268, '[[w:Bibliothèque nationale de France|BNF]]', 'http://catalogue.bnf.fr/ark:/12148/cb%s/PUBLIC' },&lt;br /&gt;
	{ 396, '[[w:Servizio bibliotecario nazionale|SBN]]', 'http://id.sbn.it/af/%s' },&lt;br /&gt;
	{ 1871, '[[w:de:Consortium of European Research Libraries|CERL]]', 'http://thesaurus.cerl.org/record/%s' },&lt;br /&gt;
	{ 7859, '[[w:WorldCat|WorldCat]]', 'https://www.worldcat.org/identities/%s' },&lt;br /&gt;
	{ 8034, '[[w:Biblioteca apostolica vaticana|BAV]]', 'https://wikidata-externalid-url.toolforge.org/?p=8034&amp;amp;url_prefix=https://opac.vatlib.it/auth/detail/&amp;amp;id=%s' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function val(item, prop)&lt;br /&gt;
	local claims = item.claims&lt;br /&gt;
	local res = {}&lt;br /&gt;
	if claims and claims['P'..prop[1]] then&lt;br /&gt;
		for index, claim in pairs(claims['P'..prop[1]]) do&lt;br /&gt;
			local dv = claim.mainsnak.datavalue&lt;br /&gt;
			if dv and dv.value and type(dv.value) == 'string' and mw.text.trim(dv.value) ~= '' then&lt;br /&gt;
				if prop[4] then &lt;br /&gt;
					table.insert(res, prop[4](dv.value))&lt;br /&gt;
				else&lt;br /&gt;
					table.insert(res, '['..mw.ustring.format(prop[3], mw.uri.encode(dv.value, 'PATH'))..' '..dv.value..']')&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if #res &amp;gt; 0 then&lt;br /&gt;
		return prop[2] .. mw.message.new('colon-separator'):plain() .. table.concat(res, mw.message.new('comma-separator'):plain())&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- per l'uso da parte di altri moduli&lt;br /&gt;
function p.box(item)&lt;br /&gt;
	if mw.wikibase and not item then&lt;br /&gt;
		item = mw.wikibase.getEntityObject()&lt;br /&gt;
	end&lt;br /&gt;
	if not item then&lt;br /&gt;
		return ''&lt;br /&gt;
	end&lt;br /&gt;
	local res = {}&lt;br /&gt;
	for i, v in ipairs(codici) do&lt;br /&gt;
		local x = val(item, v)&lt;br /&gt;
		if x then&lt;br /&gt;
			table.insert(res, x)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if #res &amp;gt; 0 then&lt;br /&gt;
		return tostring(&lt;br /&gt;
			mw.html.create('div')&lt;br /&gt;
			:addClass('controlloAutorita')&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				:addClass('controlloAutoritaTitle')&lt;br /&gt;
				:wikitext('[[w:Controllo di autorità|Schede di autorità]]')&lt;br /&gt;
				:done()&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				:wikitext('&amp;lt;div&amp;gt;'..table.concat(res, '&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;')..'&amp;lt;/div&amp;gt;')&lt;br /&gt;
			:allDone()&lt;br /&gt;
		)&lt;br /&gt;
	else&lt;br /&gt;
		return ''&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- da invocare nel wikicodice&lt;br /&gt;
function p.ext(frame)&lt;br /&gt;
	return p.box()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>en&gt;Candalua</name></author>
	</entry>
</feed>