Espacios de nombres XML

De TW

Saltar a: navegación, buscar
Este artículo es un esbozo y necesita ser expandido

Ver: XML NameSpaces en el W3C

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.