Este directorio contiene herramientas para convertir archivos XML de biblias al formato SQLite usado por la aplicación biblia-nexus.
- Python 3.6 o superior
- Bash (para el script de conversión por lotes)
Para convertir un solo archivo XML:
python3 convert.py "<ruta_al_archivo.xml>" [nombre_biblia]Ejemplos:
# Convertir con nombre automático (usa el nombre del archivo)
python3 convert.py "../Traducción en Lenguaje Actual.xml"
# Convertir con nombre personalizado
python3 convert.py "../Traducción en Lenguaje Actual.xml" "TLA - Traducción en Lenguaje Actual"Para convertir todos los archivos XML en el directorio padre:
chmod +x batch_convert.sh
./batch_convert.shEste script:
- Busca todos los archivos
.xmlen el directorio padre - Convierte cada uno a formato SQLite
- Guarda los resultados en el directorio
output/ - Muestra un resumen al finalizar
xml2sqlite/
├── convert.py # Script principal de conversión
├── batch_convert.sh # Script para conversión por lotes
├── output/ # Directorio de salida (se crea automáticamente)
└── README.md # Este archivo
El archivo SQLite generado contiene las siguientes tablas:
id: ID del testamento (1=Antiguo, 2=Nuevo)name: Nombre del testamento
id: Número del libro (1-66)testament_id: Referencia al testamentoname: Nombre del libroabbreviation: Abreviatura del libro
id: ID único del versículobook_id: Referencia al librochapter: Número del capítuloverse: Número del versículotext: Texto del versículo
key: Clave del metadatovalue: Valor del metadato
El script espera archivos XML con la siguiente estructura:
<?xml version="1.0"?>
<XMLBIBLE>
<BIBLEBOOK bnumber="1" bname="Génesis">
<CHAPTER cnumber="1">
<VERS vnumber="1">Texto del versículo...</VERS>
<VERS vnumber="2">Texto del versículo...</VERS>
...
</CHAPTER>
...
</BIBLEBOOK>
...
</XMLBIBLE>- Limpieza automática de texto: Elimina espacios en blanco innecesarios
- Generación de abreviaciones: Crea abreviaciones estándar para cada libro
- Clasificación por testamento: Asigna automáticamente cada libro a su testamento
- Índices optimizados: Crea índices para búsquedas rápidas
- Validación de datos: Solo inserta versículos con texto válido
Una vez convertidos los archivos SQLite:
-
Copia los archivos
.sqlitea:../biblia-nexus/assets/biblias/sqlite/ -
Actualiza el archivo
availableBibles.ts:export const AVAILABLE_BIBLES: AvailableBible[] = [ { id: "TLA", name: "Traducción en Lenguaje Actual", filename: "TLA - Traducción en Lenguaje Actual.sqlite", module: require("../../assets/biblias/sqlite/TLA - Traducción en Lenguaje Actual.sqlite"), }, // ... otras biblias ];
- Los archivos SQLite generados son compatibles con la versión actual de
biblia-nexus - El script preserva la estructura y numeración original de los libros
- Los versículos vacíos son omitidos automáticamente
- Se recomienda usar nombres descriptivos para facilitar la identificación
Python 3 incluye el módulo xml por defecto. Verifica tu instalación de Python.
Asegúrate de dar permisos de ejecución al script bash:
chmod +x batch_convert.shVerifica que los archivos XML estén en el directorio padre de xml2sqlite/
Este script es parte del proyecto biblia-nexus.