Características de Lenguajes de Marcas
Características de Lenguajes de Marcas
Caso práctico
María y Félix son los fundadores y propietarios de una asesoría legal y
empresarial, que tiene su sede en Cantabria, con oficinas en los municipios
más importantes de la región.
Aviso Legal
1.- Lenguajes de Marcas.
Introducción
Un "lenguaje de marcas" es un modo de codificar un documento donde, junto con el texto,
se incorporan etiquetas, marcas o anotaciones con información adicional relativa a la
estructura del texto o su formato de presentación. Permiten hacer explícita la estructura de un
documento, su contenido semántico o cualquier otra información lingüística o extralingüística
que se quiera hacer patente.
Todo lenguaje de marcas está definido en un documento denominado DTD (Document Type
Definition). En él se establecen las marcas, los elementos utilizados por dicho lenguaje y sus
correspondientes etiquetas y atributos, su sintaxis y normas de uso.
Ejemplo
Aspecto de un documento realizado en un lenguaje de marcas:
1 <carta>
2 <fecha>22/11/2006</fecha>
3 <presentacion>Estimado cliente:</presentacion>
4 <contenido>bla bla bla bla …</contenido>
5 <firma>Don José Gutiérrez González</firma>
6 </carta>
Documentación electrónica:
RTF (Rich Text Format): Formato de Texto Enriquecido, fue desarrollado por Microsoft
en 1987. Permite el intercambio de documentos de texto entre distintos procesadores
de texto.
TeX: Su objetivo es la creación de ecuaciones matemáticas complejas.
Wikitexto: Permite la creación de páginas wiki en servidores preparados para soportar
este lenguaje.
DocBook: Permite generar documentos separando la estructura lógica del documento
de su formato. De este modo, dichos documentos, pueden publicarse en diferentes
formatos sin necesidad de realizar modificaciones en el documento original.
Tecnologías de Internet:
Autoevaluación
Los lenguajes de marcas se utilizan para:
Dar formato a los documentos de texto.
¡Correcta!
Solución
1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta
2.- Evolución de los lenguajes de marcas.
Introducción
En los años 70 surgieron unos lenguajes informáticos, distintos de los lenguajes de
programación, orientados a la gestión de información. Con el desarrollo de los editores y
procesadores de texto aparecieron los primeros lenguajes informáticos especializados en
tareas de descripción y estructuración de información: los lenguajes de marcas.
Paralelamente, también, emergieron otros lenguajes informáticos, orientados a la
representación, almacenamiento y consulta eficiente de grandes cantidades de datos:
lenguajes y sistemas de bases de datos.
Los lenguajes de marcas surgieron, inicialmente, como lenguajes formados por el conjunto de
códigos de formato que los procesadores de texto introducen en los documentos para dirigir
el proceso de presentación (impresión) mediante una impresora. Como en el caso de los
lenguajes de programación, inicialmente estos códigos de formato estaban ligados a las
características de una máquina, programa o procesador de textos concreto y, en ellos,
inicialmente no había nada que permitiese al programador ("formateador" de documentos en
este caso) abstraerse de las características del procesador de textos y expresar de forma
independiente a éste la estructura y la lógica interna del documento.
Ejemplo
Código de marcas anterior a GML. Las etiquetas son de invención propia.
Mostrar retroalimentación
Al imprimirlo se obtendría:
Este texto es un ejemplo para mostrar la utilización primitiva de las
marcas
Para realiza este ejemplo se utilizan etiquetas de nuestra invención. Las partes importantes del
texto pueden resaltarse usando la negrita , o el subrayado
Para resolver este problema, en los años sesenta IBM encargó a Charles F. Goldfab la
construcción de un sistema de edición, almacenamiento y búsqueda de documentos legales.
Tras analizar el funcionamiento de la empresa llegaron a la conclusión de que para realizar
un buen procesado informático de los documentos había que establecer un formato estándar
para todos los documentos que se manejaban en la empresa. Con ello se lograba gestionar
cualquier documento en cualquier departamento y con cualquier aplicación, sin tener en
cuenta dónde ni con qué se generó el documento. Dicho formato tenía que ser válido para los
distintos tipos de documentos legales que utilizaba la empresa, por tanto, debía ser flexible
para que se pudiera ajustar a las distintas situaciones.
El formato de documentos que se creó como resultado de este trabajo fue GML, cuyo
objetivo era describir los documentos de tal modo que el resultado fuese independiente de la
plataforma y la aplicación utilizada.
2.2.- SGML (Standard Generalized Markup
Language).
El formato GML evolucionó hasta que en 1986 dio lugar al estándar ISO 8879 que se
denominó SGML. Éste era un lenguaje muy complejo y requería de unas herramientas de
software caras. Por ello su uso ha quedado relegado a grandes aplicaciones industriales.
Ejemplo
Documento SGML sencillo:
1 <email>
2 <remitente>
3 <persona>
4 <nombre> Pepito </nombre>
5 <apellido> Grillo </apellido>
6 </persona>
7 </remitente>
8 <destinatario>
9 <direccion> pinocho@[Link] </direccion>
10 </destinatario>
11 <asunto>¿quedamos?</asunto>
12 <mensaje> Hola, he visto que ponen esta noche la película que querías v
13 </email>
2.3.- HTML (HyperText Markup Language).
En 1989/90 Tim Berners-Lee creó el World Wide Web y se encontró con la necesidad de
organizar, enlazar y compatibilizar gran cantidad de información procedente de diversos
sistemas. Para resolverlo creó un lenguaje de descripción de documentos llamado HTML,
que, en realidad, era una combinación de dos estándares ya existentes:
HTML es una versión simplificada de SGML, ya que sólo se utilizaban las instrucciones
absolutamente imprescindibles. Era tan fácil de comprender que rápidamente tuvo gran
aceptación, logrando lo que no pudo SGML.
Ejemplo
Ejemplo: Documento HTML
<html>
<head>
<title> Ejemplo de código HTML</title>
</head>
<body>
<p></p>
<p>
<b>23 de julio de 2020</b>
</p>
<p><b> Bienvenido al modulo de “Lenguajes de Marcas y Sistemas de G
<p> En este curso aprenderás, entre otras cosas:<br/>
<ul>
<li>Las ventajas que ofrece XML </li>
<li>La creación de documentos bien formados </li>
<li>La creación de DTD</li>
16
17 </ul>
</p>
18
19 </body>
</html>
Rubén Carrasco Peña - A partir de materiales del Ministerio de Educación (CC BY-NC-
SA)
2.4.- XML (eXtensible Markup Language).
Para resolver estos problemas de HTML el W3C establece, en 1998, el estándar
internacional XML, un lenguaje de marcas puramente estructural que no incluye ninguna
información relativa al diseño. Está convirtiéndose con rapidez en estándar para el
intercambio de datos en la Web. A diferencia de HTML las etiquetas indican el significado de
los datos en lugar del formato con el que se van a visualizar los datos.
XSL, eXtensible Style Language. Permite definir hojas de estilo para los documentos
XML e incluye capacidad para la transformación de documentos.
XML Linking Language, incluye Xpath, Xlink y Xpointer. Determinan aspectos sobre
los enlaces entre documentos XML.
XML Namespaces. Proveen un contexto al que se aplican las marcas de un documento
de XML y que sirve para diferenciarlas de otras con idéntico nombre válidas en otros
contextos.
XML Schemas. Permiten definir restricciones que se aplicarán a un documento XML.
Actualmente los más usados son las DTD.
Ejemplo
Documento XML
XML HTML
1 <html>
2 <head>
3 <title>Libro</title>
4 </head>
5 <body>
6 <h3>XML practico</h3><br>
7 <p>autores: Sebastien Lecomte,
8 Thierry Boulanger</p>
9 <ul>
10 <li>editorial: Ediciones Eni</li>
11 <li>isbn:978-2-7460-4958-1</li>
12 <li>edicion: 1 </li>
13 <li>paginas: 347</li>
14 </ul>
15 </body>
16 </html>
XML SGML
Autoevaluación
¿Cuáles son las características comunes de XML y SGML?
Guardan el formato de un documento.
Guardan la estructura lógica de los documentos.
Guardan los documentos en el formato universal txt.
Guardan el formato de los documentos independientemente de la
plataforma.
¡Correcto!
1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto
[Link]
2.7.- Etiquetas.
Los lenguajes de marcas utilizan una serie de etiquetas especiales intercaladas en un
documento de texto sin formato. Dichas etiquetas serán posteriormente interpretadas por los
intérpretes del lenguaje y ayudan al procesado del documento.
Las etiquetas se escriben encerradas entre ángulos, es decir < y >. Normalmente, se
utilizan dos etiquetas: una de inicio y otra de fin para indicar que ha terminado el efecto
que queríamos presentar. La única diferencia entre ambas es que la de cierre lleva una barra
inclinada "/" antes del código.
Las últimas especificaciones emitidas por el W3C indican la necesidad de que vayan
escritas siempre en minúsculas para considerar que el documento está correctamente
creado.
Autoevaluación
¿Cuál de las siguientes líneas es correcta?
<i>Texto en cursiva
<i>Texto en cursiva<i>
<i>Texto en cursiva</i>
<I>Texto en cursiva<I>
Respuesta errónea. Te recomiendo volver a leer el apartado.
¡Correcta!
Solución
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
2.8.- Herramientas de edición.
Caso práctico
Félix tiene la curiosidad de saber si para codificar lenguajes de marcas hay que
utilizar algún software característico o basta con usar un editor de texto plano,
como en el caso de XML.
Juan le cuenta que puede bastar el bloc de notas, pero que existen varios
editores que facilitan la tarea.
Para trabajar en XML es necesario editar los documentos y luego procesarlos, por tanto
tenemos dos tipos de herramientas:
Editores XML
Para crear documentos XML complejos e ir añadiendo datos es conveniente usar algún
editor XML. Estos nos ayudan a crear estructuras y etiquetas de los elementos usados
en los documentos, además algunos incluyen ayuda para la creación de otros elementos
como DTD, hojas de estilo CSS o XSL, ... El W3C ha desarrollado un editor
de HTML, XHTML, CSS y XML gratuito cuyo nombre es Amaya.
Procesadores XML
Los procesadores XML permiten leer los documentos XML y acceder a su contenido y
estructura. Un procesador es un conjunto de módulos de software, entre los que se
encuentra un parser o analizador de XML, que comprueba que el documento cumple las
normas establecidas para que pueda abrirse.
Los procesadores XML pueden obliguen a trabajar sólo con documentos de tipo válido
(entonces se denominan "validadores") o pueden sólo exigir que el documento esté bien
formado ("no validadores").
El modo en que los procesadores deben leer los datos XML está descrito en la
recomendación de XML establecida por W3C.
Para publicar un documento XML en Internet se utilizan los procesadores XSLT, que
permiten generar archivos HTML a partir de documentos XML.
XML también se puede utilizar para el intercambio de datos entre aplicaciones. En este
caso, hay que recurrir a motores independientes, que se ejecutan sin que nos demos
cuenta. Por ejemplo JAXP de Oracle.
Autoevaluación
Para crear documentos XML es necesario:
Software especializado para la tecnología XML.
¡Correcta!
Solución
1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto
Introducción
El XML, o Lenguaje de Etiquetas Extendido, es lenguaje de etiquetas, creadas por el
programador, que estructuran y guardan de forma ordenada la información. No representa
datos por sí mismo, solamente organiza la estructura.
Al igual que en HTML un documento XML es un documento de texto, en este caso con
extensión ".xml", compuesto de parejas de etiquetas, estructuradas en árbol, que describen
una función en la organización del documento, que puede editarse con cualquier editor de
texto y que es interpretado por los navegadores Web.
Dado que XML se concibió para trabajar en la Web, es directamente compatible con
protocolos que ya funcionan, como HTTP y los URL.
Todo documento que verifique las reglas de XML está conforme con SGML.
No se requieren conocimientos de programación para realizar tareas sencillas en XML.
Los documentos XML son fáciles de crear.
La difusión de los documentos XML está asegurada ya que cualquier procesador
de XML puede leer un documento de XML.
El marcado de XML es legible para los humanos.
El diseño XML es formal y conciso.
XML es extensible, adaptable y aplicable a una gran variedad de situaciones.
XML es orientado a objetos.
Todo documento XML se compone exclusivamente de datos de marcado y datos
carácter entremezclados.
El proceso de creación de un documento XML pasa por varias etapas en las que el éxito de
cada una de ellas se basa en la calidad de la anterior. Estas etapas son:
Especificación de requisitos.
Diseño de etiquetas.
Marcado de los documentos.
El marcado en XML son etiquetas que se añaden a un texto para estructurar el contenido del
documento. Esta información extra permite a los ordenadores "interpretar" los textos. El
marcado es todo lo que se sitúa entre los caracteres "<" y ">" o "&" y ";"
Los datos carácter son los que forman la verdadera información del documento XML.
El marcado puede ser tan rico como se quiera. Puede ser interesante detectar necesidades
futuras y crear documentos con una estructura fácilmente actualizables.
Los documentos XML pueden tener comentarios, que no son interpretados por el
interprete XML. Estos se incluyen entre las cadenas "<!-" y "-->", pueden estar en cualquier
posición en el documento salvo:
Antes del prólogo.
Dentro de una etiqueta.
Los documentos XML pueden estar formados por una parte opcional llamada prólogo y otra
parte obligatoria llamada ejemplar.
3.1.- El prólogo.
Si se incluye, el prólogo debe preceder al ejemplar del documento. Su inclusión facilita el
procesado de la información del ejemplar. El prólogo está dividido en dos partes:
En este caso indica que el documento fue creado para la versión 1.0 de XML.
ISO-8859-5 Cirílico
Estándar ISO Código de país
ISO-8859-6 Árabe
ISO-8859-7 Griego
ISO-8859-8 Hebreo
ISO-8859-9 Turco
Los elementos son los distintos bloques de información que permiten definir la estructura de
un documento XML. Están delimitados por una etiqueta de apertura y una etiqueta de cierre.
A su vez, los elementos pueden estar formados por otros elementos y/o por atributos.
Ejemplo
Dado el siguiente código XML...
Los nombres de las etiquetas han de ser autodescriptivos, lo que facilita el trabajo que se
hace con ellas.
Los nombres de las etiquetas de inicio y de cierre de un mismo elemento han de ser
idénticos, respetando las mayúsculas y minúsculas. Pueden ser cualquier cadena
alfanumérica que no contenga espacios y no comience ni por el carácter dos puntos, ":",
ni por la cadena "xml" ni ninguna de sus versiones en que se cambien mayúsculas y
minúsculas ("XML", "XmL", "xML",...).
El contenido de los elementos no puede contener la cadena "]]>" por compatibilidad con
SGML. Además no se pueden utilizar directamente los caracteres mayor que, >, menor
que, <, ampersand, &, dobles comillas, ", y apostrofe, ‘. En el caso de tener que utilizar
estos caracteres se sustituyen por las siguientes cadenas:
Carácter Cadena
> >
< <
& &
" "
' '
Para utilizar caracteres especiales, como £, ©, ®,... hay que usar las expresiones
&#D; o &#H; donde D y H se corresponden respectivamente con el número
decimal o hexadecimal correspondiente al carácter que se quiere representar en
el código UNICODE. Por ejemplo, para incluir el carácter de Euro, €, se usarían
las cadenas € o €
Debes conocer
En el siguiente enlace encontrarás una tabla con los caracteres ASCII, el
nombre HTML, y el número HTML de cada uno de ellos que te será
imprescindible a la hora de realizar documentos en HTML y XML.
[Link]
3.2.1.- Atributos.
Permiten añadir propiedades a los elementos de un documento. Los atributos no pueden
organizarse en ninguna jerarquía, no pueden contener ningún otro elemento o atributo y no
reflejan ninguna estructura lógica.
Ejemplo
Dado el siguiente código XML
Mostrar retroalimentación
Los nombres de los elementos aparecen en color morado, los atributos
en negro y sus valores en azul.
Como se observa en el ejemplo, los atributos se definen y dan valor dentro de una etiqueta
de inicio o de elemento vacio, a continuación del nombre del elemento o de la definición de
otro atributo, siempre separado de ellos por un espacio. Los valores del atributo van
precedidos de un igual que sigue al nombre del mismo y tienen que definirse entre comillas
simples o dobles.
Los nombres de los atributos han de cumplir las mismas reglas que los de los elementos, y
no pueden contener el carácter menor que, <.
3.2.2.- Ejercicio Detectar errores.
Autoevaluación
Mostrar retroalimentación
Solución
1. Incorrecto
2. Incorrecto
3. Correcto
4. Correcto
5. Incorrecto
6. Incorrecto
4.- Documentos bien formados.
Introducción
Todos los documentos XML deben verificar las reglas sintácticas que define la
recomendación del W3C para el estándar XML. Esas normas básicas son:
Autoevaluación
1 <?xml version="1.0"?>
2 <mensaje>
3 <destinatario>Tomas</ destinatario>
4 <remitente>Juan</ remitente>
5 <asunto>
6 <contenido> No olvides ir a recogerme al aeropuerto mañana por la mañan
7 </mensaje>
Verdadero Falso
Falso
No, la etiqueta <asunto> sigue abierta y el prólogo no tiene una
declaración XML completa.
5.- Utilización de espacios de nombres.
Permiten definir la pertenencia de los elementos y los atributos de un documento XML al
contexto de un vocabulario XML. De este modo se resuelven las ambigüedades que se
pueden producir al juntar dos documentos distintos, de dos autores diferentes, que han
utilizado el mismo nombre de etiqueta para representar cosas distintas.
Los espacios de nombres, también conocidos como "name spaces", permiten dar un nombre
único a cada elemento, indexándolos según el nombre del vocabulario adecuado. Además
están asociados a un URI que los identifica de forma única.
En el documento, las etiquetas ambiguas se sustituyen por otras en las que el nombre del
elemento está precedido de un prefijo, que determina el contexto al que pertenece la
etiqueta, seguido de dos puntos, ":". Esto es:
<prefijo:nombre_etiqueta></prefijo:nombre_etiqueta>
Esta etiqueta se denomina "nombre cualificado". Al definir el prefijo hay que tener en cuenta
que no se pueden utilizar espacios ni caracteres especiales y que no puede comenzar por un
dígito.
<conexion>://<direccionservidor>/<apartado1>/<apartado2>/...
Autoevaluación
Los espacios de nombres permiten...
Utilizar etiquetas idénticas para estructurar distintos tipos de información
de texto.
Estructurar la información de un documento XML cuando proviene de
varios documentos.
Asignar varias etiquetas a una misma información.
Definir etiquetas en otros documentos.
¡Correcta!
Solución
1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto
Ejercicio Resuelto
Supongamos dos documentos que organizan la información sobre los
profesores y los alumnos del Ciclo Formativo.
XML de alumnos:
XML de profesores
Si uniéramos los dos documentos en uno único, sin usar espacios de nombres,
no se distinguirían los profesores de los alumnos ya que en los dos casos la
etiqueta <nombre> se llama igual.
Mostrar retroalimentación
Tutorial XML
Validador en línea de documentos bien formados
Documentación Web de Mozilla Developer Network
Alternarivas a XML