Chuleta de Lenguajes de Marcas
XML bien formado y válido, DTD, XSD, XPath, XSLT, XQuery, HTML semántico y CSS esencial.
XML bien formado
| <?xml version="1.0" encoding="UTF-8"?> | Declaración (opcional, siempre la primera línea) |
|---|---|
| Un único elemento raíz | Todo lo demás va dentro |
| Etiquetas cerradas y bien anidadas | <a><b></b></a>, nunca <a><b></a></b> |
| Atributos entre comillas | <libro isbn="123"> |
| Distingue mayúsculas | <Nombre> y <nombre> son distintos |
| < > & " ' | Entidades predefinidas |
| <![CDATA[ … ]]> | Texto que no se analiza |
| xmlns:p="URI" | Espacio de nombres con prefijo |
DTD
<!DOCTYPE biblioteca [ <!ELEMENT biblioteca (libro+)> <!ELEMENT libro (titulo, autor*, precio?)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT precio (#PCDATA)> <!ATTLIST libro isbn ID #REQUIRED tipo (papel|ebook) "papel">]>? 0 o 1 · * 0 o más · + 1 o más · , secuencia · | elección. #REQUIRED, #IMPLIED, #FIXED.
Tema: Validación de XML: DTD y XML SchemaXML Schema
<xs:element name="libro"> <xs:complexType> <xs:sequence> <xs:element name="titulo" type="xs:string"/> <xs:element name="autor" type="xs:string" maxOccurs="unbounded"/> <xs:element name="precio" type="tipoPrecio" minOccurs="0"/> </xs:sequence> <xs:attribute name="isbn" type="xs:string" use="required"/> </xs:complexType></xs:element><xs:simpleType name="tipoPrecio"> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0"/> <xs:fractionDigits value="2"/> </xs:restriction></xs:simpleType>Otras facetas: pattern, enumeration, maxLength. Compositores: sequence, choice, all.
Tema: Validación de XML: DTD y XML SchemaXPath
| /biblioteca/libro | Ruta absoluta |
|---|---|
| //autor | Todos los autor en cualquier nivel |
| libro/@isbn | Atributo |
| libro[precio > 20] | Predicado |
| libro[1] · libro[last()] | Primero · último (empieza en 1) |
| //libro[autor = 'Ana']/titulo | Título de los libros de Ana |
| count(//libro) · sum(//precio) | Funciones |
| contains(titulo, 'XML') | Contiene texto |
| text() · .. · . | Texto · padre · nodo actual |
XSLT
<xsl:template match="/"> <ul> <xsl:for-each select="biblioteca/libro"> <xsl:sort select="precio" data-type="number" order="descending"/> <xsl:if test="precio > 10"> <li><xsl:value-of select="titulo"/> (<xsl:value-of select="@isbn"/>)</li> </xsl:if> </xsl:for-each> </ul></xsl:template>También: xsl:choose/when/otherwise, xsl:apply-templates, xsl:attribute, atributo con {@isbn}.
Tema: XPath y XSLTXQuery (FLWOR)
for $l in doc("biblioteca.xml")//librolet $p := xs:decimal($l/precio)where $p > 10order by $p descendingreturn <libro titulo="{$l/titulo}">{$p}</libro>Tema: Almacenamiento de XML y XQuery HTML semántico
| header · nav · main · footer | Estructura de la página |
|---|---|
| article · section · aside | Contenido independiente · bloque temático · complementario |
| h1 … h6 | Un h1 por página y sin saltar niveles |
| <a href> · <img alt> | Enlace · imagen con texto alternativo |
| <label for="id"> + <input id> | Etiqueta asociada al campo |
| <button type="button"> | Acciones que no envían formulario |
| <table> con <caption> y <th scope> | Tablas de datos accesibles |
CSS esencial
| #id · .clase · elemento | Especificidad 1-0-0 · 0-1-0 · 0-0-1 |
|---|---|
| a:hover · li:nth-child(2n) | Pseudoclases |
| div > p · div p · h2 + p | Hijo directo · descendiente · hermano siguiente |
| box-sizing: border-box | El ancho incluye padding y borde |
| display: flex; gap: 1rem | Fila flexible |
| display: grid; grid-template-columns: repeat(3, 1fr) | Rejilla de 3 columnas |
| @media (max-width: 600px) { … } | Estilos para pantallas estrechas |
RSS 2.0
<rss version="2.0"> <channel> <title>Blog</title><link>https://ej.com</link><description>…</description> <item> <title>Entrada</title><link>https://ej.com/1</link> <pubDate>Mon, 06 Oct 2025 10:00:00 GMT</pubDate> <guid>https://ej.com/1</guid> </item> </channel></rss>Tema: Sindicación de contenidos: RSS y Atom apuntesdam.com/subject/lenguajes-marcas/chuleta
Chuletas de otras asignaturas
Entornos de DesarrolloProgramaciónBases de DatosSistemas InformáticosAcceso a DatosDesarrollo de InterfacesProgramación Multimedia y Dispositivos MóvilesProgramación de Servicios y ProcesosSistemas de Gestión EmpresarialDesarrollo Web en Entorno ClienteDesarrollo Web en Entorno ServidorDespliegue de Aplicaciones WebDiseño de Interfaces Web