floure.ARCHIVO / Tecnologías de la información
← Volver a la colección2 MIN DE LECTURA

Tecnologías de la información

XML

General

XML (eXtensible Markup Language)

XML estructura datos; una DTD describe reglas del documento. El riesgo aparece también en cómo lo procesa la aplicación, así que formato válido y procesamiento seguro son checkpoints distintos.

Es un lenguaje de marcado que permite estructurar y organizar información de forma jerárquica usando etiquetas personalizadas. Similar a HTML pero más flexible, ya que puedes crear tus propias etiquetas personalizadas.

Por ejemplo:

<libro>
    <titulo>Don Quijote</titulo>
    <autor>Miguel de Cervantes</autor>
</libro>

DTD (Document Type Definition)

Es como un "manual de reglas" para documentos XML. Define:

  • Qué elementos pueden existir
  • Qué atributos pueden tener
  • Cómo se pueden organizar y anidar entre sí

Por ejemplo:

<!ELEMENT libro (titulo, autor)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autor (#PCDATA)>

Entidades

Son referencias especiales que representan contenido que se usa frecuentemente o caracteres especiales. Hay dos tipos principales:

  • Entidades predefinidas: Sirven para usar caracteres especiales que podrían confundirse con marcado XML:
&lt; representa <
&gt; representa >
&amp; representa &
  • Entidades personalizadas: Son como "variables" que defines para reutilizar texto:
<!ENTITY editorial "Editorial Planeta">

Luego puedes usarla en el XML así:

<publisher>&editorial;</publisher>

Referencia: XML 1.0, W3C. El ejemplo libro está bien formado; validar contra una DTD es otra comprobación. Las declaraciones <!ELEMENT> y <!ENTITY> van dentro de una DTD (subconjunto interno del DOCTYPE o externa), no sueltas en cualquier posición. El publisher es un ejemplo separado y no coincide con la DTD libro mostrada. Además de lt/gt/amp existen apos/quot. Entidades internas y externas son otra clasificación distinta de predefinidas/personalizadas. Deshabilitar resolución externa/DTD cuando no haga falta y limitar expansiones según parser para evitar XXE/agotamiento.

+----------------------------------------+
| Floure &                               |
| Tachibana's guild                      |
| [Hikari · Nozomi]                      |
| SEAL: sha256/12: b52c50fa5a8b          |
| STATUS: LITURGY_IN_PROGRESS            |
+----------------------------------------+

Conexiones

Desde este apunte · 0

Sin enlaces salientes a otras notas.

Enlazan aquí · 2

Abrir red completa ↗
✳

Fin del apunte

Seguir explorando ↗