Compartir a través de


Ámbito de declaración de espacios de nombres

Actualización: November 2007

Las declaraciones de espacios de nombres tienen ámbito. Esto significa que los espacios de nombres pueden aparecer en cualquier parte de un documento, pero que, como las variables programables, tienen ámbito y por tanto, sólo se aplican en su ámbito apropiado. Existen dos clases de ámbito, predeterminado y certificado.

Un espacio de nombres predeterminado se declara en el elemento raíz y se aplica a todos los elementos sin certificar del documento. Un espacio de nombres certificado se declara cuando un espacio de nombres más específico se invalida en alguna parte del documento.

Aunque para utilizar un espacio de nombres, éste se debe declarar, eso no significa que deba aparecer al principio del documento XML. Por ejemplo, en el código siguiente se muestra la declaración de un espacio de nombres certificado en mitad de los datos, al nivel del elemento BOOK y cómo el espacio de nombres se aplica únicamente a todos los descendientes de dicho elemento.

<Author>Joe Smith</Author>
<BOOK xmlns:book="https://www.contoso.com">
    <title>My Wonderful Day</title>
      <price>$3.95</price>
</BOOK>
<Publisher>
    <Name>MSPress</Name>
</Publisher>

El espacio de nombres definido en el elemento BOOK no se aplica a elementos que estén fuera del elemento BOOK, tales como un elemento Publisher. Si en un documento aparece un espacio de nombres, esto implica que el espacio de nombres que se declara es efectivo desde el lugar de su declaración hasta el final del elemento donde se declaró.

Si se ha declarado un espacio de nombres para el elemento Publisher, para completarse debe anteponerse al elemento con un signo de dos puntos. Si el elemento Publisher perteneciera al espacio de nombres mybook , se declararía como <mybook:Publisher>.

Vea también

Conceptos

Espacios de nombres en un documento XML

Declaraciones de espacio de nombres

Espacios de nombres predeterminados

Administrar espacios de nombres mediante XmlNamespaceManager

Información obtenida a partir de XmlNamespaceManager