[Spring] Análisis de formato dtd y xsd de configuración xml de Spring

1. Formato DTD

1.1 Ejemplo de DTD en primavera

Inicialmente, el encabezado del archivo de configuración de Spring se declara de la siguiente manera:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"  
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
<beans>  
  
</beans>  

Explicación:
1. La primera línea representa la declaración xml Cualquier documento xml bien formado debe ser la primera línea de declaración. Es equivalente a decirle al analizador que este es un documento xml, y puede usar el analizador xml para analizarlo.

2. La declaración dtd indica que los elementos y atributos en el xml deben cumplir con spring-beans-2.0.dtdel estándar de definición de tipo de documento.

1.2 ¿Qué es DTD?

DTD: La definición del tipo de archivo ( Document Type Definition) del archivo se puede considerar como una plantilla de uno o más archivos XML, donde puede definir los elementos en el archivo XML, los atributos de los elementos, la disposición de los elementos, el contenido contenido en los elementos, etc.

Desventajas:
DTD en comparación con XSD: DTD se escribe utilizando una sintaxis no XML.
DTD no es extensible, no admite espacios de nombres y solo proporciona tipos de datos muy limitados.

Debido a algunas limitaciones de DTD y el soporte de XML Schema para tipos de datos y espacios de nombres. El esquema XML pronto reemplazará a DTD.

2. Formato XSD

2.1 Ejemplo de XSD en primavera

<?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:aop="http://www.springframework.org/schema/aop"  
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"  
    xsi:schemaLocation="  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  
</beans>  
  

Funciones del espacio de nombres del esquema XML:
1. Evite los conflictos de nombres, como el paquete en Java.
2. Separe las etiquetas con diferentes funciones (como el espacio de nombres tx en Spring para las etiquetas de tipo de transacción, el espacio de nombres de contexto para las etiquetas de los componentes)

Explicación del código:
1. xmlns="http://www.springframework.org/schema/beans"
Declare el espacio de nombres predeterminado del archivo xml, lo que significa el espacio de nombres predeterminado de todas las etiquetas que no utilizan otros espacios de nombres.

2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Declare la instancia del esquema XML y use el atributo schemaLocation después de la declaración.

3. xmlns:aop="http://www.springframework.org/schema/aop"
Declare el espacio de nombres con el prefijo aop, y el analizador no utilizará la URL utilizada para indicar la dirección del espacio de nombres para buscar información. Su única función es darle al espacio de nombres un nombre único. Cuando se define un espacio de nombres en la etiqueta de inicio de un elemento, todos los elementos secundarios con el mismo prefijo se asociarán con el mismo espacio de nombres.

4 、

xsi:schemaLocation="  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

Se puede ver en el nombre que este atributo debe usarse junto con el espacio de nombres para especificar la ubicación del esquema. Este atributo tiene dos valores:

  • El primer valor indica el espacio de nombres que debe usarse
  • El segundo valor indica la ubicación del esquema XML utilizado por el espacio de nombres

Entonces, cuando necesitemos qué tipo de etiqueta, podemos introducir qué tipo de espacio de nombres y definición de esquema.

2.2 ¿Qué es XSD?

XSD es la abreviatura de la definición de estructura XML, que en inglés se denomina Definición de esquemas XML. El esquema XML describe la estructura de los documentos XML.

Puede utilizar un esquema XML especificado para verificar un documento XML y comprobar si el documento XML cumple con sus requisitos. El diseñador de documentos puede especificar la estructura y el contenido permitidos de un documento XML a través del esquema XML y puede verificar si un documento XML es válido basándose en esto. El esquema XML en sí es un documento XML, que se ajusta a la estructura gramatical XML. Se puede analizar con un analizador XML general.

Un esquema XML definirá: los elementos que aparecen en el documento, los atributos que aparecen en el documento, los subelementos, el número de subelementos, el orden de subelementos, si los elementos están vacíos, los tipos de datos de elementos y atributos, el valor predeterminado y fijo de elementos o atributos.

Ahora generalmente use XSD en lugar de DTD:

  • Primero, se puede ampliar de acuerdo con las condiciones futuras.
  • En segundo lugar, es más rico y útil que DTD.
  • El tercero es escribir en XML.
  • El cuarto es admitir tipos de datos
  • El quinto es admitir espacios de nombres.

Ventajas del esquema XML:

  1. El esquema XML se basa en XML y no tiene una sintaxis especial
  2. XML se puede analizar y procesar como otros archivos XML
  3. XML Schema admite una serie de tipos de datos (int, float, boolean, date, etc.)
  4. XML Schema proporciona un modelo de datos extensible.
  5. El esquema XML admite un espacio de nombres completo
  6. El esquema XML admite grupos de atributos.

Supongo que te gusta

Origin blog.csdn.net/m0_45406092/article/details/115288121
Recomendado
Clasificación