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

De Wikincat
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 17: Linha 17:
</pre>
</pre>
Edite a página para ver o texto da predefinição.
Edite a página para ver o texto da predefinição.
</noinclude><includeonly>
</noinclude><templatedata>
| <!-- faz a exibição do campo colocando negrito nos 3 primeiros números --> {{#switch: {{NAMESPACE}}
| Autoridade = {{#regex:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#regex:{{BibRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
}}
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind1 --> {{{ind1|}}}
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind2 --> {{{ind2|}}}
| <!-- faz a exibição dos subcampos: a primeira regex após o #if, 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. --> {{#if:{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/(\$[a-z0-8])\s*/}}|{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/(\$[a-z0-8])\s*/|<b style="color:blue;">$1</b>}}|/(<b\s.*?\$[a-z0-8].*?<\/b>)/|<br>$1}}|/^<br>/|}}|/\n/|&#32;}}|/(\$[A-Z])(.*)/|<b style="color:red;">$1</b>$2}}|<b style="color:red;">{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}</b>}}
|-<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.)
{{#regex:|/\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 -->

{{#vardefine:unBeautifiedInput|{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?(\$.)\s/|$1}}}}

{{#subobject:{{{tag|}}}
|Field data={{#regex:{{{ind1|#}}}{{{ind2|#}}}{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 A\d*/|}}
|@sortkey={{{tag|}}}
<!-- Desnecessário por enquanto: |Field length={{{tag|}}}{{padleft:{{#invoke:String|strlen|ii{{#var:unBeautifiedInput}}s}}|4}} -->
}}</div></includeonly><templatedata>
{
{
"description": "Adicionar ou editar campo MARC.",
"description": "Adicionar ou editar campo MARC.",
Linha 134: Linha 84:
}
}
],
],
"format": "block"
"format": "block",
"paramOrder": ["tag", "authorityType", "ind1", "ind2", "data", "authorityData100", "authorityData110", "authorityData111", "authorityData130", "authorityData150", "authorityData151"]
}
}
</templatedata>
</templatedata><includeonly>
| <!-- faz a exibição do campo colocando negrito nos 3 primeiros números --> {{#switch: {{NAMESPACE}}
| Autoridade = {{#regex:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#regex:{{BibRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
}}
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind1 --> {{{ind1|}}}
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind2 --> {{{ind2|}}}
| <!-- faz a exibição dos subcampos: a primeira regex após o #if, 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. --> {{#if:{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/(\$[a-z0-8])\s*/}}|{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/(\$[a-z0-8])\s*/|<b style="color:blue;">$1</b>}}|/(<b\s.*?\$[a-z0-8].*?<\/b>)/|<br>$1}}|/^<br>/|}}|/\n/|&#32;}}|/(\$[A-Z])(.*)/|<b style="color:red;">$1</b>$2}}|<b style="color:red;">{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}</b>}}
|-<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.)
{{#regex:|/\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 -->

{{#vardefine:unBeautifiedInput|{{#regex:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?(\$.)\s/|$1}}}}

{{#subobject:{{{tag|}}}
|Field data={{#regex:{{{ind1|#}}}{{{ind2|#}}}{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 A\d*/|}}
|@sortkey={{{tag|}}}
<!-- Desnecessário por enquanto: |Field length={{{tag|}}}{{padleft:{{#invoke:String|strlen|ii{{#var:unBeautifiedInput}}s}}|4}} -->
}}</div></includeonly>

Edição das 14h26min de 16 de janeiro de 2021

Esta é a predefinição 'Field'. Ela deve ser chamada no seguinte formato:

{{Field
|tag=
|ind1=
|ind2=
|data=
|authorityData100=
|authorityData110=
|authorityData111=
|authorityData130=
|authorityData150=
|authorityData151=
}}

Edite a página para ver o texto da predefinição.

Adicionar ou editar campo MARC.

Parâmetros da predefinição

Esta predefinição prefere a formatação em blocos de parâmetros.

ParâmetroDescriçãoTipoEstado
Campo MARCtag

Campo no formato XXX (apenas três números).

Númeroobrigatório
Tipo de autoridadeauthorityType

Se o campo é ou não controlado por um tipo de autoridade. Opções: Nenhuma, Pessoa, Entidade coletiva, Evento, Título uniforme, Tópico, Local

Padrão
Nenhuma
Exemplo
Nenhuma
Desconhecidarecomendado
Primeiro indicadorind1

0 a 9 ou #, dependendo do campo

Padrão
#
Linhaopcional
Segundo indicadorind2

0 a 9 ou #, dependendo do campo

Padrão
#
Linhaopcional
Subcampos livres (sem controle de autoridade)data

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 100)authorityData100

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 110)authorityData110

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 111)authorityData111

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 130)authorityData130

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 150)authorityData150

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado
Subcampos controlados (autoridade do tipo 151)authorityData151

Subcampos no formato $a ... $b ... $c ...

Exemplo
Nenhuma
Stringrecomendado