Zum Inhalt springen

Modul:Citation: Unterschied zwischen den Versionen

urn check
(lowercase letters)
(urn check)
Zeile 2: Zeile 2:
local citation = {
local citation = {
suite  = 'Citation',
suite  = 'Citation',
serial = '2022-08-15',
serial = '2022-08-16',
item  = 56159597
item  = 56159597
}
}
Zeile 204: Zeile 204:
end
end


local match, country
if cu.isSet( args.urn ) then
if cu.isSet( args.urn ) then
args.urn = args.urn:gsub( '^urn:', '' )
args.urn = args.urn:lower():gsub( '^urn:', '' )
if not ( args.urn:match( '^nbn:de:[%d%l%-%.:/_]+%d$' ) or args.urn:match( '^nbn:ch:[%d%l%-%.:/_]+%d$' ) ) then
match, country = args.urn:match( '^(nbn:(%l%l):[%d%l%-%.:/_]+)$' )
if not ( match and country and ci.nbnResolving[ country ] ) then
args.urn = ''
args.urn = ''
table.insert( wrong, 'urn' )
table.insert( wrong, 'urn' )
end
end
end
end
if cu.isSet( args.urn ) and args.urn:match( '^nbn:de:' ) and
if cu.isSet( args.urn ) and ci.nbnCheckDigit[ country ] and
not cu.checkUrnDe( 'urn:' .. args.urn ) then
not cu.check_UrnNbn( 'urn:' .. args.urn ) then
cu.addErrorMsg( ci.texts.wrongURN )
cu.addErrorMsg( ci.texts.wrongURN )
end
end
Anonymer Benutzer