Predefinição:ISO2709/DataFieldDirectoryBuilder: mudanças entre as edições
< ISO 2709
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
(replacing RegexFun > RegexFunctions) |
||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 1: | Linha 1: | ||
{{#arraymap:{{{2|}}}|&&&&|@@@@|{{#rmatch:{{{1|}}}|/\d{3}$/|$0}}{{padleft:{{#invoke:String|strlen|ii{{#rreplace:{{#rreplace:{{#sub:@@@@|2}}|/\s?(\$.)\s/|$1}}|/ +([:;])/|.$1}}s}}|4}}|,}}<!-- Esta predefinição, em conjunto com a predefinição /ControlFieldDirectoryBuilder, faz parte da predefinição ISO2709. Ela recebe os dados da consulta e os processa da seguinte maneira: {{{1|}}} traz o título do subobjeto (mainlabel) que contém o campo MARC (\d{3}). {{{2|}}} é/são o/s datafield/s recuperado/s. Eles são delimitados por "&&&&" e passados para a arraymap, de modo a processar os campos. A primeira regex normaliza o dado ("$a Foo $b Bar" > "$aFoo$bBar") e a segunda regex troca um non-breaking space seguido de ":" ou ";" por um ponto para a correta contagem de bytes (non-breaking space usa dois bytes, mas o JavaScript exportará um espaço comum em seu lugar, contando apenas um byte). Esse non-breaking space é adicionado automaticamente pelo parser do MediaWiki. --> |