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

De Wikincat
Ir para navegação Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
m uma edição
Sem resumo de edição
 
(35 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