¿Qué son 'xmlns' y 'xsi:schemaLocation' en los archivos XML?
Fecha de publicación:
Actualizado:
Artículos técnicos > ¿Qué son 'xmlns' y 'xsi:schemaLocation' en los archivos XML?
Estado 2026 y uso seguro
Conclusión: xmlns vincula un prefijo o espacio de nombres predeterminado a un URI para que los nombres de los elementos permanezcan inequívocos. xsi:schemaLocation es solo una sugerencia que empareja los URI del espacio de nombres con las ubicaciones del esquema; El comportamiento de validación aún depende del procesador XML.
Qué aprenderás
- Cómo los espacios de nombres predeterminados y con prefijo cambian el nombre expandido de un elemento.
- Por qué un URI de espacio de nombres es un identificador y no tiene por qué devolver una página web.
- En qué se diferencia
xsi:schemaLocationdexsi:noNamespaceSchemaLocation.
Para quién: Desarrolladores que leen Maven, Spring, SOAP u otros archivos de configuración XML.
Situación en 2026: El espacio de nombres del W3C y las reglas del esquema XML siguen siendo la autoridad. Trate las ubicaciones de esquemas remotos como entradas que no son de confianza y evite depender de la recuperación de la red durante el análisis de producción.
Nota de seguridad: Los comandos y ejemplos de configuración del artículo original no se han vuelto a ejecutar en un entorno de producción actual. Verifique las versiones compatibles, las copias de seguridad, los controles de acceso y los pasos de reversión en un entorno de prueba independiente antes de aplicarlos.
Fuentes primarias oficiales
Resumen
Este artículo explica el significado de «xmlns» y «xsi:schemaLocation» en un archivo XML.
Índice de contenidos
1. ¿Qué es un archivo XML?
XML son las siglas de Extensible Markup Language y está especificado por el World Wide Web Consortium (W3C). Para obtener especificaciones más detalladas que "xmlns" y "xsi:schemaLocation", consulte los siguientes sitios.
1-1. ¿Qué son "xmlns" y "xsi:schemaLocation"?
El siguiente ejemplo es un ejemplo de la primera descripción en un archivo XML cuando se utiliza el marco de trabajo de Spring para el desarrollo de aplicaciones Java.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
xmlns declara espacios de nombres XML; xsi:schemaLocation asocia esos espacios con posibles documentos de esquema. En una configuración de Spring, los espacios de nombres distinguen elementos de distintos vocabularios XML. Los esquemas correspondientes describen los elementos, atributos y estructuras permitidos.
1-2. ¿Qué es xmlns?
xmlns es una declaración de espacio de nombres XML. El nombre suele expresarse como un URI para identificar de forma única un vocabulario XML.
En «xmlns="http://www.springframework.org/schema/beans"», ese URI declara el espacio de nombres predeterminado. Los elementos sin prefijo pertenecen a dicho espacio.
El URI actúa como identificador y no tiene por qué ser una página web accesible. Un analizador o framework puede resolver el XSD mediante xsi:schemaLocation, un catálogo o recursos del classpath. Spring suele obtener estos esquemas de sus propios JAR, sin descargarlos de Internet en cada lectura.
1-3. ¿Qué es "xmlns:xsi"?
«xmlns:xsi» vincula el prefijo xsi con el espacio XML Schema Instance. A partir de ahí pueden usarse atributos como xsi:schemaLocation. Una declaración xmlns sin prefijo establece el espacio predeterminado; declaraciones como «xmlns:context» se utilizan mediante nombres cualificados como context:component-scan.
2. Resumen
xmlns identifica el espacio de nombres de un elemento o atributo. xsi:schemaLocation, en cambio, ofrece una pista sobre la ubicación de sus esquemas. Son conceptos relacionados, pero cumplen funciones distintas.