Difference between revisions of "Predefinição:Bibliographic rules"

From Wikincat
Jump to navigation Jump to search
m (corrigindo quebra de linha)
(refactoring, part 2)
Line 79: Line 79:
 
|#default = {{Field string|008|35|3|property=Controlfield}}
 
|#default = {{Field string|008|35|3|property=Controlfield}}
 
}}
 
}}
}} <!-- se existe o campo 041, mostra "(traduzido do...)" na mesma linha do idioma presente no 008 --> {{#if: {{Exist|041}} | {{#ifeq: {{Field string|041|0|1|}} | 1 | &#32;(traduzido do {{#switch:{{Select|041|h}}
+
}} <!-- se existe o campo 041, mostra "(traduzido do...)" na mesma linha do idioma presente no 008 --> {{#if: {{Exist|041}} | {{#ifeq: {{Field string|041|0|1|}} | 1 | &#32;(traduzido do {{#switch:{{Select|041|h}}
 
|por = português
 
|por = português
 
|eng = inglês
 
|eng = inglês
Line 93: Line 93:
 
|- = * <strong class="error">O ISBN não pode conter hifens. Apenas números e "X" maiúsculo.</strong>  
 
|- = * <strong class="error">O ISBN não pode conter hifens. Apenas números e "X" maiúsculo.</strong>  
 
|x = * <strong class="error">O ISBN não pode conter um x minúsculo. Apenas números e "X" maiúsculo.</strong>
 
|x = * <strong class="error">O ISBN não pode conter um x minúsculo. Apenas números e "X" maiúsculo.</strong>
|#default =}} <!-- testa se há indicadores no campo 020 --> {{#ifeq: {{Field string|020|0|1|}} |   || * <strong class="error">O primeiro indicador do campo 020 foi preenchido, porém, ele não deve ser preenchido.</strong>}} {{#ifeq: {{Field string|020|1|1|}} |   || * <strong class="error">O segundo indicador do campo 020 foi preenchido, porém, ele não deve ser preenchido.</strong>}} }} <!-- testa o uso de maiúsculas no campo 041 --> {{#if: {{Exist|041}} | {{#ifeq: {{Field string|041|0|1|}} |   | * <strong class="error">Talvez o primeiro indicador do campo 041 foi esquecido.</strong> }} {{#if: {{#regex:{{Select|041|a}}|/^[A-Z]/r|}} | * <strong class="error">O uso de maiúsculas não é permitido nos códigos de idioma (campo 041).</strong>}} }} <!-- a seguir, testa se há subcampo $b e se há espaço no subcampo $c do campo 090 --> {{#if: {{Exist|090}} | {{#if: {{Select|090|b}} || * <strong class="error">Está faltando o subcampo $b do campo 090 (notação de Cutter).</strong>}} {{#if: {{#regex:{{Select|090|c}}|/\sed/r|}} | * <strong class="error">Nossa política de catalogação proíbe espaços na indicação de edição no número de chamada (090 $c).</strong>}} }} <!-- a seguir, testa (conta) se existe mais de um ponto de acesso principal --> {{#ifexpr: {{#ask:[[{{FULLPAGENAME}}#100||{{FULLPAGENAME}}#110||{{FULLPAGENAME}}#111||{{FULLPAGENAME}}#130]]|?Datafield|format=count|mainlabel=-}} > 1 | * <strong class="error">Foi registrado '''mais de um ponto de acesso principal'''. Isso não é permitido.</strong>}} <!-- fim do teste de contagem de pontos de acesso principais --> {{#if: {{Exist|100}} | * O ponto de acesso principal foi dado a uma '''pessoa'''{{#switch:{{Field string|100|0|1|}}
+
|#default =}} <!-- testa se há indicadores no campo 020 --> {{#ifeq: {{Field string|020|0|1|}} |   || * <strong class="error">O primeiro indicador do campo 020 foi preenchido, porém, ele não deve ser preenchido.</strong>}} {{#ifeq: {{Field string|020|1|1|}} |   || * <strong class="error">O segundo indicador do campo 020 foi preenchido, porém, ele não deve ser preenchido.</strong>}} }} <!-- testa o uso de maiúsculas no campo 041 --> {{#if: {{Exist|041}} | {{#ifeq: {{Field string|041|0|1|}} |   | * <strong class="error">Talvez o primeiro indicador do campo 041 foi esquecido.</strong>}} {{#if: {{#regex:{{Select|041|a}}|/^[A-Z]/r|}} | * <strong class="error">O uso de maiúsculas não é permitido nos códigos de idioma (campo 041).</strong>}} }} <!-- a seguir, testa se há subcampo $b e se há espaço no subcampo $c do campo 090 --> {{#if: {{Exist|090}} | {{#if: {{Select|090|b}} || * <strong class="error">Está faltando o subcampo $b do campo 090 (notação de Cutter).</strong>}} {{#if: {{#regex:{{Select|090|c}}|/\sed/r|}} | * <strong class="error">Nossa política de catalogação proíbe espaços na indicação de edição no número de chamada (090 $c).</strong>}} }} <!-- a seguir, testa (conta) se existe mais de um ponto de acesso principal --> {{#ifexpr: {{#ask:[[{{FULLPAGENAME}}#100||{{FULLPAGENAME}}#110||{{FULLPAGENAME}}#111||{{FULLPAGENAME}}#130]]|?Datafield|format=count|mainlabel=-}} > 1 | * <strong class="error">Foi registrado '''mais de um ponto de acesso principal'''. Isso não é permitido.</strong>}} <!-- fim do teste de contagem de pontos de acesso principais --> {{#if: {{Exist|100}} | * O ponto de acesso principal foi dado a uma '''pessoa'''{{#switch:{{Field string|100|0|1|}}
 
|0 = &#32;e a entrada começa pelo seu '''primeiro nome'''.
 
|0 = &#32;e a entrada começa pelo seu '''primeiro nome'''.
 
|1 = &#32;e a entrada começa pelo seu '''sobrenome'''.
 
|1 = &#32;e a entrada começa pelo seu '''sobrenome'''.
Line 128: Line 128:
 
* O ponto de acesso principal foi dado a um '''título uniforme'''.
 
* O ponto de acesso principal foi dado a um '''título uniforme'''.
 
{{#ifeq: {{Field string|130|1|1|}} |   || <!-- existe um caractere invisível aqui -->
 
{{#ifeq: {{Field string|130|1|1|}} |   || <!-- existe um caractere invisível aqui -->
* <strong class="error">O segundo indicador do campo 130 foi preenchido, ele não deve ser preenchido.</strong>
+
* <strong class="error">O segundo indicador do campo 130 foi preenchido, ele não deve ser preenchido.</strong>}} <!-- a seguir, testa se existe um ponto de acesso principal. Se existir, testa se o primeiro indicador do campo 245 condiz com essa realidade -->
}} <!-- a seguir, testa se existe um ponto de acesso principal. Se existir, testa se o primeiro indicador do campo 245 condiz com essa realidade -->
 
 
}}{{#ifexpr: {{#ask:[[{{FULLPAGENAME}}#100||{{FULLPAGENAME}}#110||{{FULLPAGENAME}}#111||{{FULLPAGENAME}}#130]]|?Datafield|format=count|mainlabel=-}} = 0 | {{#ifeq: {{Field string|245|0|1|}} | 1 |  
 
}}{{#ifexpr: {{#ask:[[{{FULLPAGENAME}}#100||{{FULLPAGENAME}}#110||{{FULLPAGENAME}}#111||{{FULLPAGENAME}}#130]]|?Datafield|format=count|mainlabel=-}} = 0 | {{#ifeq: {{Field string|245|0|1|}} | 1 |  
 
* <strong class="error">Não houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor "0".</strong>}} | {{#ifeq: {{Field string|245|0|1|}} | 0 |  
 
* <strong class="error">Não houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor "0".</strong>}} | {{#ifeq: {{Field string|245|0|1|}} | 0 |  
 
* <strong class="error">Houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor "1".</strong>}} <!-- a seguir, testa a relação entre a presença do campo 240 em relação a presença do campo 041 e a presença do subcampo $l -->
 
* <strong class="error">Houve um ponto de acesso principal nos campos 1XX, desse modo, o primeiro indicador do campo 245 deve ter o valor "1".</strong>}} <!-- a seguir, testa a relação entre a presença do campo 240 em relação a presença do campo 041 e a presença do subcampo $l -->
}}{{#if: {{Exist|240}} | {{#if: {{Exist|041}} || * <strong class="error">Normalmente, quando há um campo 240, deve haver um campo 041.</strong>}}{{#if: {{Select|240|l}} | {{#if: {{#regex:{{Select|240|l}}|/^[a-zA-Z]{3}$/|}} || * <strong class="error">É necessário informar o idioma por extenso antecedido por um ponto no subcampo anterior ($l do campo 240).</strong>}}{{#if: {{#regex:{{Field string|240||}}|/\.\s?␟l/r|}} || * <strong class="error">O subcampo $l do campo 240 necessita ser antecedido por um ponto no subcampo anterior.</strong>}} | * <strong class="error">Normalmente, quando há um campo 240 $a, deve haver também um 240 $l. 240 $l não foi detectado.</strong>}} {{#switch: {{Field string|240|0|1|}}
+
}} {{#if: {{Exist|240}} | {{#if: {{Exist|041}} || * <strong class="error">Normalmente, quando há um campo 240, deve haver um campo 041.</strong>}}{{#if: {{Select|240|l}} | {{#if: {{#regex:{{Select|240|l}}|/^[a-zA-Z]{3}$/|}} || * <strong class="error">É necessário informar o idioma por extenso ($l do campo 240) antecedido por um ponto no subcampo $a.</strong>}} {{#if: {{#regex:{{Field string|240||}}|/\.\s?␟l/r|}} || * <strong class="error">O subcampo $l do campo 240 necessita ser antecedido por um ponto no subcampo anterior.</strong>}} | * <strong class="error">Normalmente, quando há um campo 240 $a, deve haver também um 240 $l. 240 $l não foi detectado.</strong>}} {{#switch: {{Field string|240|0|1}}
 
|0 = * O título uniforme não será exibido.
 
|0 = * O título uniforme não será exibido.
 
|1 = * O título uniforme será exibido.
 
|1 = * O título uniforme será exibido.
 
|  = * <strong class="error">Está faltando o primeiro indicador do campo 240.</strong>
 
|  = * <strong class="error">Está faltando o primeiro indicador do campo 240.</strong>
 
|2|3|4|5|6|7|8|9  = * <strong class="error">O primeiro indicador do campo 240 foi preenchido incorretamente.</strong>
 
|2|3|4|5|6|7|8|9  = * <strong class="error">O primeiro indicador do campo 240 foi preenchido incorretamente.</strong>
}}{{#ifeq: {{Field string|240|1|1|}} |   | <!-- existe um caractere invisível aqui -->
+
}}{{#ifeq: {{Field string|240|1|1}} |   | <!-- existe um caractere invisível aqui -->
 
* <strong class="error">Está faltando o segundo indicador do campo 240.</strong> |
 
* <strong class="error">Está faltando o segundo indicador do campo 240.</strong> |
* O título uniforme será alfabetado como "'''{{ucfirst:{{#regex:{{#sub:{{Select|240|a}}|{{Field string|240|1|1|}}}}|/(\/${{!}}:${{!}}=${{!}}\.$)/|}}}}'''". <!-- a seguir, testa se existe espaço antes da pontuação "/", ":" e "=" no final do subcampo $a e $b -->
+
* O título uniforme será alfabetado como "'''{{ucfirst:{{#regex:{{#sub:{{Select|240|a}}|{{Field string|240|1|1}}}}|/[\/:=.]$/|}}}}'''".
}} }} <!-- a seguir, informa se o título receberá o ponto de acesso principal ou secundário --> {{#switch: {{Field string|245|0|1|}}
+
}}}} <!-- a seguir, informa se o título receberá o ponto de acesso principal ou secundário --> {{#switch: {{Field string|245|0|1|}}
 
|0 = * O título recebeu o '''ponto de acesso principal'''.
 
|0 = * O título recebeu o '''ponto de acesso principal'''.
 
|1 = * O título recebeu um '''ponto de acesso secundário'''.
 
|1 = * O título recebeu um '''ponto de acesso secundário'''.
Line 148: Line 147:
 
}} <!-- a seguir, testa se foi preenchido o segundo indicador do 245, se foi, mostra como será a alfabetação, removendo a pontuação final do subcampo $a ("/",":","="" ou ".") --> {{#ifeq: {{Field string|245|1|1|}} |   | <!-- existe um caractere invisível aqui -->
 
}} <!-- a seguir, testa se foi preenchido o segundo indicador do 245, se foi, mostra como será a alfabetação, removendo a pontuação final do subcampo $a ("/",":","="" ou ".") --> {{#ifeq: {{Field string|245|1|1|}} |   | <!-- existe um caractere invisível aqui -->
 
* <strong class="error">Está faltando o segundo indicador do campo 245.</strong> |
 
* <strong class="error">Está faltando o segundo indicador do campo 245.</strong> |
* O título será alfabetado como "'''{{ucfirst:{{#regex:{{#sub:{{Select|245|a}}|{{Field string|245|1|1|}}}}|/(\/${{!}}:${{!}}=${{!}}\.$)/|}}}}'''". <!-- a seguir, testa se existe espaço antes da pontuação "/", ":" e "=" no final do subcampo $a e $b -->
+
* O título será alfabetado como "'''{{ucfirst:{{#regex:{{#sub:{{Select|245|a}}|{{Field string|245|1|1|}}}}|/[\/:=.]$/|}}}}'''". <!-- a seguir, testa se existe espaço antes da pontuação "/", ":" e "=" no final do subcampo $a e $b -->
 
}}{{#if: {{#regex:{{Select|245|a}}|/[a-zA-Z]\/${{!}}[a-zA-Z]:${{!}}[a-zA-Z]=$/r|}} | * <strong class="error">Inclua um espaço antes da pontuação (ao final do subcampo $a do campo 245).</strong>
 
}}{{#if: {{#regex:{{Select|245|a}}|/[a-zA-Z]\/${{!}}[a-zA-Z]:${{!}}[a-zA-Z]=$/r|}} | * <strong class="error">Inclua um espaço antes da pontuação (ao final do subcampo $a do campo 245).</strong>
 
}}{{#if: {{#regex:{{Select|245|b}}|/[a-zA-Z]\/${{!}}[a-zA-Z]:${{!}}[a-zA-Z]=$/r|}} | * <strong class="error">Inclua um espaço antes da pontuação (ao final do subcampo $b do campo 245).</strong>
 
}}{{#if: {{#regex:{{Select|245|b}}|/[a-zA-Z]\/${{!}}[a-zA-Z]:${{!}}[a-zA-Z]=$/r|}} | * <strong class="error">Inclua um espaço antes da pontuação (ao final do subcampo $b do campo 245).</strong>
Line 157: Line 156:
 
}}
 
}}
 
}}
 
}}
}} <!-- a seguir, testa se a nota 500 acaba com "." --> {{#if: {{Exist|500}} | {{#if: {{#regex:{{Select|500|a}}|/[a-zA-ZÀ-ü0-9:;-]$/r|}} | * <strong class="error">Nossa política de catalogação define que as notas devem terminar com um ponto.</strong>}} }} <!-- a seguir, testa se a nota 504 acaba com "." e se existe uso de maiúsculas no meio da nota --> {{#if: {{Exist|504}} | {{#if: {{#regex:{{Select|504|a}}|/[a-zA-ZÀ-ü0-9]$/r|}} | * <strong class="error">Nossa política de catalogação define que as notas devem terminar com um ponto.</strong>}} {{#if: {{#regex:{{Select|504|a}}|/.*\s[A-Z]/r|}} | * <strong class="error">Verifique o uso de maiúsculas na nota do campo 504.</strong>}} }} <!-- a seguir, testa os indicadores dos campos 6XX --> {{#if: {{Exist|600}} | {{#ifeq: {{Field string|600|0|1|}} |   | * <strong class="error">Está faltando o primeiro indicador do campo 600.</strong>}} {{#ifeq: {{Field string|600|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 600 deve ser sempre "4".</strong>}} <!-- testa se existe "," no subcampo $a (Nome, Sobrenome) --> {{#if: {{#regex:{{Select|600|a}}|/.*,./r|}} || * <strong class="error">Em pontos de acesso, o nome pessoal deve ser invertido (Nome, Sobrenome). Verifique o campo 600.</strong>}} {{#if: {{#regex:{{Select|600|a}}|/[a-zÀ-ü],[A-ZÀ-ü]/r|}} |* <strong class="error">Falta espaço após a vírgula. Verifique o campo 600.</strong>}} {{#if: {{Select|600|q}} | {{#if: {{#regex:{{Select|600|q}}|/^\(/r|}} || * <strong class="error">O subcampo $q do campo 600 necessita de parênteses.</strong>}} }} }} {{#if: {{Exist|610}} | {{#ifeq: {{Field string|610|0|1|}} |   | * <strong class="error">Está faltando o primeiro indicador do campo 610.</strong>}} {{#ifeq: {{Field string|610|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 610 deve ser sempre "4".</strong>}}}} {{#if: {{Exist|611}} | {{#ifeq: {{Field string|611|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 611 deve ser sempre "4".</strong>}}}} {{#if: {{Exist|650}} | {{#ifeq: {{Field string|650|0|1|}} | 0 || * <strong class="error">Nossa política de catalogação define que o primeiro indicador do campo 650 deve ser sempre "0".</strong>}} {{#ifeq: {{Field string|650|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 650 deve ser sempre "4".</strong>}} {{#if: {{#regex:{{Select|650|a}}|/^[a-zà-ü]/r|}} | * <strong class="error">Os assuntos devem começar com letra maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|x}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|z}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|y}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} <!-- a seguir, testa se o subcampo $a termina em "-" --> {{#if: {{#regex:{{Field string|650||}}|/-\s?␟/r|}} | * <strong class="error">Nunca inclua hifens entre termos de assuntos.</strong>}} }} {{#if: {{Exist|651}} | {{#ifeq: {{Field string|651|0|1|}} |   || * <strong class="error">Nossa política de catalogação define que o primeiro indicador do campo 651 deve ser sempre " ".</strong>}} {{#ifeq: {{Field string|651|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 651 deve ser sempre "4".</strong>}}}} <!-- a seguir, testa os pontos de acesso secundários, tal como os principais --> {{#if: {{Exist|700}} |  
+
}} <!-- a seguir, testa se a nota 500 acaba com "." --> {{#if: {{Exist|500}} | {{#if: {{#regex:{{Select|500|a}}|/[a-zA-ZÀ-ü0-9:;-]$/r|}} | * <strong class="error">Nossa política de catalogação define que as notas devem terminar com um ponto.</strong>}} }} <!-- a seguir, testa se a nota 504 acaba com "." e se existe uso de maiúsculas no meio da nota --> {{#if: {{Exist|504}} | {{#if: {{#regex:{{Select|504|a}}|/[a-zA-ZÀ-ü0-9]$/r|}} | * <strong class="error">Nossa política de catalogação define que as notas devem terminar com um ponto.</strong>}} {{#if: {{#regex:{{Select|504|a}}|/.*\s[A-Z]/r|}} | * <strong class="error">Verifique o uso de maiúsculas na nota do campo 504.</strong>}} }} <!-- a seguir, testa os indicadores dos campos 6XX --> {{#if: {{Exist|600}} | {{#ifeq: {{Field string|600|0|1|}} |   | * <strong class="error">Está faltando o primeiro indicador do campo 600.</strong>}} {{#ifeq: {{Field string|600|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 600 deve ser sempre "4".</strong>}} <!-- testa se existe "," no subcampo $a (Nome, Sobrenome) --> {{#if: {{#regex:{{Select|600|a}}|/.*,./r|}} || * <strong class="error">Em pontos de acesso, o nome pessoal deve ser invertido (Nome, Sobrenome). Verifique o campo 600.</strong>}} {{#if: {{#regex:{{Select|600|a}}|/[a-zÀ-ü],[A-ZÀ-ü]/r|}} |* <strong class="error">Falta espaço após a vírgula. Verifique o campo 600.</strong>}} {{#if: {{Select|600|q}} | {{#if: {{#regex:{{Select|600|q}}|/^\(/r|}} || * <strong class="error">O subcampo $q do campo 600 necessita de parênteses.</strong>}} }} }} {{#if: {{Exist|610}} | {{#ifeq: {{Field string|610|0|1|}} |   | * <strong class="error">Está faltando o primeiro indicador do campo 610.</strong>}} {{#ifeq: {{Field string|610|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 610 deve ser sempre "4".</strong>}}}} {{#if: {{Exist|611}} | {{#ifeq: {{Field string|611|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 611 deve ser sempre "4".</strong>}}}} {{#if: {{Exist|650}} | {{#ifeq: {{Field string|650|0|1|}} | 0 || * <strong class="error">Nossa política de catalogação define que o primeiro indicador do campo 650 deve ser sempre "0".</strong>}} {{#ifeq: {{Field string|650|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 650 deve ser sempre "4".</strong>}} <!-- refazer as seguintes instruções com apenas uma regex US[axzy] --> {{#if: {{#regex:{{Select|650|a}}|/^[a-zà-ü]/r|}} | * <strong class="error">Os assuntos devem começar com letra maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|x}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|z}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} {{#if: {{#regex:{{Select|650|y}}|/^[a-zà-ü]/r|}} | * <strong class="error">As subdivisões de assuntos devem ter a inicial maiúscula.</strong>}} <!-- a seguir, testa se o subcampo $a termina em "-" --> {{#if: {{#regex:{{Field string|650||}}|/-\s?␟/r|}} | * <strong class="error">Nunca inclua hifens entre termos de assuntos.</strong>}} }} {{#if: {{Exist|651}} | {{#ifeq: {{Field string|651|0|1|}} |   || * <strong class="error">Nossa política de catalogação define que o primeiro indicador do campo 651 deve ser sempre " ".</strong>}} {{#ifeq: {{Field string|651|1|1|}} | 4 || * <strong class="error">Nossa política de catalogação define que o segundo indicador do campo 651 deve ser sempre "4".</strong>}}}} <!-- a seguir, testa os pontos de acesso secundários, tal como os principais --> {{#if: {{Exist|700}} |  
 
* Um ponto de acesso secundário foi dado a uma '''pessoa'''{{#switch:{{Field string|700|0|1|}}
 
* Um ponto de acesso secundário foi dado a uma '''pessoa'''{{#switch:{{Field string|700|0|1|}}
 
|0 = &#32;e a entrada começa pelo seu '''primeiro nome'''.
 
|0 = &#32;e a entrada começa pelo seu '''primeiro nome'''.

Revision as of 15:24, 6 October 2019