# Archivo de reglas de validación para registros MARC21
# Formato: CAMPO$SUBCAMPO REQUERIDO MIN_OCURRENCIAS MAX_OCURRENCIAS [VALIDADOR]
# R = Requerido, O = Opcional
# * = Sin límite

# Fecha  y publicacion
#264$c O 1 1 date
@publishDate R 1 1 date  
@publisher R 1 1 notEmpty
@physical R 1 * notEmpty

# Campos de título
245$a R 1 1 notEmpty
      # Título principal - obligatorio, no repetible, no vacío
245$b O 0 1
              # Resto del título - opcional, no repetible
245$c O 0 1 notEmpty
      # Mención de responsabilidad - opcional, no repetible, no vacío

# Campos de materia
#650$a R 2 * notEmpty
      # Términos de materia - al menos 5 ocurrencias, no vacíos
@topic R 2 * notEmpty 
## recomendar minimo 5 
# Campos de identificación
020$a O 0 * isISBN
        # ISBN - opcional, validar formato ISBN
022$a O 0 * isISSN
        # ISSN - opcional, validar formato ISSN
#agencia catalogadora
040$a R 1 * notEmpty

010$a O 0 1 isValidLCCN
   # LCCN - opcional, validar formato LCCN


#idioma del documento
@language R 1 1 
#idioma de la catalogación 
040$b R 1 * notEmpty

#700$e R 1 1 if(700$a) 
#710$e R 1 1 if(710$a) 

#100$e R 1 1 if(700$a) 
#100$e R 1 1 if(710$a) 

:ifpresent(100$a) 100$e R 1 *
:ifpresent(111$a) 111$e R 1 *
:ifpresent(700$a) 700$e R 1 *
:ifpresent(710$a) 710$e R 1 *
:ifpresent(100$a) 100$e R 1 *
 # URL - opcional, debe tener campo relacionado

:ifpresent(856$u) 856$z R 1 *
# mensjae de error o recomendacion  
:ifpresent(856$u) 856$y R 1 *

## analizar solapamiento de campos 260 y 264 y 440 y 490  no analizar subcampos 


