¿Qué son 'xmlns' y 'xsi:schemaLocation' en los archivos XML?


Fecha de publicación:18 de enero de 2021.



INFOMARTION > ¿Qué son 'xmlns' y 'xsi:schemaLocation' en los archivos XML?

Resumen.

En los archivos XML verás 'xmlns', 'xsi:schemaLocation', etc., y me gustaría explicar qué significan.

Índice de contenidos

  1. ¿Qué es un archivo XML?
  2. resumen

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.

https://www.w3.org/TR/xml/

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.

applicationContext.xml


<?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">

En conclusión, 'xmlns' y 'xsi:schemaLocation' son configuraciones para definiciones sobre cómo se escribe el XML. En el desarrollo de aplicaciones Java, el marco de trabajo de Spring realiza el procesamiento basado en los datos contenidos en este archivo XML. Si no hay una definición sobre cómo escribir XML, es difícil saber cómo escribirlo. Así, por ejemplo, definen que "se puede definir el atributo id en la etiqueta bean" y "se puede definir la etiqueta constructor-arg en la etiqueta interior de la etiqueta bean".

1-2. ¿Qué es xmlns?

xmlns se refiere al "espacio de nombres XML". En resumen, un espacio de nombres es un ID, es decir, un valor que identifica de forma única.

Tomando el ejemplo anterior de "xmlns="http://www.springframework.org/schema/beans"" como ejemplo, "http://www.springframework.org/schema/beans" es el espacio de nombres, es decir, el valor que identifica unívocamente a El valor es.

Es una URL, pero cuando el programa la procesa, no lo hace como una URL, sino como un ID. Por lo tanto, el proceso se lleva a cabo buscando el archivo XSD (archivo de definición XML) en el que se define "http://www.springframework.org/schema/beans" como ID y comprobando si se describe tal y como se define en el archivo XSD. El proceso se lleva a cabo buscando un archivo XSD (archivo de definición XML) con "" definido como ID y comprobando si se describe como se define en el archivo XSD. En el caso de Spring, el archivo XSD también se almacena como un conjunto en el archivo jar.

1-3. ¿Qué es "xmlns:xsi"?

'xmlns', 'xmlns:xsi', etc. para evitar definiciones duplicadas. Por ejemplo, si la misma etiqueta de muestra se define para "xmlns" y "xmlns:xsi", no es posible determinar cuál es la definición que se describe. Por lo tanto, es posible distinguir entre las definiciones "xmlns" y "xmlns:xsi" para "muestra" y "xsi:muestra" para "xmlns:xsi". Es decir, los que tienen "xmlns="~"" son los valores por defecto, mientras que los que tienen "xmlns:xxxx="~"" deben definirse como "xxxx:nombre de etiqueta".

2. resumen

'xmlns' y 'xsi:schemaLocation' son ajustes del archivo de definición para escribir correctamente los archivos XML.

Gracias por mirar hasta el final.