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

De Wikincat
Ir para navegação Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
Sem resumo de edição
 
Sem resumo de edição
 
(36 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<noinclude>
<noinclude><templatedata>
{
Esta é a predefinição 'Field'.
"description": "Adicionar ou editar campo MARC",
Ela deve ser chamada no seguinte formato:
"params": {
<pre>
"tag": {
{{Field
"label": "Campo MARC",
|tag=
"description": "Campo no formato XXX (apenas três números)",
|ind1=
"type": "number",
|ind2=
"required": true,
|data=
"example": "245"
|authorityData100=
},
|authorityData110=
"authorityType": {
|authorityData111=
"label": "Tipo de autoridade",
|authorityData130=
"description": "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",
|authorityData150=
"type": "string",
|authorityData151=
"default": "Nenhuma",
}}
"example": "Pessoa",
</pre>
"autovalue": "Nenhuma",
Edite a página para ver o texto da predefinição.
"required": true
</noinclude><includeonly>
},
| <!-- faz a exibição do campo colocando negrito nos 3 primeiros números --> {{#switch: {{NAMESPACE}}
"ind1": {
| Autoridade = {{#regex:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
"label": "Primeiro indicador",
| {{#regex:{{BibRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
"description": "0 a 9 ou #, dependendo do campo",
}}
"type": "string",
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind1 --> {{{ind1|}}}
"default": "#",
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind2 --> {{{ind2|}}}
"suggested": true
| <!-- 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/>
"ind2": {
<div style="display: none">
"label": "Segundo indicador",
<!--
"inherits": "ind1"
==== Beautify ====
},
A primeira regex, a mais interior, retira os espaços entre os designadores de subcampo e seus conteúdos:
"data": {
"$a Bar $b Foo" > "$aBar $bFoo"
"label": "Sem autoridade",
A segunda regex retira quebras de linha antes de designadores de subcampo:
"description": "Subcampos no formato $a ... $b ... $c ...",
"$aBar
"type": "string",
$bFoo" > "$aBar$bFoo"
"autovalue": "$a ",
A terceira regex retira espaços antes de designadores de subcampo:
"suggested": true
"$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:
"authorityData100": {
"$aBar$bFoo" > " $a Bar $b Foo"
"label": "Autoridade 100",
#sub remove o primeiro espaço adicionado pela regex anterior:
"description": "Subcampos no formato $a ... $b ... $0 AXXXXXX",
" $a Bar $b Foo" > "$a Bar $b Foo"
"suggested": false,
A quinta regex substitui quebras de linha por espaços no conteúdo dos subcampos:
"autovalue": null,
"$aBar
"type": "string"
Baz$bFoo" > " $a Bar Baz$b Foo"
},
A sexta regex remove espaços duplos no conteúdo:
"authorityData110": {
" $a Bar Baz" > "$a Bar Baz"
"label": "Autoridade 110",
== Exemplo completo:
"inherits": "authorityData100"
$aFerreira, Jaider A.$q (Jaider Andrade),
},
$d1990-
"authorityData111": {
>
"label": "Autoridade 111",
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
"inherits": "authorityData100"
==== UnBeautify ====
},
Torna a string apta para exportação (ISO 2709, MARCXML, etc.)
"authorityData130": {
{{#regex:|/\s?(\$.)\s/|$1}}
"label": "Autoridade 130",
Exemplo:
"inherits": "authorityData100"
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
},
>
"authorityData150": {
$aFerreira, Jaider A.$q(Jaider Andrade),$d1990-
"label": "Autoridade 150",
-->
"inherits": "authorityData100"
<!-- 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 -->
"authorityData151": {

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

}
{{#subobject:{{{tag|}}}
},
|Field data={{#regex:{{{ind1|#}}}{{{ind2|#}}}{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 A.*/|}}
"sets": [
{
"label": "Indicadores",
"params": [
"ind1",
"ind2"
]
},
{
"label": "Valores controlados",
"params": [
"authorityData100",
"authorityData110",
"authorityData111",
"authorityData130",
"authorityData150",
"authorityData151"
]
}
],
"format": "\n{{_\n|_=_\n}}\n",
"paramOrder": [
"tag",
"authorityType",
"ind1",
"ind2",
"data",
"authorityData100",
"authorityData110",
"authorityData111",
"authorityData130",
"authorityData150",
"authorityData151"
]
}
</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|}}}
|Field data={{{ind1|#}}}{{{ind2|#}}}{{#rreplace:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 (A{{!}}\(BN\))\d*/|}}
|@sortkey={{{tag|}}}
|@sortkey={{{tag|}}}
<!-- Desnecessário por enquanto: |Field length={{{tag|}}}{{padleft:{{#invoke:String|strlen|ii{{#var:unBeautifiedInput}}s}}|4}} -->
<!-- Remover este comentário quebra o PageForms, não entendi o porque: |Field length={{{tag|}}} -->
}}</div></includeonly>
}}</div></includeonly>

Edição atual tal como às 07h50min de 6 de fevereiro de 2026

Adicionar ou editar campo MARC

Parâmetros da predefinição[Editar dados da predefinição]

Esta predefinição possui formatação personalizada.

ParâmetroDescriçãoTipoEstado
Campo MARCtag

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

Exemplo
245
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
Pessoa
Valor automático
Nenhuma
Stringobrigatório
Primeiro indicadorind1

0 a 9 ou #, dependendo do campo

Padrão
#
Stringrecomendado
Segundo indicadorind2

0 a 9 ou #, dependendo do campo

Padrão
#
Stringrecomendado
Sem autoridadedata

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

Valor automático
$a
Stringrecomendado
Autoridade 100authorityData100

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional
Autoridade 110authorityData110

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional
Autoridade 111authorityData111

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional
Autoridade 130authorityData130

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional
Autoridade 150authorityData150

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional
Autoridade 151authorityData151

Subcampos no formato $a ... $b ... $0 AXXXXXX

Stringopcional