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

De Wikincat
Ir para navegação Ir para pesquisar
Sem resumo de edição
mSem resumo de edição
 
(27 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<noinclude><templatedata>
<noinclude><templatedata>
{
{
"description": "Adicionar ou editar campo MARC.",
"description": "Adicionar ou editar campo MARC",
"params": {
"params": {
"tag": {
"tag": {
"label": "Campo MARC",
"label": "Campo MARC",
"description": "Campo no formato XXX (apenas três números).",
"description": "Campo no formato XXX (apenas três números)",
"type": "number",
"type": "number",
"required": true
"required": true,
"example": "245"
},
},
"authorityType": {
"authorityType": {
"label": "Tipo de autoridade",
"label": "Tipo de autoridade",
"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",
"description": {
"type": "string",
"pt": "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"
},
"suggested": true,
"default": "Nenhuma",
"default": "Nenhuma",
"example": "Nenhuma"
"example": "Pessoa",
"autovalue": "Nenhuma",
"required": true
},
},
"ind1": {
"ind1": {
"label": "Primeiro indicador",
"label": "Primeiro indicador",
"description": "0 a 9 ou #, dependendo do campo",
"description": "0 a 9 ou #, dependendo do campo",
"type": "number",
"type": "string",
"default": "#"
"default": "#",
"suggested": true
},
},
"ind2": {
"ind2": {
Linha 29: Linha 31:
},
},
"data": {
"data": {
"label": "Subcampos livres (sem controle de autoridade)",
"label": "Sem autoridade",
"description": "Subcampos no formato $a ... $b ... $c ...",
"description": "Subcampos no formato $a ... $b ... $c ...",
"suggested": true,
"type": "string",
"type": "string",
"example": "Nenhuma"
"autovalue": "$a ",
"suggested": true
},
},
"authorityData100": {
"authorityData100": {
"label": "Subcampos controlados (autoridade do tipo 100)",
"label": "Autoridade 100",
"description": "Subcampos no formato $a ... $b ... $0 AXXXXXX",
"inherits": "data"
"suggested": false,
"autovalue": null,
"type": "string"
},
},
"authorityData110": {
"authorityData110": {
"label": "Subcampos controlados (autoridade do tipo 110)",
"label": "Autoridade 110",
"inherits": "data"
"inherits": "authorityData100"
},
},
"authorityData111": {
"authorityData111": {
"label": "Subcampos controlados (autoridade do tipo 111)",
"label": "Autoridade 111",
"inherits": "data"
"inherits": "authorityData100"
},
},
"authorityData130": {
"authorityData130": {
"label": "Subcampos controlados (autoridade do tipo 130)",
"label": "Autoridade 130",
"inherits": "data"
"inherits": "authorityData100"
},
},
"authorityData150": {
"authorityData150": {
"label": "Subcampos controlados (autoridade do tipo 150)",
"label": "Autoridade 150",
"inherits": "data"
"inherits": "authorityData100"
},
},
"authorityData151": {
"authorityData151": {
"label": "Subcampos controlados (autoridade do tipo 151)",
"label": "Autoridade 151",
"inherits": "data"
"inherits": "authorityData100"
}
}
},
},
Linha 66: Linha 71:
"ind1",
"ind1",
"ind2"
"ind2"
]
},
{
"label": "Valores controlados",
"params": [
"authorityData100",
"authorityData110",
"authorityData111",
"authorityData130",
"authorityData150",
"authorityData151"
]
]
}
}
],
],
"format": "block",
"format": "\n{{_\n|_=_\n}}\n",
"paramOrder": [
"paramOrder": [
"tag",
"tag",
Linha 84: Linha 100:
]
]
}
}
</templatedata>
</templatedata></noinclude><includeonly>
Esta é a predefinição 'Field'.
Ela deve ser chamada no seguinte formato:
<pre>
{{Field
|tag=
|ind1=
|ind2=
|data=
|authorityData100=
|authorityData110=
|authorityData111=
|authorityData130=
|authorityData150=
|authorityData151=
}}
</pre>
Edite a página para ver o texto da predefinição.
</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 137: 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 145: 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, não entendi o porque: |Field length={{{tag|}}} -->
}}</div></includeonly>
}}</div></includeonly>

Edição atual tal como às 13h14min de 30 de outubro de 2024

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