XML: ¿los nodos secundarios heredan el prefijo del espacio de nombres de los padres?
Suponga el siguiente documento XML:
<root xmlns:foo="...">
<foo:parent>
<child/>
</foo:parent>
</root>
¿El elemento pertenece child
a un espacio de nombres que corresponde al prefijo foo
? ¿Por si acaso <foo:child/>
?
Aceptado
No. Los nodos secundarios no heredan el espacio de nombres con prefijo de forma predeterminada y es necesario agregar un prefijo explícito como mencionaste:<foo:child/>
:.
Pero sí heredan el espacio de nombres predeterminado del antepasado (el que no tiene prefijo), si lo hay:
<root xmlns:foo="...">
<parent xmlns="bar">
<child/>
</parent>
</root>
<parent>
y <child>
los nodos están en el mismo espacio de nombres que el URI bar
.