[jaquers] problema de XML y namespaces

Héctor Lahoz hectorlahoz en gmail.com
Vie Ago 10 12:33:01 CEST 2018


Hola, jaquers. ¿Qué tal el verano?

Tengo un "problemilla". Cogí por ahí un montón de datos en HTML.
Concretamente en XHTML. Al menos es lo que pone en el DOCTYPE.
Luego la realidad es que ni siquiera era XML bien formado así
que no podía hacer mucho con ellos.

Hice un script para, por lo menos, cerrar las etiquetas mal anidadas.
Ahora ya son XML. Al menos está bien formado y ya puedo hacer algo
con ellos. Sin embargo queda el problema de la validez (validation).
Ahora tengo algo que se supone que es XHTML pero tiene un montón
de etiquetas privadas, que no pertenecen a (X)HTML cono "hw", "tran"
o "def". Por supuesto se ve que el que hizo esto no tenía mucha idea
de XML y seguramente ni siquiera sabía lo que son los "XML namespaces".
Por desgracia es algo bastante frecuente. Pero es lo que hay.

Aún no sé muy bien dónde están todos estos elementos que no tienen
ningún namespace. Ya digo que "xmlns" no aparece aquí por ningún sitio.
Esta es la etiqueta del elemento raíz:

<html>

Eso es todo :-)

Supongo que pasa algo parecido a lo que pasa entre C y C++. Todo está
en el espacio global. La cuestión es: ¿cómo puedo mover todos estos
elementos que no son de HTML a su propio espacio? Así por lo menos
podría validarlo. Lo primero que se me ocurre es hacer otro script que
añada un prefijo a todos estos elementos. Últimamente uso Emacs Lisp
para casi todo :-) O Perl. Eso es lo de menos. ¿Hay alguna herramienta
de XML para hacer esto? Son más de 1000 ficheros así que tiene que ser
algo bastante automático.

Japi jaquing!


Más información sobre la lista de distribución jaquers