O que são 'xmlns' e 'xsi:schemaLocation' em ficheiros XML?


Data de Publicação:18 de Janeiro de 2021.



INFOMARTION > O que são 'xmlns' e 'xsi:schemaLocation' em ficheiros XML?

Visão geral.

Verá 'xmlns', 'xsi:schemaLocation', etc. em ficheiros XML, e eu gostaria de explicar o que estes significam.

Tabela de Conteúdos

  1. O que é um ficheiro XML?
  2. resumo

1. O que é um ficheiro XML?

XML significa Extensible Markup Language e é especificado pelo World Wide Web Consortium (W3C). Para especificações mais detalhadas para além de "xmlns" e "xsi:schemaLocation", consulte por favor os seguintes sítios.

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

1-1. O que são "xmlns" e "xsi:schemaLocation"?

O exemplo seguinte é um exemplo da primeira descrição num ficheiro XML quando se utiliza a estrutura da Primavera para o desenvolvimento de aplicações 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">

Em conclusão, 'xmlns' e 'xsi:schemaLocation' são definições sobre a forma como o XML é escrito. No desenvolvimento de aplicações Java, a estrutura Spring realiza o processamento com base nos dados contidos neste ficheiro XML. Se não existe uma definição de como escrever XML, é difícil saber como escrevê-lo. Assim, por exemplo, definem que "pode definir o atributo id na tag do feijão" e "pode definir a tag do construtor-arg na tag interna da tag do feijão".

1-2. O que são xmlns?

xmlns refere-se ao "espaço de nomes XML". Em resumo, um namespace é um ID, ou seja, um valor de identificação único.

Tomando como exemplo o exemplo anterior de "xmlns="http://www.springframework.org/schema/beans", "http://www.springframework.org/schema/beans" é o namespace, ou seja, o valor que identifica de forma única O valor é.

É um URL, mas quando o programa o processa, não é processado como um URL, mas como um ID. Por conseguinte, o processo é levado a cabo encontrando o ficheiro XSD (ficheiro de definição XML) no qual "http://www.springframework.org/schema/beans" é definido como um ID e verificando se é descrito como definido no ficheiro XSD. O processo é levado a cabo procurando um ficheiro XSD (ficheiro de definição XML) com "" definido como o ID e verificando se está descrito como definido no ficheiro XSD. No caso da Primavera, o ficheiro XSD é também armazenado como um conjunto no ficheiro do frasco.

1-3. O que é "xmlns:xsi"?

'xmlns', 'xmlns:xsi', etc., para evitar definições duplicadas. Por exemplo, se a mesma etiqueta de amostra for definida em "xmlns" e "xmlns:xsi", não é possível determinar qual a definição como é descrita. Portanto, é possível distinguir entre as definições "xmlns" e "xmlns:xsi" para "amostra" e "xsi:amostra" para "xmlns:xsi". Por outras palavras, aqueles com "xmlns="~"" são os valores por defeito, enquanto aqueles com "xmlns:xxxx="~"" devem ser definidos como "xxxx:tag name".

2. resumo

xmlns' e 'xsi:schemaLocation' são definições de ficheiros para escrever correctamente ficheiros XML.

Obrigado por ter observado até ao fim.