67 lines
2.4 KiB
Markdown
67 lines
2.4 KiB
Markdown
## 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
|
|
<?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 <raiz>
|
|
- 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:
|
|
|
|
```xml
|
|
<![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) | `<` |
|
|
| > (mayor que) | `>` |
|
|
| " (comilla doble) | `"` |
|
|
| ' (comilla simple) | `'` |
|
|
| & (ampersand) | `&` |
|
|
|
|
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/ |