Comenzando con xml

Bien formada

Un documento XML es un archivo de texto que se ajusta a las reglas de formato correcto de la especificación XML. Se dice que dicho documento conforme está bien formado (no debe confundirse con válido). XML es muy estricto con la buena formación en comparación con otros lenguajes como HTML. Un archivo de texto que no está bien formado no se considera XML y no puede ser utilizado por aplicaciones consumidoras.

Estas son algunas reglas que se aplican a los documentos XML:

  1. XML utiliza una sintaxis muy autodescriptiva. Un prólogo define la versión XML y la codificación de caracteres:

     <?xml version="1.0" encoding="UTF-8"?>
    
  2. Debe haber exactamente un elemento de nivel superior.

    <root>
        <!-- the rest of the XML document -->
    </root>
    

    However, comments, processing instructions, as well as the initial XML declaration, are allowed at the top-level as well. Text and attributes are not.

     <?xml version="1.0"?>
     <!-- some comments -->
     <?app a processing instruction?>
     <root/>
     <!-- some more comments -->
    
  3. Los elementos pueden anidarse, pero deben estar “adecuadamente anidados”:

     <name>
       <first-name>John</first-name>
       <last-name>Doe</last-name>
     </name>
    

    The start and end tags of an embedded element have to be within the start and end tags of its container element. An overlapping of elements is illegal. En particular, este no es un XML bien formado: <foo><bar></foo></bar>

  4. Los atributos solo pueden aparecer en etiquetas de elementos de apertura o etiquetas de elementos vacíos, no en etiquetas de elementos de cierre. Si la sintaxis de atributo aparece entre elementos, no tiene significado y se analiza como texto.

     <person first-name="John" last-name="Doe"/>
    

    This is not well-formed: <person></person first-name="John"/>

  5. Los comentarios, las instrucciones de procesamiento, el texto y otros elementos pueden aparecer en cualquier lugar dentro de un elemento (es decir, entre su etiqueta de apertura y cierre), pero no dentro de las etiquetas.

     <element>
         This is some <b>bold</b> text.
         <!-- the b tag has no particular meaning in XML -->
     </element>
    

    This example is not well-formed: <element <-- comment --> />

  6. Es posible que el carácter < no aparezca en el texto o en los valores de los atributos.

  7. Es posible que el carácter " no aparezca en los valores de atributos que se citan con ". El carácter ' puede no aparecer en los valores de atributo que se citan con '.

  8. La secuencia de caracteres -- puede no aparecer en un comentario.

  9. Los caracteres literales < y & deben ser escapados por sus respectivas entidades &lt; y &amp;.

Instalación o Configuración

XML es una sintaxis, lo que significa que un editor de texto simple es suficiente para comenzar.

Sin embargo, tener un editor específico de XML que le muestre cuándo y dónde su documento no está bien formado es casi indispensable para la productividad. Dichos editores también pueden permitirle validar documentos XML contra un esquema XML, o incluso generar esquemas XML a partir de documentos XML (y viceversa).

Algunos ejemplos de editores son oXygen, Atom, Eclipse y Altova XMLSpy. Una solución alternativa es utilizar un analizador XML de línea de comandos como Apache Xerces.

Los bloques de construcción básicos

XML está hecho de bloques de construcción básicos, que son:

  • elemento
  • texto
  • atributos
  • comentarios
  • instrucciones de procesamiento

Un elemento tiene paréntesis angulares:

<element/>

<element>some content</element>

Un atributo aparece en una etiqueta de elemento de apertura:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>

El texto puede aparecer en cualquier lugar dentro o entre elementos:

<element>some more <b>bold</b> text</element>

Los comentarios utilizan la siguiente sintaxis. Es importante saber que los comentarios XML, a diferencia de los lenguajes de programación, son parte del modelo y serán visibles para la aplicación sobre el analizador.

<!-- this is a comment -->

Las instrucciones de procesamiento permiten pasar mensajes a la aplicación consumidora (por ejemplo, cómo mostrar, o una hoja de estilo, etc.). XML no restringe el formato de las instrucciones de procesamiento.

<?target-application these are some instructions?>

Se pueden encontrar más detalles sobre los bloques de construcción [en este tema] (https://www.wikiod.com/es/xml/bloques-de-construccion)

Hola Mundo

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>

Espacios de nombres

Los nombres de elementos y atributos viven en espacios de nombres que son URI. Los espacios de nombres están vinculados a los prefijos que se utilizan en los nombres de atributos y elementos reales, que se denominan QNames.

Este documento vincula un espacio de nombres al prefijo prefijo y define un espacio de nombres predeterminado, vinculado con la ausencia de prefijo.

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>

Se pueden encontrar más detalles sobre los espacios de nombres [en este tema] (https://www.wikiod.com/es/xml/espacios-de-nombres)