Mae'r Nodyn yma'n cysylltu erthyglau ar Wicipedia i gatalogau'r amryfal Lyfrgelloedd ynghyd a'u systemau.
Uses Lua: |
This metadata template links Wikipedia articles to various library catalogue systems: gan fwyaf, erthyglau ar bobl h.y. bywgrafiadau.
Defnyddiwr Wicidata ar gyfer y dynodwyr canlynol BNF, BPN, GND, ISNI, LCCN, MBA, NDL, ORCID, ULAN, NLA a VIAF.
Mae'r Nodyn yn gwiro gwerthoedd ISNI a ORCID ac yn galw Nodyn 'Gwall' pe cyfyd problem.
Wherever possible, the template also generates a link to WorldCat Identities, using the LCCN variable. (It will shortly be possible to link using VIAF values—this is being tested by OCLC and will be activated in the template as soon as it goes live.)
As a metadata template, the Authority control template should be placed after the external links section and navigation templates, right before the Persondata template.
{{Authority control |VIAF=xxxxxx |LCCN=n/xx/xxxxxx |ISNI=xxxx xxxx xxxx xxxx |ORCID=xxxx xxxx xxxx xxxx |GND=xxxxxx |SELIBR=xxxxxx |BNF=xxxxxx |BPN=xxxxx |RID=xxxxx |BIBSYS=xxxxx |ULAN=xxxxx |MBA=xxxxxx |NLA=xxxxxxx |NDL=xxxxxxxx}}
{{Authority control |VIAF= |LCCN= |ISNI= |ORCID= |GND= |SELIBR= |BNF= |BPN= |RID= |BIBSYS= |ULAN= |MBA= |NLA= |NDL=}}
{{Authority control}}
Parameter | Scope | Name | Search | Remarks |
---|---|---|---|---|
VIAF | People | Virtual International Authority File | [1] | International authority data from the Online Computer Library Center (OCLC) |
LCCN | People | Library of Congress Control Number | [2] | See Wikipedia:Authority control#LCCN for formatting instructions |
ISNI | People | International Standard Name Identifier | [3] | ISNI is a method for uniquely identifying the public identities of contributors to media content such as books, TV programmes, and newspaper articles. Please take care not to confuse ISNI and ORCID identifiers. |
ORCID | People | ORCID | [4] | Authority data on researchers, academics, etc. The ID range is a subset of the ISNI range. For free text links (for example when mentioning a person on page which is not about them), it is also possible to use {{ORCID}}. Authors—including Wikipedia editors—may obtain an ORCID by signing up at orcid.org. Please take care not to confuse ORCID and ISNI identifiers. |
GND | All | Integrated Authority File (Gemeinsame Normdatei) | [5] [6] | Authority data on people, corporations and subjects from the German National Library |
SELIBR | People | LIBRIS | [7] | Authority data from the National Library of Sweden |
BNF | People | Bibliothèque nationale de France | [8] (Ffrangeg) | Authority data of people listed in the general catalogue of the National Library of France |
BPN | People | Dutch Biography Portal (Biografisch Portaal) | [9] | Dutch project with material for 40,000 digitized biographies, including former colonies of the Netherlands. |
RID | People | ResearcherID | [10] | An identifying system for scientific authors. The system was introduced in January 2008 by Thomson Reuters. The combined use of the Digital Object Identifier with the ResearcherID allows for a unique association of authors and scientific articles. |
BIBSYS | People | BIBSYS | [11] | BIBSYS is a supplier of library and information systems for all Norwegian university Libraries, the National Library of Norway, college libraries, and a number of research libraries and institutions. |
ULAN | Artists | Union List of Artist Names | [12] | ULAN is an online database using a controlled vocabulary currently containing around 293,000 names and other information about artists. Names in ULAN may include given names, pseudonyms, variant spellings, names in multiple languages, and names that have changed over time (e.g., married names). |
MBA | Artists | MusicBrainz Artist ID | [13] | MusicBrainz is an open music encyclopedia that collects music metadata and makes it available to the public. |
NLA | People or groups | National Library of Australia | [14] | NLA Trove’s People and Organisation view allows the discovery of biographical and other contextual information about people and organisations. Search also available via VIAF. |
NDL | People | National Diet Library | [15] | Authority data listed in the catalog of the national library of Japan. Search also available via VIAF. |
and will cause articles to be added to hidden tracking sub-categories of Category:Wikipedia articles with authority control information:
Deprecated parameters | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{Authority control |VIAF=59263727 |LCCN=n/79/113947 |ISNI=0000 0000 8138 6064 |GND=119408643 |BNF=13746617f |MBA=9dd93d09-24b4-41f1-a48b-ef48b07499c3 }} – for Alexander Graham Bell produces:
{{Authority control |VIAF=66861474 |LCCN=n/87/142671 |ISNI=0000 0001 0911 2808 |GND=117421863 }} – for Harry Forbes Witherby produces:
The template applies the following categories:
The template can get its information from Wikidata:
Parameter | Type | Property ID |
---|---|---|
VIAF | VIAF | p214 |
LCCN | LCCN | p244 |
ISNI | ISNI | p213 |
ORCID | ORCID | p496 |
GND | GND | p227 |
SELIBR | LIBRIS | p906 |
BNF | BNF | p268 |
BPN | BPN | p651 |
ULAN | ULAN | p245 |
MBA | MBID | p434 |
NLA | NLA | p409 |
NDL | NDL | p349 |
BIBSYS | BIBSYS | p1015 |
The MusicBrainz Artist ID (MBID) is currently restricted to items that have occupation set to either:
or are an instance of either
If none of these is applicable, it can be forced with: {{authority control|MBA={{#Property:P434}}}} which for The Beatles would produce:
Note that for The beatles {{authority control}} would work out of the box already.
RID (ResearcherID) currently does not have a property.
The template wraps each UID value with the HTML markup: ...
, which enables the first-found value to be included in an hCard microformat. For that reason, VIAF, where present, is emitted first.
This is the TemplateData documentation for the template used by the new VisualEditor.
Authority control
A template to link Wikipedia articles to various library catalogue systems
Paramedr | Disgrifiad | Math | Statws | |
---|---|---|---|---|
VIAF | VIAF | International authority data from the Online Computer Library Center (OCLC) | Rhif | dewisol |
GND | GND PND | Authority data on people, corporations and subjects from the German National Library | Llinyn | dewisol |
LCCN | LCCN | Library of Congress Control Number. See [[Wikipedia:Authority control#LCCN]] for formatting instructions | Rhif | dewisol |
ISNI | ISNI | ISNI is a method for uniquely identifying the public identities of contributors to media content such as books, TV programmes, and newspaper articles | Llinyn | dewisol |
SELIBR | SELIBR | Authority data from the National Library of Sweden | Llinyn | dewisol |
ORCID | ORCID | Authority data on researchers, academics, etc. The ID range has been defined as a subset of the forthcoming ISNI range | Llinyn | dewisol |
BNF | BNF | Authority data of people listed in the general catalogue of the National Library of France | Llinyn | dewisol |
BPN | BPN | Dutch project with material for 40,000 digitized biographies, including former colonies of the Netherlands | Rhif | dewisol |
RID | RID | An identifying system for scientific authors. The system was introduced in January 2008 by Thomson Reuters. The combined use of the Digital Object Identifier with the ResearcherID allows for a unique association of authors and scientific articles | Llinyn | dewisol |
BIBSYS | BIBSYS | BIBSYS is a supplier of library and information systems for all Norwegian university Libraries, the National Library of Norway, college libraries, and a number of research libraries and institutions | Llinyn | dewisol |
ULAN | ULAN | ULAN is an online database using a controlled vocabulary currently containing around 293,000 names and other information about artists | Llinyn | dewisol |
MBA | MBA | MusicBrainz is an open music encyclopedia that collects music metadata and makes it available to the public. | Llinyn | dewisol |
NLA | NLA | Authority control number issued by the National Library of Australia. | Llinyn | dewisol |
NDL | NDL | Authority control number issued by the National Diet Library (National Library of Japan). | Rhif | dewisol |
require('strict') local function getCatForId( id ) local title = mw.title.getCurrentTitle() local namespace = title.namespace if namespace == 0 then return '[[Category:Wikipedia articles with ' .. id .. ' identifiers]]' elseif namespace == 2 and not title.isSubpage then return '[[Category:User pages with ' .. id .. ' identifiers]]' else return '[[Category:Miscellaneous pages with ' .. id .. ' identifiers]]' end end -- the DWB one is experimental and not on enwiki! -- the string change is because all Wikidata entries are stored with the English links (start with s...) -- and we need to use the Welsh ones (start with c...) local function dwbLink( id ) local id2 = mw.ustring.gsub(id, '^s', 'c') return '[https://bywgraffiadur.cymru/article/' .. id2 .. ' Y Bywgraffiadur Cymreig] [[Categori:Dalennau gyda gwybodaeth am Reolaeth Awdurdod]]' end local function viafLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[https://viaf.org/viaf/' .. id .. ' ' .. id .. ']' .. getCatForId( 'VIAF' ) end local function kulturnavLink( id ) return '[http://kulturnav.org/language/en/' .. id .. ' id]' end local function sikartLink( id ) return '[http://www.sikart.ch/KuenstlerInnen.aspx?id=' .. id .. '&lng=en ' .. id .. ']' end local function tlsLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'WIKI') end) return '[http://tls.theaterwissenschaft.ch/wiki/' .. id2 .. ' ' .. id .. ']' end local function ciniiLink( id ) return '[http://ci.nii.ac.jp/author/' .. id .. '?l=en ' .. id .. ']' end -- the ODNB one is experimental and not on enwiki! local function odnbLink( id ) return '[https://doi.org/10.1093/ref:odnb/' .. id .. ' Bywgraffiadur Cenedlaethol Geiriadur Rhydychen] ([http://global.oup.com/oxforddnb/info/freeodnb/libraries/ Mynediad llyfrgelloedd cyhoeddus]) [[Categori:Wikipedia articles with ODNB identifiers]]' end local function bneLink( id ) return '[http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id=' .. id .. ' ' .. id .. ']' end local function uscongressLink( id ) return '[http://bioguide.congress.gov/scripts/biodisplay.pl?index=' .. id .. ' ' .. id .. ']' end local function narapersonLink( id ) return '[http://research.archives.gov/person/' .. id .. ' ' .. id .. ']' end local function naraorganizationLink( id ) return '[http://research.archives.gov/organization/' .. id .. ' ' .. id .. ']' end local function botanistLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'PATH') end) return '[http://www.ipni.org/ipni/advAuthorSearch.do?find_abbreviation=' .. id2 .. ' ' .. id .. ']' end local function mgpLink( id ) -- TODO Implement some sanity checking regex return '[http://www.genealogy.ams.org/id.php?id=' .. id .. ' ' .. id .. ']' end local function rslLink( id ) -- TODO Implement some sanity checking regex return '[http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function leonoreLink( id ) -- Identifiants allant de LH/1/1 à LH/2794/54 (légionnaires) -- Identifiants allant de C/0/1 à C/0/84 (84 légionnaires célèbres) -- 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) if not string.match( id, '^LH/%d%d?%d?%d?/%d%d?%d?$' ) and not string.match( id, '^C/0/%d%d?$' ) and not string.match( id, '^19800035/%d%d?%d?%d?/%d%d?%d?%d?%d?$' ) then return false end return '[//www.culture.gouv.fr/public/mistral/leonore_fr?ACTION=CHERCHER&FIELD_1=COTE&VALUE_1=' .. id .. ' ' .. id .. ']' end local function sbnLink( id ) if not string.match( id, '^IT\\ICCU\\%d%d%d%d%d%d%d%d%d%d$' ) and not string.match( id, '^IT\\ICCU\\%u%u[%d%u]%u\\%d%d%d%d%d%d$' ) then return false end return '[http://opac.sbn.it/opacsbn/opac/iccu/scheda_authority.jsp?bid=' .. id .. ' ' .. id .. ']' end local function nkcLink( id ) return '[http://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function nclLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function ndlLink( id ) return '[http://id.ndl.go.jp/auth/ndlna/' .. id .. ' ' .. id .. ']' end local function sudocLink( id ) if not string.match( id, '^%d%d%d%d%d%d%d%d[%dxX]$' ) then return false end return '[http://www.idref.fr/' .. id .. ' ' .. id .. ']' end local function hlsLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.hls-dhs-dss.ch/textes/f/F' .. id .. '.php ' .. id .. ']' end local function lirLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.e-lir.ch/e-LIR___Lexicon.' .. id .. '.450.0.html ' .. id .. ']' end local function splitLccn( id ) if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' ) end if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then return mw.text.split( id, '/' ) end return false end local function append(str, c, length) while str:len() < length do str = c .. str end return str end local function lccnLink( id ) local parts = splitLccn( id ) if not parts then return false end local lccnType = parts[1] ~= 'sh' and 'names' or 'subjects' id = parts[1] .. parts[2] .. append( parts[3], '0', 6 ) return '[http://id.loc.gov/authorities/' .. lccnType .. '/' .. id .. ' ' .. id .. ']' .. getCatForId( 'LCCN' ) end local function mbLink( id ) -- TODO Implement some sanity checking regex return '[//musicbrainz.org/artist/' .. id .. ' ' .. id .. ']' .. getCatForId( 'MusicBrainz' ) end --Returns the ISNI check digit isni must be a string where the 15 first elements are digits local function getIsniCheckDigit( isni ) local total = 0 for i = 1, 15 do local digit = isni:byte( i ) - 48 --Get integer value total = (total + digit) * 2 end local remainder = total % 11 local result = (12 - remainder) % 11 if result == 10 then return "X" end return tostring( result ) end --Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid --See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier local function validateIsni( id ) id = id:gsub( '[ %-]', '' ):upper() if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then return false end if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then return false end return id end local function isniLink( id ) id = validateIsni( id ) if not id then return false end return '[http://isni.org/' .. id .. ' ' .. id:sub( 1, 4 ) .. ' ' .. id:sub( 5, 8 ) .. ' ' .. id:sub( 9, 12 ) .. ' ' .. id:sub( 13, 16 ) .. ']' .. getCatForId( 'ISNI' ) end local function orcidLink( id ) id = validateIsni( id ) if not id then return false end id = id:sub( 1, 4 ) .. '-' .. id:sub( 5, 8 ) .. '-' .. id:sub( 9, 12 ) .. '-' .. id:sub( 13, 16 ) return '[http://orcid.org/' .. id .. ' ' .. id .. ']' .. getCatForId( 'ORCID' ) end local function gndLink( id ) return '[http://d-nb.info/gnd/' .. id .. ' ' .. id .. ']' .. getCatForId( 'GND' ) end local function selibrLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[//libris.kb.se/auth/' .. id .. ' ' .. id .. ']' .. getCatForId( 'SELIBR' ) end local function bnfLink( id ) --Add cb prefix if it has been removed if not string.match( id, '^cb.+$' ) then id = 'cb' .. id end return '[http://catalogue.bnf.fr/ark:/12148/' .. id .. ' ' .. id .. '] [http://data.bnf.fr/ark:/12148/' .. id .. ' (data)]' .. getCatForId( 'BNF' ) end local function bpnLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.biografischportaal.nl/en/persoon/' .. id .. ' ' .. id .. ']' .. getCatForId( 'BPN' ) end local function ridLink( id ) return '[http://www.researcherid.com/rid/' .. id .. ' ' .. id .. ']' .. getCatForId( 'RID' ) end local function bibsysLink( id ) return '[http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&cql=bs.autid+%3D+' .. id .. '&feltselect=bs.autid ' .. id .. ']' .. getCatForId( 'BIBSYS' ) end local function ulanLink( id ) return '[//www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid=' .. id .. ' ' .. id .. ']' .. getCatForId( 'ULAN' ) end local function nlaLink( id ) return '[//nla.gov.au/anbd.aut-an' .. id .. ' ' .. id .. ']' .. getCatForId( 'NLA' ) end local function getIdsFromWikidata( item, property ) local ids = {} if not item.claims[property] then return ids end for _, statement in pairs( item.claims[property] ) do if statement.mainsnak.datavalue then table.insert( ids, statement.mainsnak.datavalue.value ) end end return ids end local function matchesWikidataRequirements( item, reqs ) for _, group in pairs( reqs ) do local property = 'p' .. group[1] local qid = group[2] if item.claims[property] ~= nil then for _, statement in pairs ( item.claims[property] ) do if statement.mainsnak.datavalue ~= nil then if statement.mainsnak.datavalue.value['numeric-id'] == qid then return true end end end end end return false end local function createRow( id, label, rawValue, link, withUid ) if link then if withUid then return '* ' .. label .. ' ' .. link .. '\n' else return '* ' .. label .. ' ' .. link .. '\n' end else return '* .. id .. ' id ' .. rawValue .. ' is not valid.[[Category:Wikipedia articles with faulty authority control identifiers (' .. id .. ')]]\n' end end --In this order: name of the parameter, label, propertyId in Wikidata, formatting function local conf = { { 'DWB', '[[Y Bywgraffiadur Cymreig|YBC]]', 1648, dwbLink }, { 'VIAF', '[[Virtual International Authority File|VIAF]]', 214, viafLink }, { 'LCCN', '[[Library of Congress Control Number|LCCN]]', 244, lccnLink }, { 'ISNI', '[[International Standard Name Identifier|ISNI]]', 213, isniLink }, { 'ORCID', '[[ORCID]]', 496, orcidLink }, { 'GND', '[[Integrated Authority File|GND]]', 227, gndLink }, { 'SELIBR', '[[LIBRIS|SELIBR]]', 906, selibrLink }, { 'SUDOC', '[[Système universitaire de documentation|SUDOC]]', 269, sudocLink }, { 'BNF', '[[Bibliothèque nationale de France|BNF]]', 268, bnfLink }, { 'BPN', '[[Biografisch Portaal|BPN]]', 651, bpnLink }, { 'RID', '[[ResearcherID]]', 1053, ridLink }, { 'BIBSYS', '[[BIBSYS]]', 1015, bibsysLink }, { 'ULAN', '[[Union List of Artist Names|ULAN]]', 245, ulanLink }, { 'HDS', '[[Historical Dictionary of Switzerland|HDS]]', 902, hlsLink }, { 'LIR', '[[Historical Dictionary of Switzerland#Lexicon_Istoric_Retic|LIR]]', 886, lirLink }, { 'MBA', '[[MusicBrainz]]', 434, mbLink }, { 'MGP', '[[Mathematics Genealogy Project|MGP]]', 549, mgpLink }, { 'NLA', '[[National Library of Australia|NLA]]', 409, nlaLink }, { 'NDL', '[[National Diet Library|NDL]]', 349, ndlLink }, { 'NCL', '[[National Central Library|NCL]]', 1048, nclLink }, { 'NKC', '[[National Library of the Czech Republic|NKC]]', 691, nkcLink }, { 'Léonore', '[[:fr:Base Léonore|Léonore]]', 640, leonoreLink }, { 'SBN', '[[Istituto Centrale per il Catalogo Unico|ICCU]]', 396, sbnLink }, { 'RLS', '[[Russian State Library|RLS]]', 947, rslLink }, { 'Botanist', '[[Author citation (botany)|Botanist]]', 428, botanistLink }, { 'NARA-person', '[[National Archives and Records Administration|NARA]]', 1222, narapersonLink }, { 'NARA-organization', '[[National Archives and Records Administration|NARA]]', 1223, naraorganizationLink }, { 'USCongress', '[[Biographical Directory of the United States Congress|US Congress]]', 1157, uscongressLink }, { 'BNE', '[[Biblioteca Nacional de España|BNE]]', 950, bneLink }, { 'CINII', '[[CiNii]]', 271, ciniiLink }, { 'TLS', '[[Theaterlexikon der Schweiz|TLS]]', 1362, tlsLink }, { 'SIKART', '[[SIKART]]', 781, sikartLink }, { 'KULTURNAV', '[[KulturNav]]', 1248, kulturnavLink }, { 'ODNB', '[[Bywgraffiadur Cenedlaethol Geiriadur Rhydychen|ODNB]]', 1415, odnbLink }, } -- Check that the Wikidata item has this property-->value before adding it local reqs = {} reqs['MBA'] = { { 106, 177220 }, -- occupation -> singer { 31, 177220 }, -- instance of -> singer { 106, 13385019 }, -- occupation -> rapper { 31, 13385019 }, -- instance of -> rapper { 106, 639669 }, -- occupation -> musician { 31, 639669 }, -- instance of -> musician { 106, 36834 }, -- occupation -> composer { 31, 36834 }, -- instance of -> composer { 106, 488205 }, -- occupation -> singer-songwriter { 31, 488205 }, -- instance of -> singer-songwriter { 106, 183945 }, -- occupation -> record producer { 31, 183945 }, -- instance of -> record producer { 106, 10816969 }, -- occupation -> club DJ { 31, 10816969 }, -- instance of -> club DJ { 106, 130857 }, -- occupation -> DJ { 31, 130857 }, -- instance of -> DJ { 106, 158852 }, -- occupation -> conductor { 31, 158852 }, -- instance of -> conductor { 31, 215380 }, -- instance of -> band { 31, 5741069 }, -- instance of -> rock band } local p = {} function p.authorityControl( frame ) local parentArgs = frame:getParent().args --Create rows local elements = {} local withLocalArgs = false for _,_ in pairs( parentArgs ) do withLocalArgs = true end --redirect PND to GND if (parentArgs.GND == nil or parentArgs.GND == '') and parentArgs.PND ~= nil and parentArgs.PND ~= '' then parentArgs.GND = parentArgs.PND end --Wikidata fallback if requested local item = mw.wikibase.getEntityObject() if item ~= nil and item.claims ~= nil then for _, params in pairs( conf ) do if params[3] ~= 0 then local val = parentArgs[params[1]] if not val or val == '' then local canUseWikidata = nil if reqs[params[1]] ~= nil then canUseWikidata = matchesWikidataRequirements( item, reqs[params[1]] ) else canUseWikidata = true end if canUseWikidata then local wikidataIds = getIdsFromWikidata( item, 'P' .. params[3] ) if wikidataIds[1] then parentArgs[params[1]] = wikidataIds[1] end end end end end end --Worldcat if parentArgs['WORLDCATID'] and parentArgs['WORLDCATID'] ~= '' then table.insert( elements, createRow( 'WORLDCATID', '', parentArgs['WORLDCATID'], '[//www.worldcat.org/identities/' .. parentArgs['WORLDCATID'] .. ' WorldCat]', false ) ) --Validation? elseif parentArgs['LCCN'] and parentArgs['LCCN'] ~= '' then local lccnParts = splitLccn( parentArgs['LCCN'] ) if lccnParts then table.insert( elements, createRow( 'LCCN', '', parentArgs['LCCN'], '[//www.worldcat.org/identities/lccn-' .. lccnParts[1] .. lccnParts[2] .. '-' .. lccnParts[3] .. ' WorldCat]', false ) ) end end --Configured rows local rct = 0 for k, params in pairs( conf ) do local val = parentArgs[params[1]] if val and val ~= '' then table.insert( elements, createRow( params[1], params[2] .. ':', val, params[4]( val ), true ) ) rct = rct + 1 end end local Navbox = require('Module:Navbox') local elementscats = '' if rct > 13 then elementscats = '[[Category:AC with ' .. rct .. ' elements]]' end if withLocalArgs then elementscats = elementscats .. '[[Category:Pages using authority control with parameters]]\n' end if table.maxn(elements) ~= 0 then return Navbox._navbox( { name = 'Awdurdod', bodyclass = 'hlist', group1 = '[[Awdurdod]]' .. elementscats, list1 = table.concat( elements ) } ) else return "" end end return p