Tecnología · GUÍA PRÁCTICA
¿ElementTree dice “unbound prefix”? Demuestra el namespace antes de reparar el XML
Conserva los bytes originales, distingue un documento roto de un fragmento separado de su ancestro e inyecta un namespace solo con una URI autorizada.

ElementTree lanza unbound prefix cuando un nombre calificado usa un prefijo sin declaración en alcance. El mismo error puede indicar un documento completo inválido o un fragmento válido que perdió el xmlns de un ancestro.
No adivines la URI ni uses register_namespace() como reparación de parseo. Demuestra el vínculo con el documento completo, esquema, contrato del productor o ancestro; añádelo solo a un wrapper en memoria y verifica nombres expandidos, atributos, texto, tail y manifiesto.
Conserva evidencia antes de reparar
Lee y cifra los bytes originales; registra parser, versión, línea, columna y prefijos.
Documenta el límite del fragmento y no lo confundas con un documento completo inválido.
Clasifica la pérdida de alcance
Busca xmlns en el documento y ancestros; recupera solo una URI autorizada.
La misma ortografía del prefijo no prueba la misma URI.
Separa parseo, consulta y serialización
register_namespace() afecta salida y find() afecta consulta; ninguno arregla input malformado.
Con URI probada, añade una sola declaración a un wrapper en memoria y registra el cambio.
Aísla la recuperación amplia
Un parser tolerante puede cerrar tags o descartar tokens; limítalo a extracción forense.
Si cambia más que el binding probado, falla la aceptación.
Acepta identidad semántica
Afirma {URI}local, atributos, conteos, orden, texto, tail e identificadores.
Guarda digest, fuente URI, transformación, diagnósticos y resultados.
