Espacios de nombres XML
De TW
- Este artículo es un esbozo y necesita ser expandido
Consideremos que un documento XML puede tener partes diseñadas para distintas aplicaciones. La idea es que estas partes no choquen entre sí, esto es más importante aún cuando hablamos de Web Semántica.
En el caso de Java, por ejemplo, el esquema de imports utiliza la idea de que todas las clases hechas, por ejemplo, en el DCC, tienen que comenzar con cl.uchile.dcc; en el caso de XML se provee un esquema más flexible llamado xml namespaces.
Contenido |
Ejemplo sencillo
<vectorgraphic xmlns:vec="http://www.tejedoresdelweb.com/vector.dtd"> <vec:line x1="1" y1="1" x2="30" y2="30"/> <vec:circle center="1,2" radius="12"/> </vectorgraphic>
Namespaces múltiples
<document xmlns:doc="http://doc.org/doc.dtd"> <doc:p>Hola</doc:p> <bibdata xmlns:bib="http://biblioteca.cl/bib.dtd"> <bib:codigo>12389124</bib:codigo> </bibdata> </document>
Namespaces lado a lado
<document xmlns:doc="http://doc.org/doc.dtd" xmlns:bib="http://biblioteca.cl/bib.dtd"> <doc:p>Hola</doc:p> <bib:codigo doc:visibility="hide">12389124</bib:codigo> </document>
Nótese que los atributos y los elementos se comparten.
Namespaces default
<document xmlns="http://doc.org/doc.dtd"> <p>Hola</p> </document>
Usos típicos
Debido a XHTML, uno de los namespaces más usados es html, normalmente como default. Los espacios de nombre se utilizan en aplicaciones que generan documentos para varios contextos, como por ejemplo, cuando se necesita realizar anotaciones para ser leídas por humanos y computadoras.
