Curso202223/LMSGI/ApuntesXML/readme.md

2.4 KiB

Apuntes XML

Definición

Es una especificación de W3C, que significa eXtensible Markup Language, y es derivado de SGML. Permite definir la gramática de lenguajes específicos para estructurar documentos grandes.

Ventajas

  • Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas.
  • El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML.
  • Es sencillo entender su estructura y procesarla, tanto por humanos como por maquinas

Estructura y elementos:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!-- comentario: fin del prologo -->
<raiz>
    <elemento1>
        <etiquetas>
            <etiqueta1 atributo="valor">contenido</etiqueta1>
            <etiqueta2 atributo="">contenido</etiqueta2>
            <etiqueta3>contenido</etiqueta3>
        </etiquetas><!-- comentario -->
        <etiqueta_vacia/>
    </elemento1>
</raiz>
  • Se compone de un prologo (opcional) y un cuerpo
    • El prologo contiene:
      • Declaración xml
      • Declaración del tipo de documento
      • Enlace al documento DTD asociado, o el propio DTD insertado
      • Comentarios e instrucciones de procesamiento
  • En el cuerpo solo puede existir un elemento
  • Los elementos pueden anidarse, pero hay que cerrar siempre los inferiores primero

Secciones CDATA

Es una construcción XML se pueden introducir elementos que no se analicen como código XML, siendo útil para textos con caracteres especiales. Ejemplo:

<![CDATA[#include <stdio.h>]]>

Dentro de una sección CDATA no se puede escribir la cadena "]]>". En consecuencia, no se pueden anidar secciones CDATA.

Caracteres reservados y unicode

Carácter Código
< (menor que) &lt;
> (mayor que) &gt;
" (comilla doble) &quot;
' (comilla simple) &apos;
& (ampersand) &amp;

Para unicode se introduce el código decimal o hexadecimal mediante los caracteres reservados &# DEC_HEX_CODE ;. Para hexadecimal es necesario anteponer una x al código.

Listado unicode: https://en.wikipedia.org/wiki/List_of_Unicode_characters

Playlist: https://www.youtube.com/playlist?list=PLqu7Q-jp3eAPhrfYbS-RcTNZn7L2LMzpp

XMLCopyEditor: https://xml-copy-editor.sourceforge.io/

Tutorial XML (Abrirllave.com): https://www.abrirllave.com/xml/