Módulo:BibRules: mudanças entre as edições

Ir para navegação Ir para pesquisar
sem sumário de edição
imported>Jaideraf
Sem resumo de edição
imported>Jaideraf
Sem resumo de edição
function p.BibRules(frame)
-- Define o alvo das regras
local target = frame:getParent().args[1] or frame:getParent().args[1]
if target == "" or target == nil then
target = mw.uri.decode(frame:callParserFunction("#urlget", "fullpagename"))
local test, info, queryResult
local infos = {}
-- Funções básicas
function ucfirst(str)
return (str:gsub("^%l", string.upper))
end
-- Somente realize as análises de existir o campo 245
if frame:expandTemplate {title = "Exist", args = {"245", target}} ~= "" then
name = "#ask:[[" .. target .. "#100||" .. target .. "#110||" .. target .. "#111||" .. target .. "#130]]",
args = {"?Field data", format = "count", mainlabel = "-"}
} or 0
accessPointPresence = tonumber( accessPointPresence )
-- A seguir, testa se há subcampo $b e se há espaço no subcampo $c do campo 090
test = frame:expandTemplate {title = "Exist", args = {"090", target}} or false
end
-- A seguir, testa se não foi esquecida a letra do tíulo na notação de Cutter, caso haja um ponto de acesso 1XX
if tonumber(accessPointPresence) >= 1 and string.match(test, "[0-9]$") then
info = "* <strong class='error'>Falta a letra do título na notação de Cutter.</strong>"
table.insert(infos, info)
-- A seguir, testa (conta) se existe mais de um ponto de acesso principal
local f100existance = frame:expandTemplate {title = "Exist", args = {"100", target}}
if tonumber(accessPointPresence) > 1 or f100existance == "multiple" then
info =
"* <strong class='error'>Foi registrado '''mais de um ponto de acesso principal'''. Isso não é permitido.</strong>"
if f130existance ~= "" then
local f130 = mw.text.trim( frame:expandTemplate {title = "Field data string", args = {"130", "0", "0", fullpagename = target}} or '' )
info = "* O ponto de acesso principal foi dado a um '''eventotítulo uniforme'''."
table.insertif f130:sub(infos1, info1) == "#" then
info = info .. ", porém, <strong class='error'>o primeiro indicador não foi preenchido.</strong>"
table.insert(infos, info)
else
local f130a = frame:expandTemplate {title = "Select", args = {"130", "a", target}}
info = info .. ', ele será alfabetado como "' .. ucfirst( f130a:sub( f130:sub(1, 1) ) ) .. '".'
table.insert(infos, info)
--[[ end
if f130:sub(2, 2) ~= "#" then
info =
end
-- A seguir, testa se existe um ponto de acesso principal. Se existir, testa se o primeiro indicador do campo 245 condiz com essa realidade
local f245ind1 = mw.text.trim( frame:expandTemplate {title = "Field data string", args = {"245", "0", "1", fullpagename = target}} ) or ''
--[[
if accessPointPresence == 0 then
--]]
if f245ind1 == "1" then
info = "* <strong class='error'>Não houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor \"0\".</strong>"
table.insert(infos, info)
end
--]]else
if f245ind1 == "0" then
info = "* <strong class='error'>Houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor \"1\".</strong>"
table.insert(infos, info)
end
end
-- a seguir, testa a relação entre a presença do campo 240 em relação a presença do campo 041 e a presença do subcampo $l -->
 
end -- end if 245
return table.concat(infos, "\n")
Usuário anônimo

Menu de navegação