Predefinição:Field: mudanças entre as edições

Conteúdo deletado Conteúdo adicionado
replacing RegexFun > RegexFunctions
Sem resumo de edição
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 100:
]
}
</templatedata></noinclude><includeonly><div style="display: none"><!-- armazenamento semântico --><!-- cria a Propriedade Field data com o conteúdo completo do campo (indicadores e subcampos), armazenando no subobjeto do campo; faz o cálculo do Field length e armazena no subobjeto do campo --> {{#subobject:{{{tag|}}}
</templatedata></noinclude><includeonly>
| <!-- faz a exibição do campo colocando negrito nos 3 primeiros números --> {{#switch: {{NAMESPACE}}
| Autoridade = {{#rreplace:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#rreplace:{{BibRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
}}
| style="text-align: center; font-weight: bold;" | <!-- exibição do ind1 --> {{{ind1|}}}
| style="text-align: center; font-weight: bold;" | <!-- exibição do ind2 --> {{{ind2|}}}
| <!-- faz a exibição dos subcampos: a primeira regex testa se há um subcampo válido; se não houver, exibe o conteúdo em vermelho; se houver, segue para uma série de outras regex: a primeira regex, a mais interior, colore os subcampos em azul e retira o espaço entre o símbolo "$" e o designador do subcampo "[a-z0-8]" para melhorar exibição ("$ a" > "$a" azul); a segunda regex adiciona uma quebra de linha antes dos subcampos, também para melhorar a exibição; a terceira regex retira a quebra de linha inicial que foi adicionada pela regex anterior (a segunda regex); a quarta regex remove a quebra de linha informada pelo usuário; a quinta regex verifica se há maiúsculas como designadores de subcampo e aplica a cor vermelha. -->
{{#rmatch:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/(\$[a-z0-8])\s*/|{{#rreplace:{{#rreplace:{{#rreplace:{{#rreplace:{{#rreplace:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\$([a-z0-8])\s*/|${{#tag:b|$1|style=color:blue;}}}}|/(\$<b\s.*?[a-z0-8].*?<\/b>)/|<br>$1}}|/(^<br>)/|}}|/(\n)/|&#32;}}|/(\$[A-Z ])(.*)/|{{#tag:b|$1|style=color:red;}}$2}}|{{#tag:b|{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|style=color:red;}}}}
|-<nowiki/>
<div style="display: none">
<!--
==== Beautify ====
A primeira regex, a mais interior, retira os espaços entre os designadores de subcampo e seus conteúdos:
"$a Bar $b Foo" > "$aBar $bFoo"
A segunda regex retira quebras de linha antes de designadores de subcampo:
"$aBar
$bFoo" > "$aBar$bFoo"
A terceira regex retira espaços antes de designadores de subcampo:
"$aBar $bFoo" > "$aBar$bFoo"
Depois de normalizar a string com a regexes anteriores, a quarta regex adiciona um espaço antes e depois dos designadores de subcampo:
"$aBar$bFoo" > " $a Bar $b Foo"
#sub remove o primeiro espaço adicionado pela regex anterior:
" $a Bar $b Foo" > "$a Bar $b Foo"
A quinta regex substitui quebras de linha por espaços no conteúdo dos subcampos:
"$aBar
Baz$bFoo" > " $a Bar Baz$b Foo"
A sexta regex remove espaços duplos no conteúdo:
" $a Bar Baz" > "$a Bar Baz"
== Exemplo completo:
$aFerreira, Jaider A.$q (Jaider Andrade),
$d1990-
>
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
==== UnBeautify ====
Torna a string apta para exportação (ISO 2709, MARCXML, etc.)
{{#rreplace:|/\s?(\$.)\s/|$1}}
Exemplo:
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
>
$aFerreira, Jaider A.$q(Jaider Andrade),$d1990-
-->
<!-- armazenamento semântico -->
<!-- cria a Propriedade Field data com o conteúdo completo do campo (indicadores e subcampos), armazenando no subobjeto do campo; faz o cálculo do Field length e armazena no subobjeto do campo -->
 
{{#subobject:{{{tag|}}}
|Field data={{{ind1|#}}}{{{ind2|#}}}{{#rreplace:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 (A{{!}}\(BN\))\d*/|}}
|@sortkey={{{tag|}}}
<!-- DesnecessárioRemover poreste enquantocomentário quebra o PageForms, não entendi o porque: |Field length={{{tag|}}}{{padleft:{{#invoke:String|strlen|ii{{#var:unBeautifiedInput}}s}}|4}} -->
}}</div></includeonly>