FANDOM


Partes de un documentoEditar

Éste es el documento XML que vimos en el capítulo anterior:

<?xml version="1.0"?>
<pelicula>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
  </actores>
</pelicula>
<!-- Por hacer: completar actores. -->

Podemos diferenciar tres partes. En primer lugar, el prólogo

<?xml version="1.0"?>

En el cuerpo es donde están los datos del documento:

<pelicula>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
  </actores>
</pelicula>

Para terminar, el epílogo. En este caso, sólo contiene un comentario:

<!-- Por hacer: completar actores. -->

AcentosEditar

¿Es posible utilizar acentos en los nombres de las etiquetas? Prueba a cargar este documento XML:

<?xml version="1.0"?>
<película>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
  </actores>
</película>
<!-- Por hacer: completar actores. -->

Podrás comprobar que ocurre un error, causado por la etiqueta película. Este problema se soluciona modificando el prólogo del documento. En él indicamos que la tabla de caracteres a utilizar debe contener, entre otros, los acentuados:

<?xml version="1.0" encoding="iso-8859-15"?>
<película>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
  </actores>
</película>
<!-- Por hacer: completar actores. -->

ComentariosEditar

Puedes utilizar comentarios en sus documentos XML para incluir anotaciones, como en el siguiente ejemplo:

<?xml version="1.0"?>
<pelicula>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
    <!--No es seguro.-->
    <!--<actor>Al Pacino</actor>-->
  </actores>
</pelicula>
<!-- Por hacer: completar actores. -->

AtributosEditar

Es posible añadir a cada nodo información adicional. En este ejemplo, cada actor puede pertenecer a una categoría diferente (protagonista o secundario):

<?xml version="1.0"?>
<pelicula>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor papel="protagonista">Jonathan Pryce</actor>
    <actor papel="secundario">Bob Hoskins</actor>
  </actores>
<actor/>
</pelicula>

Caracteres especialesEditar

El formato XML se reserva algunos caracteres para sí mismo. Es el caso del ampersand (&) o de los símobolos de apertura (<) y cierre de etiqueta (>). Así, este documento es incorrecto:

<?xml version="1.0"?>
<nodo>2 > 3 < 2</nodo>

Para salvar esta dificultad es posible utilizar sustitutos:

<?xml version="1.0"?>
<nodo>2 &gt; 3 &lt; 2</nodo>

EspaciosEditar

Por defecto, el analizador de XML ignora los espacios o tabuladores dentro del contenido de las etiquetas:

<?xml version="1.0"?>
<actores>
  <actor>Jonathan  Pryce</actor>
  <actor>Jonathan Pryce</actor>
  <actor>Jonathan		Pryce</actor>
</actores>

Para él, todos los nodos actor del documento anterior son iguales.

Ignorar partes del documentoEditar

Si lo deseas, puedes incluir datos en su documentos que serán ignorados por el analizador XML. Sólo es necesario que utilices la etiqueta CDATA, como en el siguiente ejemplo:

<?xml version="1.0"?>
<pelicula>
  Brazil
  <director>Terry Gilliam</director>
  <actores>
    <actor>Jonathan Pryce</actor>
  </actores>
  <html>
  <![CDATA[
  <HTML>
    <HEAD>
      <TITLE>
        Brazil
      </TITLE>
    </HEAD>
    <BODY>
      <H1>Brazil</H1>
      <B>Director:</B> Terry Gilliam<BR>
      <B>Protagonista:</b> Jonathan Pryce<BR>
    </BODY>
  </HTML>
  ]]>
  </html>
</pelicula>
<!-- Por hacer: completar actores. -->

ProgramasEditar

Es posible crear programas que comprueben si un documento XML está bien formado. El siguiente es un ejemplo de ello:

using System;
using System.Xml;

namespace XML_bien_formado
{
  class MainClass
  {
    public static void Main(string[] args)
    {
      
      XmlDocument xml = new XmlDocument();

      try{
      
        xml.Load("brazil.xml");
      
      }
      
      catch(Exception e){
        
        Console.WriteLine("Ha ocurrido un error: '{0}'", e);
        
      }
            
    }
  }
}

Enlaces interesantesEditar

Puede que encuentres interesantes los siguientes enlaces:

  • Página para comprobar si un documento está bien formado o no.
  • Un editor de documentos XML para Windows.
  • Otro para Linux.
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.