Por ahora, usemos el "Bloc de notas" para crear nuestro archivo XML. Veamos primero un archivo XML:
Ejemplo 1
〈?xml version="1.0" encoding="gb2312" ?〉
〈Referencias〉
<libros>
〈Nombre〉Introducción a XML 〈/Nombre〉
〈Autor〉Zhang San〈/Autor〉
〈Precio unidad monetaria="RMB"〉20,00〈/precio〉
</libros>
<libros>
<nombre>Sintaxis XML </nombre>
〈!--Este libro se publicará pronto--〉
〈Autor〉Li Si〈/Autor〉
〈Precio unidad monetaria="RMB"〉18,00〈/precio〉
</libros>
〈/Materiales de referencia〉
Este es un archivo XML típico. Después de editarlo, se guarda como un archivo con el sufijo .xml. Podemos dividir este archivo en dos partes principales: el preámbulo del archivo (Prólogo) y el cuerpo del archivo. La primera línea de este archivo es el preámbulo del archivo. Esta línea es algo que un archivo XML debe declarar y también debe estar ubicada en la primera línea del archivo XML. Principalmente le indica al analizador XML cómo trabajar. Entre ellos, la versión es el número de versión estándar utilizado por este archivo XML, que es obligatorio; la codificación especifica el tipo de carácter utilizado en este archivo XML, que se puede omitir cuando se omite esta declaración, el siguiente código de carácter debe ser código de carácter Unicode. (se recomienda no omitirlo). Debido a que en este ejemplo utilizamos el código de caracteres GB2312, no se puede omitir la declaración de codificación. También hay algunas declaraciones en el preámbulo del archivo, que presentaremos más adelante.
El resto del archivo pertenece al cuerpo del archivo, donde se almacena la información del contenido del archivo XML. Podemos ver que el cuerpo principal del archivo está compuesto por las etiquetas de control inicial <reference> y final </reference>. Esto se denomina "elemento raíz" del archivo XML y es el "elemento raíz". directamente debajo del elemento raíz "Subelemento"; en "Libro" hay subelementos como "Nombre", "Autor" y "Precio". La unidad monetaria es un "atributo" en el elemento <precio> y "RMB" es el "valor del atributo".
〈!--Este libro se publicará pronto--〉 es un comentario como HTML En un archivo XML, la parte del comentario se coloca entre las etiquetas "〈!--" y "--〉".
Como puede ver, el archivo XML es bastante simple. Al igual que HTML, los archivos XML también se componen de una serie de etiquetas. Sin embargo, las etiquetas de los archivos XML son nuestras propias etiquetas personalizadas y tienen significados claros.
Después de tener una impresión preliminar de los archivos XML, hablemos en detalle sobre la sintaxis de los archivos XML. Antes de hablar de gramática, debemos entender un concepto importante, que es XML Parse.
1. Analizador XML
La función principal del analizador es comprobar si hay errores estructurales en el archivo XML, eliminar las etiquetas del archivo XML y leer el contenido correcto para procesarlo en el siguiente programa de aplicación. XML es un lenguaje de marcado utilizado para estructurar la información de archivos. La especificación XML tiene reglas detalladas sobre cómo marcar la estructura de los archivos. El analizador es un software escrito de acuerdo con estas reglas (principalmente escrito en Java). Al igual que HTML, en el navegador debe haber un analizador HTML para que el navegador pueda "leer" varias páginas web compuestas de etiquetas HTML y mostrarlas frente a nosotros. Si hay etiquetas que el analizador HTML del navegador no puede leer, se nos devolverá un mensaje de error.
Dado que las etiquetas HTML actuales son bastante confusas y hay muchas etiquetas no estándar (algunas páginas web se pueden mostrar normalmente con IE, pero no con Netscape Navigator), los diseñadores de XML han estipulado estrictamente la sintaxis de XML desde el Desde el principio y la estructura, los archivos XML que escribimos deben cumplir con estas regulaciones; de lo contrario, el analizador XML le mostrará mensajes de error sin piedad.
Hay dos tipos de archivos XML, uno es un archivo XML bien formado y el otro es un archivo XML de validación.
Si un archivo XML satisface ciertas reglas relevantes en la especificación XML y no utiliza una DTD (definición de formato de documento; detalles más adelante), el documento se puede llamar bien formado. Y si un archivo XML está bien formado, la DTD se usa correctamente y la sintaxis en la DTD es correcta, entonces el archivo está en Validación. Correspondientes a los dos archivos XML, hay dos analizadores XML, uno es el analizador bien formado y el otro es el analizador de validación. IE 5 incluye un analizador de validación, que también se puede utilizar para analizar archivos XML bien formados.
Compruebe si cumple las condiciones de Bien formado. Podemos abrir el primer archivo XML que acabamos de editar con un navegador IE 5 o superior.
Quizás se pregunte por qué la visualización en el navegador es la misma que la de mi archivo fuente. Así es, porque para los archivos XML, solo conocemos el contenido y su forma de visualización se completa con CSS o XSL. Aquí, no hemos definido su archivo CSS o XSL para este archivo XML, por lo que se muestra en su forma original. De hecho, para el intercambio electrónico de datos, sólo se necesita un archivo XML. Si queremos mostrarlo de alguna forma, debemos editar el archivo CSS o XSL (este tema se tratará más adelante).
2. Archivo XML bien formado
Sabemos que XML debe estar bien formado para que el analizador lo analice correctamente y se muestre en el navegador. Entonces, ¿qué es un archivo XML bien formado? Existen principalmente las siguientes pautas, que se deben cumplir cuando creamos archivos XML.
Primero, la primera línea de un archivo XML debe declarar que el archivo es un archivo XML y la versión de la especificación XML que utiliza. No puede haber otros elementos o comentarios delante del archivo.
En segundo lugar, sólo puede haber un elemento raíz en un archivo XML. En nuestro primer ejemplo, 〈Referencias〉... 〈/Referencias〉 es el elemento raíz de este archivo XML.
En tercer lugar, las etiquetas del archivo XML deben cerrarse correctamente, es decir, las etiquetas de control del archivo XML deben tener una etiqueta de cierre correspondiente. Por ejemplo: la etiqueta <nombre> debe tener una etiqueta de cierre </nombre> correspondiente. A diferencia de HTML, la etiqueta de cierre de algunas etiquetas es opcional. Si encuentra una etiqueta de unidad independiente en un archivo XML, que es similar a <img src=.....> en HTML sin una etiqueta final, XML la llama "elemento vacío" y debe usar el método de escritura. es: 〈nombre de elemento vacío/〉 Si el elemento contiene atributos, el método de escritura es: 〈nombre de elemento vacío nombre de atributo = "valor de atributo"/〉.
Cuarto, las marcas no deben cruzarse entre sí. En archivos HTML anteriores, podía escribir así:
〈B〉〈H〉XXXXXXX〈/B〉〈/H〉,
hay áreas superpuestas entre las etiquetas 〈B〉 y 〈H〉, pero en XML, está estrictamente escalonado Está prohibido escribir dichas marcas. Las marcas deben aparecer en un orden regular.
Quinto, los valores de los atributos deben estar encerrados entre los signos " ". Como "1.0", "gb2312", "RMB" en el primer ejemplo. Todos están encerrados por " " y no se pueden pasar por alto.
En sexto lugar, las etiquetas de control, las instrucciones y los nombres de atributos en inglés deben distinguir entre mayúsculas y minúsculas. A diferencia de HTML, en HTML etiquetas como <B> y <b> tienen el mismo significado, mientras que en XML, etiquetas como <nombre>, <NOMBRE> o <Nombre> son diferentes.
En séptimo lugar, sabemos que en los archivos HTML, si queremos que el navegador muestre intactos los elementos que ingresamos, podemos ponerlos en 〈pre〉〈/pre〉 o 〈xmp〉〈/xmp〉 marcar el medio. Esto es esencial para que podamos crear páginas web de enseñanza HTML, porque el código fuente de HTML debe mostrarse en la página web. En XML, para lograr dicha función, se deben utilizar etiquetas CDATA. El analizador pasa intacta la información de la etiqueta CDATA a la aplicación y las etiquetas de control del segmento de información no se analizan. El área CDATA está marcada por: "<![CDATA[" como marca de inicio y ">>" como marca de final. Por ejemplo: en el código fuente del Ejemplo 2, excepto los símbolos "<![CDATA[" y ">>", el resto del analizador de contenido se entregará intacto a la aplicación posterior, incluso si hay espacios en blanco en También se transferirán el principio y el final del área CDATA y los caracteres de nueva línea, etc. (tenga en cuenta que CDATA es un carácter en mayúscula).
Ejemplo 2
〈![CDATA[xml volador〉〉〉〉〉,:-)
ooh〈〈〈〈〈〈
>〉
En octavo lugar, XML maneja los espacios en blanco de forma diferente que HTML. El estándar HTML estipula que no importa cuántos espacios en blanco haya, se tratarán como un solo espacio en blanco, mientras que en XML se estipula que el analizador debe entregar fielmente todos los espacios en blanco que no sean etiquetas a las aplicaciones posteriores para su procesamiento. De esta manera, a veces tenemos que abandonar el hábito de la sangría al escribir archivos HTML, porque el analizador también tiene que procesar los espacios sangrados. Tales como:
〈Autor〉Zhang San〈/Autor〉
y 〈autor〉
Zhang San 〈/Author〉
es diferente para el analizador (este último incluye además del carácter Zhang San dentro de la etiqueta 〈Author〉〈/Author〉, también incluye dos marcas de nueva línea y los caracteres antes de "Zhang San "símbolos de sangría de texto). Por lo tanto, el analizador obtendrá resultados de procesamiento diferentes después de eliminar la marca y pasar la información a la aplicación.
Si queremos decirle claramente al programa XML que los espacios en las etiquetas tienen un significado claro y no deben eliminarse casualmente (por ejemplo, en algunos poemas, los espacios tienen significados específicos), podemos agregar un atributo XML incorporado: xml - a las etiquetas. Por ejemplo (obsérvese el caso de nombres y valores de atributos):
〈poetry xml:space="preserver"〉
¡Patria! ¡patria!
¡Mi patria!
〈/Poetry〉
Además, en el archivo XML, si se van a utilizar los caracteres especiales de la Tabla 1, deben reemplazarse por los símbolos correspondientes.
Tabla 1
Símbolos de reemplazo de caracteres especiales && &
<⁢
>>
" "
' '
Para hacer un resumen aquí: el archivo XML que cumple con los requisitos anteriores es el archivo XML bien formado. Este es el requisito más básico para escribir archivos XML. Puede ver que la sintaxis de los archivos XML es mucho más estricta que la de HTML. Debido a regulaciones tan estrictas, es mucho más fácil para los ingenieros de software escribir analizadores XML. A diferencia de escribir analizadores para lenguaje HTML, deben trabajar duro para adaptarse a diferentes métodos de escritura de páginas web y mejorar la adaptabilidad de sus propios navegadores. De hecho, esto también es bueno para nosotros, los principiantes. Simplemente haga lo que quiera y no tenga que preocuparse por cómo escribir varios HTML como antes.
Vemos que en los archivos XML se utilizan la mayoría de las etiquetas personalizadas. Pero piénselo, si dos empresas A y B en la misma industria quieren intercambiar datos entre sí mediante archivos XML, la empresa A usa la etiqueta <price> para representar la información de precios de sus productos, mientras que la empresa B puede usar <selling precio> para representar la información del precio. Si una aplicación XML lee la información en sus respectivos archivos XML, si solo sabe que la etiqueta <precio> representa información de precios, entonces la información de precios de la empresa B no se puede leer y se producirá un error. Obviamente, para las entidades que quieran utilizar archivos XML para intercambiar información, debe haber un acuerdo entre ellas, es decir, qué etiquetas se pueden utilizar para escribir archivos XML, qué subelementos se pueden incluir en el elemento principal, el orden en en qué aparece cada elemento, y cómo definir las propiedades, etc. De esta manera pueden tener una comunicación fluida al intercambiar datos con XML. Esta convención se llama DTD (Definición de tipo de documento, definición de formato de documento). Puede pensar en una DTD como una plantilla para escribir archivos XML. Para el intercambio de datos XML entre la misma industria, será mucho más conveniente tener una DTD fija. Por ejemplo, si todas las páginas web XML de los principales centros comerciales electrónicos de Internet siguen la misma DTD, entonces podemos escribir fácilmente una aplicación basada en esta DTD para capturar automáticamente las cosas que nos interesan en línea. De hecho, ya existen varias DTD bien definidas, como MathML, SMIL, etc., mencionadas anteriormente.
Si un archivo XML está bien formado y se crea correctamente en función de una DTD, entonces el archivo XML se llama: Validación de archivo XML. El analizador correspondiente se llama: Analizador de validación.