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

Ir para navegação Ir para pesquisar
sem sumário de edição
imported>Jaideraf
Sem resumo de edição
imported>Jaideraf
Sem resumo de edição
 
(27 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
<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}}
| Autoridade = {{#regexrreplace:{{AutRecord/tags|{{{tag|}}}}}|/(\d{3})/|<b>$1</b>}}
| {{#regexrreplace:{{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>}}
{{#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/>
<div style="display: none">
==== UnBeautify ====
Torna a string apta para exportação (ISO 2709, MARCXML, etc.)
{{#regexrreplace:|/\s?(\$.)\s/|$1}}
Exemplo:
$a Ferreira, Jaider A. $q (Jaider Andrade), $d 1990-
<!-- 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|#}}}{{#rreplace:{{{data|}}}{{{authorityData100|}}}{{{authorityData110|}}}{{{authorityData111|}}}{{{authorityData130|}}}{{{authorityData150|}}}{{{authorityData151|}}}|/\s?\$0 (A{{!}}\(BN\))\d*/|}}
|@sortkey={{{tag|}}}
<!-- DesnecessárioRemover poreste enquantocomentário quebra o PageForms, no entendi o porque: |Field length={{{tag|}}}{{padleft:{{#invoke:String|strlen|ii{{#var:unBeautifiedInput}}s}}|4}} -->
}}</div></includeonly><templatedata>
{
"description": "Adicionar ou editar campo MARC.",
"params": {
"tag": {
"label": "Campo MARC",
"description": "Campo no formato XXX (apenas três números).",
"type": "number",
"required": true
},
"authorityType": {
"label": "Tipo de autoridade",
"description": {
"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",
"example": "Nenhuma"
},
"ind1": {
"label": "Primeiro indicador",
"description": "0 a 9 ou #, dependendo do campo",
"type": "line",
"default": "#"
},
"ind2": {
"label": "Segundo indicador",
"inherits": "ind1"
},
"data": {
"label": "Subcampos livres (sem controle de autoridade)",
"description": "Subcampos no formato $a ... $b ... $c ...",
"suggested": true,
"type": "string",
"example": "Nenhuma"
},
"authorityData100": {
"label": "Subcampos controlados (autoridade do tipo 100)",
"inherits": "data"
},
"authorityData110": {
"label": "Subcampos controlados (autoridade do tipo 110)",
"inherits": "data"
},
"authorityData111": {
"label": "Subcampos controlados (autoridade do tipo 111)",
"inherits": "data"
},
"authorityData130": {
"label": "Subcampos controlados (autoridade do tipo 130)",
"inherits": "data"
},
"authorityData150": {
"label": "Subcampos controlados (autoridade do tipo 150)",
"inherits": "data"
},
"authorityData151": {
"label": "Subcampos controlados (autoridade do tipo 151)",
"inherits": "data"
}
},
"sets": [
{
"label": "Indicadores",
"params": ["ind1", "ind2"]
}
],
"format": "block"
}
</templatedata>
Usuário anônimo

Menu de navegação