Mudanças entre as edições de "Predefinição:Data field"

De Aprendendo Catalogação
Ir para navegação Ir para pesquisar
imported>Jaider
m (we don't use local subfields)
 
m (Substituição de texto - "{{#strlen:" por "{{#invoke:String|strlen|")
 
Linha 16: Linha 16:
 
| class="cell" style="text-align: center; font-weight: bold;" | <!-- faz a exibição do Ind2 --> {{#if:{{{Second indicator|}}}|{{{Second indicator|}}}}}  
 
| class="cell" style="text-align: center; font-weight: bold;" | <!-- faz a exibição do Ind2 --> {{#if:{{{Second indicator|}}}|{{{Second indicator|}}}}}  
 
| <!-- 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. --> {{#if:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/}}|{{#regex:{{#regex:{{#regex:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/|<b style="color:blue;">$1</b>}}|/(<b\s.*?\$[a-z0-8].*?<\/b>)/|<br />$1}}|/^<br\s\/>/|}}|/\n/|}}|<b style="color:red;">{{{Field content|}}}</b>}} <!-- código antigo: fazia o teste para saber se havia algum subcampo válido, se houvesse, distribuia na arraymap e armazenava os subcampos como propriedades do subobjeto do campo (subobjeto:245|Ind1=...|Ind2=...|a=...|b=...c=...): {{#if:{{#regex:{{{Field content|}}}|/^\$[a-z0-8]{1}/}}|{{#arraymap:{{{Field content|}}}|$|§|{{#subobject:{{#sub:{{{Tag|}}}|0|3}}|{{#regex:§|/^(.{1})/|$1=}}|Ind1={{{First indicator|}}}|Ind2={{{Second indicator|}}}|@sortkey={{#sub:{{{Tag|}}}|0|3}}}}|<nowiki>|</nowiki>}}|}} -->
 
| <!-- 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. --> {{#if:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/}}|{{#regex:{{#regex:{{#regex:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/|<b style="color:blue;">$1</b>}}|/(<b\s.*?\$[a-z0-8].*?<\/b>)/|<br />$1}}|/^<br\s\/>/|}}|/\n/|}}|<b style="color:red;">{{{Field content|}}}</b>}} <!-- código antigo: fazia o teste para saber se havia algum subcampo válido, se houvesse, distribuia na arraymap e armazenava os subcampos como propriedades do subobjeto do campo (subobjeto:245|Ind1=...|Ind2=...|a=...|b=...c=...): {{#if:{{#regex:{{{Field content|}}}|/^\$[a-z0-8]{1}/}}|{{#arraymap:{{{Field content|}}}|$|§|{{#subobject:{{#sub:{{{Tag|}}}|0|3}}|{{#regex:§|/^(.{1})/|$1=}}|Ind1={{{First indicator|}}}|Ind2={{{Second indicator|}}}|@sortkey={{#sub:{{{Tag|}}}|0|3}}}}|<nowiki>|</nowiki>}}|}} -->
|-<nowiki/> <!-- cria a Propriedade Datafield com o conteúdo completo do subcampo, armazenando no subobjeto do campo; faz o cálculo do Field length e armazena no subobjeto do campo. --> {{#ifeq:{{PAGENAME}}|{{BASEPAGENAME}} || <!-- faz o teste: se estiver executando na página do usuário, não executa este bloco; se estiver executando em uma subpágina, executa as funções para o armazenamento semântico --> {{#subobject:{{#sub:{{{Tag|}}}|0|3}}|Datafield={{{First indicator| }}}{{{Second indicator| }}}{{#regex:{{#regex:{{{Field content|}}}|/\$([a-z0-8])\s*/|␟$1}}|/\n(\$[a-z0-8])/|$1}}␞|Field length={{#sub:{{{Tag|}}}|0|3}}{{padleft:{{#strlen:ii{{#regex:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/|$1}}|/\n(\$[a-z0-8])/|$1}}s}}|4}}|@sortkey={{#sub:{{{Tag|}}}|0|3}}}} }}</includeonly>
+
|-<nowiki/> <!-- cria a Propriedade Datafield com o conteúdo completo do subcampo, armazenando no subobjeto do campo; faz o cálculo do Field length e armazena no subobjeto do campo. --> {{#ifeq:{{PAGENAME}}|{{BASEPAGENAME}} || <!-- faz o teste: se estiver executando na página do usuário, não executa este bloco; se estiver executando em uma subpágina, executa as funções para o armazenamento semântico --> {{#subobject:{{#sub:{{{Tag|}}}|0|3}}|Datafield={{{First indicator| }}}{{{Second indicator| }}}{{#regex:{{#regex:{{{Field content|}}}|/\$([a-z0-8])\s*/|␟$1}}|/\n(\$[a-z0-8])/|$1}}␞|Field length={{#sub:{{{Tag|}}}|0|3}}{{padleft:{{#invoke:String|strlen|ii{{#regex:{{#regex:{{{Field content|}}}|/(\$[a-z0-8])\s*/|$1}}|/\n(\$[a-z0-8])/|$1}}s}}|4}}|@sortkey={{#sub:{{{Tag|}}}|0|3}}}} }}</includeonly>

Edição atual tal como às 20h47min de 21 de outubro de 2020

Esta é a predefinição 'Data field'. Ela deve ser chamada no seguinte formato:

{{Data field
|Tag=
|First indicator=
|Second indicator=
|Field content=
}}

Edite a página para ver o texto da predefinição.