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

De Wikincat
Ir para navegação Ir para pesquisar
imported>Jaideraf
Sem resumo de edição
imported>Jaideraf
Sem resumo de edição
 
(29 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>
},
"ind1": {
"label": "Primeiro indicador",
"description": "0 a 9 ou #, dependendo do campo",
"type": "string",
"default": "#",
"suggested": true
},
"ind2": {
"label": "Segundo indicador",
"inherits": "ind1"
},
"data": {
"label": "Sem autoridade",
"description": "Subcampos no formato $a ... $b ... $c ...",
"type": "string",
"autovalue": "$a ",
"suggested": true
},
"authorityData100": {
"label": "Autoridade 100",
"description": "Subcampos no formato $a ... $b ... $0 AXXXXXX",
"suggested": false,
"autovalue": null,
"type": "string"
},
"authorityData110": {
"label": "Autoridade 110",
"inherits": "authorityData100"
},
"authorityData111": {
"label": "Autoridade 111",
"inherits": "authorityData100"
},
"authorityData130": {
"label": "Autoridade 130",
"inherits": "authorityData100"
},
"authorityData150": {
"label": "Autoridade 150",
"inherits": "authorityData100"
},
"authorityData151": {
"label": "Autoridade 151",
"inherits": "authorityData100"
}
},
"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>
| <!-- faz a exibição do campo colocando negrito nos 3 primeiros números --> {{#switch: {{NAMESPACE}}
| <!-- 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>}}
| Autoridade = {{#rreplace:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#regex:{{BibRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#rreplace:{{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;" | <!-- exibição do ind1 --> {{{ind1|}}}
| style="text-align: center; font-weight: bold;" | <!-- faz a exibição do ind2 --> {{{ind2|}}}
| style="text-align: center; font-weight: bold;" | <!-- 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>}}
| <!-- 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/>
|-<nowiki/>
<div style="display: none">
<div style="display: none">
Linha 52: Linha 136:
==== UnBeautify ====
==== UnBeautify ====
Torna a string apta para exportação (ISO 2709, MARCXML, etc.)
Torna a string apta para exportação (ISO 2709, MARCXML, etc.)
{{#regex:|/\s?(\$.)\s/|$1}}
{{#rreplace:|/\s?(\$.)\s/|$1}}
Exemplo:
Exemplo:
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
Linha 60: Linha 144:
<!-- armazenamento semântico -->
<!-- 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 -->
<!-- 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|}}}
{{#subobject:{{{tag|}}}
|Field data={{#regex:{{{ind1|#}}}{{{ind2|#}}}{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 A\d*/|}}
|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, no entendi o porque: |Field length={{{tag|}}} -->
}}</div></includeonly>
}}</div></includeonly>

Edição atual tal como às 10h12min de 8 de janeiro de 2023

Adicionar ou editar campo MARC

Parâmetros 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