XML: sintaxis

En este capítulo, discutiremos las reglas de sintaxis simples para escribir un documento XML. A continuación se muestra un documento XML completo:

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Puede notar que hay dos tipos de información en el ejemplo anterior:

  • Marcado, como <contact-info>

  • El texto, o los datos de caracteres, Tutorials Point y (040) 123-4567 .

El siguiente diagrama muestra las reglas de sintaxis para escribir diferentes tipos de marcado y texto en un documento XML.

Veamos cada componente del diagrama anterior en detalle.

Declaración XML

El documento XML puede tener opcionalmente una declaración XML. Está escrito de la siguiente manera:

<?xml version = "1.0" encoding = "UTF-8"?>

Donde versión es la versión XML y la codificación especifica la codificación de caracteres utilizada en el documento.

Reglas de sintaxis para la declaración XML

  • La declaración XML distingue entre mayúsculas y minúsculas y debe comenzar con "<?xml>" dónde "xml"está escrito en minúsculas.

  • Si el documento contiene una declaración XML, entonces es estrictamente necesario que sea la primera declaración del documento XML.

  • La declaración XML debe ser estrictamente la primera declaración del documento XML.

  • Un protocolo HTTP puede anular el valor de codificación que ingresa en la declaración XML.

Etiquetas y elementos

Un archivo XML está estructurado por varios elementos XML, también llamados nodos XML o etiquetas XML. Los nombres de los elementos XML están encerrados entre corchetes triangulares <> como se muestra a continuación -

<element>

Reglas de sintaxis para etiquetas y elementos

Element Syntax - Cada elemento XML debe cerrarse con elementos de inicio o de final como se muestra a continuación -

<element>....</element>

o en casos simples, solo de esta manera -

<element/>

Nesting of Elements- Un elemento XML puede contener varios elementos XML como elementos secundarios, pero los elementos secundarios no deben superponerse. es decir, una etiqueta de fin de un elemento debe tener el mismo nombre que la etiqueta de inicio no coincidente más reciente.

El siguiente ejemplo muestra etiquetas anidadas incorrectas:

<?xml version = "1.0"?>
<contact-info>
<company>TutorialsPoint
</contact-info>
</company>

El siguiente ejemplo muestra las etiquetas anidadas correctas:

<?xml version = "1.0"?>
<contact-info>
   <company>TutorialsPoint</company>
<contact-info>

Root Element- Un documento XML solo puede tener un elemento raíz. Por ejemplo, el siguiente no es un documento XML correcto, porque tanto elx y y los elementos ocurren en el nivel superior sin un elemento raíz -

<x>...</x>
<y>...</y>

El siguiente ejemplo muestra un documento XML correctamente formado:

<root>
   <x>...</x>
   <y>...</y>
</root>

Case Sensitivity- Los nombres de los elementos XML distinguen entre mayúsculas y minúsculas. Eso significa que el nombre de los elementos inicial y final deben estar exactamente en el mismo caso.

Por ejemplo, <contact-info> es diferente de <Contact-Info>

Atributos XML

Un attributeespecifica una sola propiedad para el elemento, utilizando un par nombre / valor. Un elemento XML puede tener uno o más atributos. Por ejemplo

<a href = "http://www.tutorialspoint.com/">Tutorialspoint!</a>

aquí href es el nombre del atributo y http://www.tutorialspoint.com/ es el valor del atributo.

Reglas de sintaxis para atributos XML

  • Los nombres de atributos en XML (a diferencia de HTML) distinguen entre mayúsculas y minúsculas. Es decir, HREF y href se consideran dos atributos XML diferentes.

  • El mismo atributo no puede tener dos valores en una sintaxis. El siguiente ejemplo muestra una sintaxis incorrecta porque el atributo b se especifica dos veces

    -
<a b = "x" c = "y" b = "z">....</a>
  • Los nombres de los atributos se definen sin comillas, mientras que los valores de los atributos siempre deben aparecer entre comillas. El siguiente ejemplo demuestra una sintaxis XML incorrecta

    -
<a b = x>....</a>

En la sintaxis anterior, el valor del atributo no está definido entre comillas.

Referencias XML

Las referencias generalmente le permiten agregar o incluir texto o marcado adicional en un documento XML. Las referencias siempre comienzan con el símbolo"&" que es un carácter reservado y termina con el símbolo ";". XML tiene dos tipos de referencias:

  • Entity References- Una referencia de entidad contiene un nombre entre los delimitadores inicial y final. Por ejemplo&amp;donde amp es el nombre . El nombre se refiere a una cadena predefinida de texto y / o marcado.

  • Character References - Estos contienen referencias, como &#65;, contiene una marca de almohadilla ("#") seguida de un número. El número siempre se refiere al código Unicode de un carácter. En este caso, 65 se refiere al alfabeto "A".

Texto XML

Los nombres de los elementos XML y de los atributos XML distinguen entre mayúsculas y minúsculas, lo que significa que el nombre de los elementos inicial y final deben escribirse en el mismo caso. Para evitar problemas de codificación de caracteres, todos los archivos XML deben guardarse como archivos Unicode UTF-8 o UTF-16.

Los caracteres de espacio en blanco como espacios en blanco, tabulaciones y saltos de línea entre elementos XML y entre atributos XML serán ignorados.

Algunos caracteres están reservados por la propia sintaxis XML. Por tanto, no pueden utilizarse directamente. Para usarlos, se usan algunas entidades de reemplazo, que se enumeran a continuación:

Carácter no permitido Entidad de reemplazo Descripción del personaje
< & lt; menos que
> & gt; mas grande que
Y &erio; ampersand
' &apos; apostrophe
" &quot; quotation mark