====== Validações dos campos MARC21 no Processo de Catalogação ====== ===== Para todos os Campos ===== * Pegar a etiqueta do campo. Se ela não pode ser repetida olhar se existe um outro campo com a mesma etiqueta para todos os campo do titulo. * Olhar se a etiqueta é de um campo de controle ou de dados. * A partir da etiqueta do campo é possível pegar todas as informações necessárias para validação das informações do mesmo como Formato Material, Categoria Material, Descritores e Valores dos Descritores. ===== Validar Campos de Controle ===== ==== Validar Campo Líder ==== Segue a regra: "Valida campos de controle independentes" ==== Validar Campo 001 ==== Não valida, fica o que o usuário digitar ==== Validar Campo 003 ==== Não valida, fica o que o usuário digitar ==== Validar Campo 005 ==== Não valida, fica o que o usuário digitar ==== Validar Campo 006 ==== Segue a regra: "Valida campos de controle dependentes do formato material" ==== Validar Campo 007 ==== Segue a regra: "Valida campos de controle dependentes da categoria do material" ==== Validar Campo 008 ==== Segue a regra: "Valida campos de controle dependentes do formato material" ---- **Valida campos de controle independentes(Não de pende do formato do material)** Validar se entre as posições inícial e final (entidade DescritorCampoControle) existe um dos possíveis valores que ele pode assimir (entidade ValorDescritorCampoControle guarda esses possíveis valores). 1 DescritorCampoControle possui "N" ValorDescritorCampoControle. Ex.: Campo LIDER na posição 06 pode possuir um dos seguintes valores (a, c, d, e, f, g, i, j, k, m, o, p, r, t) ---- **Valida campos de controle dependentes do formato material** A única diferença para a regra enterior é que vai existir um descritor para cada Formato de Material existente. Então é preciso pegar o descritor que corresponde ao Formato do Material que está sendo catalogado nesse exato momento. A partir daí, para cada possição que indica os descritores, verificar se os dados do campo de controle possuem os valores estão entre os valores possível do descritor. Classe: DescritorCampoControle e ValorDescritorCampoControle. ---- **Valida campos de controle dependentes da categoria do material** Aqui também é parecido com a regra anterior. Sendo que agora vai exitir um descritor para cada "categoria de material". (Não confundir com "Formato Material" da regra anterior). A "categoria do material" é aguardado na posição 00 do campo 007 (Só existe para essa campo). Não precisa validar o próprio campo 00 porque o usuário nunca digita esse valor. Ele sempre escolhe a categoria e o sistema preenche automaticamente. Depois que obtiver o Descritor do campo segue as mesmas validações dos outros campos de controle que possuem validação. ---- ===== Validar Campos de Dados ===== Verificar se os valores dos indicadores estão entre os valores que eles podem assumir (Classe ValorIndicador). Para todos dos sub campos do campo de dados - Pegar o descritor dele (entidade DescritorSubCampo): - Olhar pelo descritor: - se ele pode ser repetido ou não. - Se não puder ser repetido verificar se tem outro subcampo igual a ele. - Verifica se um sub campo é obrigratório e não está presente no campo - Olhar se esse descritor possui um conjunto de valores (** entidade ValorDescritorSubCampo **) * Se exitir é porque para aquele sub campo em particular os valores são pre determinados e precisão ser validados para ver se o usuário digitou os valores corretos. Para sub campos que não possuem valores é porque o que vai dentro é texto e fica por conta do usuário escrever corretamente. Exemplo de sub campo cujos descritores possuem valores: SubCampo $a da etiqueta 046. (Código para o tipo da data) Exemplo de sub campo cujos descritores NÃO possuem valores: Subcampo $a da etiqueta 100. (nome do autor da obra)