Administrar espacios de nombres en un documento XML
Artículo
Los espacios de nombres XML asocian nombres de elementos y de atributos de un documento XML con identificadores URI personalizados y predefinidos. Para crear estas asociaciones, puede definir los prefijos de los URI del espacio de nombres y usar dichos prefijos para calificar los nombres de los elementos y de los atributos en los datos XML. Los espacios de nombres evitan conflictos de nombres de elementos y atributos y permiten que los elementos y atributos con el mismo nombre se traten y se validen de forma diferente.
Declarar espacios de nombres
Para declarar un espacio de nombres en un elemento, puede usar el atributo xmlns::
xmlns:<name>=<"uri">
Donde <name> es el prefijo de espacio de nombres y <"uri"> es el URI que identifica el espacio de nombres. Después de declarar el prefijo, puede usarlo para calificar elementos y atributos de un documento XML y asociarlos al identificador URI del espacio de nombres. Como el prefijo de espacio de nombres se utiliza en todo el documento, debe ser corto.
Este ejemplo define dos elementos BOOK. El primer elemento se califica mediante el prefijo del espacio de nombres mybook y el segundo elemento se califica con el prefijo bb. Cada prefijo se asocia a un URI del espacio de nombres distinto:
Para indicar que un elemento es parte de un espacio de nombres en particular, agréguele el prefijo de espacio de nombres. Por ejemplo, si un elemento Author pertenece al espacio de nombres mybook, se declara como <mybook:Author>.
Ámbito de la declaración
Un espacio de nombres es efectivo desde el momento de su declaración hasta el fin del elemento en el que se ha declarado. En este ejemplo, el espacio de nombres definido en el elemento BOOK no se aplica a elementos que estén fuera del elemento BOOK, tales como el elemento Publisher:
Para usar un espacio de nombres, antes éste se debe declarar, pero no tiene que aparecer al principio del documento XML.
Si se usan varios espacios de nombres en un documento XML, puede definir un espacio de nombres como predeterminado para crear un documento en el que se mejora la claridad. El espacio de nombres predeterminado se declara en el elemento raíz y se aplica a todos los elementos sin calificar del documento. Los espacios de nombres predeterminados solo se aplican a los elementos, no a los atributos.
Para usar el espacio de nombres predeterminado, omita el prefijo y los dos puntos de la declaración en el elemento:
La clase XmlNamespaceManager almacena una colección de URI del espacio de nombres y sus prefijos y permite buscar, agregar y quitar los espacios de nombres en esta colección. En determinados contextos, esta clase es necesaria para obtener un mejor rendimiento del procesamiento XML. Por ejemplo, la clase XsltContext usa XmlNamespaceManager para la compatibilidad con XPath.
El administrador de espacios de nombres no realiza ninguna validación en los espacios de nombres, pero asume que ya se han comprobado los prefijos y los espacios de nombres y son compatibles con la especificación de espacios de nombres de W3C.
A continuación se detallan algunas de las tareas de administración y búsqueda que puede realizar con la clase XmlNamespaceManager. Para obtener más información y ejemplos, siga los vínculos a la página de referencia para cada método o propiedad.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
En este módulo se explica la estructura de los espacios de nombres que contienen clases y también cómo consultar instancias de una clase. Se explica cómo consultar equipos remotos mediante conexiones ad hoc y sesiones CIM.