-
Notifications
You must be signed in to change notification settings - Fork 24
XML Data Checker es ES
datachecker es una herramienta de línea de comandos que valida el contenido de archivos XML para garantizar que cumplan con los estándares requeridos. Se realizan las siguientes comprobaciones:
- Validación de datos de accesibilidad
- Validación de datos de afiliación
- Validación de alternativas
- Validación de grupo de aplicaciones
- Validación de resumen del artículo
- Validación de artículo y subartículos
- Validación de colaboradores del artículo
- Validación de DOI del artículo
- Validación de licencia del artículo
- Validación de notas del autor
- Validación de referencias cruzadas
- Validación de disponibilidad de datos
- Validación de fechas
- Validación de erratas
- Validación de figuras
- Validación de notas al pie
- Validación de fórmulas
- Validación de grupo de financiación
- Validación de metadatos del fascículo
- Validación de metadatos de la revista
- Validación de idioma
- Validación de medios
- Validación de revisión por pares
- Validación de preprint
- Validación de referencias
- Validación de artículos relacionados
- Validación de material suplementario
- Validación de secciones del sumario
- Validación de tablas
- Python 3.x
- lxml
- Validación por lotes: Valida un solo archivo XML o todos los archivos XML en una carpeta.
- Informe de errores: Genera un archivo CSV que resume los errores de validación.
- Registro de excepciones: Genera un archivo JSONL con información detallada sobre las excepciones.
- Gestión de salida: Crea automáticamente el directorio de salida si no existe.
- Salida flexible: Opción para generar un archivo CSV por XML con
--csv_per_xml. - Interfaz de línea de comandos: Uso sencillo con argumentos obligatorios y opcionales.
- Interfaz web para validación de XML
Para usar XML Data Checker, es necesario tener Python 3.9 o superior instalado. Puedes descargarlo directamente en este enlace o visitar el sitio web de Python.
Packtools puede instalarse usando pip. Las siguientes secciones proporcionan instrucciones paso a paso para la instalación en sistemas Linux y Windows.
Crea una carpeta, entra en ella, crea un entorno virtual llamado .venv, actívalo e instala packtools:
mkdir scielo-packtools
cd scielo-packtools
python3 -m venv .venv
source .venv/bin/activate
pip install packtools>=4.10.0Crea una carpeta, entra en ella, crea un entorno virtual llamado .venv e instala packtools:
md scielo-packtools
cd scielo-packtools
python3 -m venv .venv
.venv\Scripts\activate
pip install packtools>=4.10.0Antes de usar la herramienta, asegúrate de que tu entorno virtual esté activo. Accede al directorio scielo-packtools y activa el entorno si es necesario. Al ejecutar el comando, especifica la ruta del archivo o carpeta XML y el directorio de salida deseado. Recuerda que estos dos parámetros son obligatorios y deben proporcionarse en el orden especificado (primero el archivo o carpeta XML, luego el directorio de salida).
Para Linux:
cd scielo-packtools
source .venv/bin/activatePara Windows:
cd scielo-packtools
.venv\Scripts\activatedata_checker.py ruta/al/articulo.xml ruta/a/salidadata_checker.py ruta/a/carpeta ruta/a/salidadata_checker.py ruta/a/carpeta ruta/a/salida --csv_per_xmlusage: data_checker.py [-h] [--csv_per_xml] xml_path output_path
Validador de datos XML
argumentos posicionales:
xml_path Ruta del archivo o carpeta XML
output_path Ruta de la carpeta de salida
opciones:
-h, --help muestra este mensaje de ayuda y sale
--csv_per_xml Crea un csv por xml# Validar un solo archivo XML
python packtools/data_checker.py ~/WX7Vm7ZQm6k6d9DCQ3dXnDH.xml ~/resultsEn este caso, se crearán dos archivos en la carpeta ~/results:
2025-06-02T105237913325-errors.csv 2025-06-02T105237913325-exceptions.jsonlEl primer archivo proporciona un resumen de los errores detectados en el archivo XML, mientras que el segundo incluye información detallada sobre las excepciones del proceso de validación. A continuación se muestra un ejemplo del archivo 2025-06-02T105237913325-errors.csv, que es un CSV con cinco columnas:
xml,response,context,advice,detail
/home/rafaeljpd/WX7Vm7ZQm6k6d9DCQ3dXnDH.xml,WARNING,bibliographic strip,Unable to check if issue is registered,"{'volume': '38', 'number': None, 'supplement': None}"
/home/rafaeljpd/WX7Vm7ZQm6k6d9DCQ3dXnDH.xml,WARNING,subject,"Unable to check if Original Article (<subject-group subj-group-type=""heading""><subject>Original Article</subject></subject-group>) is a valid table of contents section because the journal (ABCD. Arquivos Brasileiros de Cirurgia Digestiva (São Paulo)) sections were not informed","{'parent': 'article', 'parent_id': None, 'parent_lang': 'en', 'parent_article_type': 'research-article', 'original_article_type': 'research-article', 'journal': 'ABCD. Arquivos Brasileiros de Cirurgia Digestiva (São Paulo)', 'article_title': 'FECAL CALPROTECTIN AND INTESTINAL METABOLITES: WHAT IS THEIR IMPORTANCE IN THE ACTIVITY AND DIFFERENTIATION OF PATIENTS WITH INFLAMMATORY BOWEL DISEASES?', 'subject': 'Original Article', 'subj_group_type': 'heading', 'section': 'Original Article', 'subsections': []}"
/home/rafaeljpd/WX7Vm7ZQm6k6d9DCQ3dXnDH.xml,CRITICAL,contrib,Lucas Correia LINS : Mark the contrib role. Consult SPS documentation for detailed instructions,"{'contrib-group-type': None, 'parent': 'article', 'parent_id': None, 'parent_lang': 'en', 'parent_article_type': 'research-article', 'original_article_type': 'research-article', 'contrib_type': 'author', 'contrib_ids': {'orcid': '0000-0001-6355-2775'}, 'contrib_name': {'surname': 'LINS', 'given-names': 'Lucas Correia'}, 'contrib_full_name': 'Lucas Correia LINS', 'contrib_xref': [{'rid': 'aff1', 'ref_type': 'aff', 'text': '1'}]}"El archivo CSV contiene cinco columnas: xml, response, context, advice y detail. La columna xml muestra la ruta del archivo XML validado. La columna response indica la gravedad o tipo del resultado de la validación. La columna context describe dónde en el XML se encontró el problema. La columna advice proporciona una breve recomendación o explicación. La columna detail ofrece información adicional sobre el hallazgo de la validación.
A continuación, un ejemplo de comando para validar todos los archivos XML en una carpeta:
# Validar todos los archivos XML en una carpeta
python packtools/data_checker.py ~/xml_folder ~/results