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

sem sumário de edição
Sem resumo de edição
Sem resumo de edição
 
if not mw.smw then
return "mw.smw module not found"
end
-- Retorna os Field lengths dos subobjetos (campos)
-- Template:ISO2709/ControlFieldDirectoryBuilder e
-- Template:ISO2709/DataFieldDirectoryBuilder
-- fazem o trabalho de saída para as consultas #ask
local fieldLengths = frame:preprocess(
[=[{{#ask: [[-Has subobject::{{{1|{{#urldecode:{{#urlget:fullpagename|{{FULLPAGENAME}}}}}}}}}]]
mw.text.split ( fieldLengths, ',' , true )
) do
-- fieldLengths é o resultado das consultas #ask. Retorna, portanto,
-- frame.args[1] captura o primeiro e único argumento da chamada
-- valores como: '0010007,0030009,0050017,0080041'.
-- {{#invoke:Directory|makeDirectory|...}} que é o resultado das consultas
-- #ask da Predefinição:Directory. Ele retorna, portanto, valores como:
-- '0010007,0030009,0050017,0080041'.
-- É necessário remover as marcações invisíveis [[SMW::off]] e [[SMW::on]]
-- para que a conta abaixo seja efetuada com sucesso.
-- a cada iteração, os últimos 4 números de 'tagAndLenght' são somados e
-- armazenados na variável 'sum'.
end
--[[ O diretório completo é armazenado na propriedade Directory do subobjeto
000 (para posterior uso na Predefinição ISO 2709. Ao final, o
Base address of data (número de caracteres do Líder (24) + o número de
caracteres do Diretório + 1 caractere de "Field terminator") é calculado e
armazenado também no subobjeto 000 (para uso no Líder das Predefinições
Bibliographic record e Authority record).
--]]
 
local baseAddressOfData = string.format("%05d", #directory + 25)
-- Cálculo do "Record length":