Está en la página 1de 29

10/2/2014

Lenguaje de marcas y sistemas de gestin

LE NGU AJE DE MAR CAS Y S I S TE MAS DE GE S TI N

1. Introduccin a los lenguajes de marcas. Clasificacin


Una definicin poco estricta de lo que es un ordenador podra ser que "es una
mquina electrnica que recibe y procesa datos para convertirlos en informacin
til".

Uno de los componentes bsicos en un sistema informtico son


los datos que se puedan introducir y como lo hace este sistema
para almacenarlas para usarlas posteriormente o mostrar de
nuevo.

Por tanto, una de las tareas bsicas que hacen los ordenadores es almacenar la
informacin que les proporcionamos para poder ser procesada posteriormente.
Esta informacin puede ser de muchos tipos diferentes (texto, imgenes, vdeos,
msica ...) pero lo realmente importante ser cmo la almacena el ordenador
para poder tratarla posteriormente de manera eficiente para generar ms
informacin.

1.1. Los datos


Los datos son representaciones de aspectos del mundo real y se suelen recoger
para hacer clculos, mostrarlas, organizarlas, etc., Con el objetivo de que
posteriormente alguien pueda hacer algo: tomar decisiones, generar nuevos datos
...
Si no se es muy estricto se podra decir que en un sistema informtico cualquiera
las nicas tareas que se desarrollan consisten en almacenar datos para procesarlos
mediante un programa que o bien aportar algn tipo de informacin o bien se
utilizarn de nuevo para generar nuevos datos.

1.1.1. Caractersticas de los datos


Entre las caractersticas interesantes sobre los datos destacan sobre todo tres
aspectos:
A quin van dirigidas
La posibilidad de reutilizacin
Que se puedan compartir
Destinatario de datos

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

1/29

10/2/2014

Destinatario de datos

Lenguaje de marcas y sistemas de gestin

Si se intenta ser un poco ms prctico se ver que realmente los datos tendrn una
forma u otra en funcin del destinatario al que vayan dirigidas:
1. Datos destinadas a los humanos : generalmente los datos destinados al
humanos requerirn que tengan alguna estructura concreta, con unos
formatos determinados, con textos decorados de alguna manera. Aparecern
ttulos, caracteres en negrita, etc. Generalmente no es necesario conocer qu
significado tienen los datos, ya que la interpretacin se deja al lector.
2. Datos destinadas a los programas : los programas generalmente no
necesitan que los datos tengan informacin sobre cmo se han de representar,
sino que basta con que sean fcilmente identificables, que quede claro de qu
tipo son y que haya alguna manera de determinar qu significan para poder
tratar automticamente.
Reutilizacin de los datos
Muy a menudo los datos se querrn reutilizar para poder realizar tareas
diferentes. Un error corriente suele ser almacenarlas especficamente para realizar
una tarea concreta, ya que esto puede provocar que posteriormente sea mucho
ms complicado usarlas para hacer otras tareas.
Por tanto, es bsico disponer de un sistema de almacenamiento que permita
lograr que los datos puedan ser reutilizadas fcilmente y si puede ser que puedan
ser reutilizadas tanto para las personas como para los programas.
Comparticin de los datos
En el pasado, con los ordenadores centrales la informacin se generaba y se
procesaba en el mismo lugar. Pero la aparicin de los ordenadores personales, la
eclosin de las redes y, sobre todo, el xito de Internet, ha creado toda una serie de
problemticas que hasta el momento no existan: los datos generados en un lugar
ahora pueden ser consumidas en un lugar totalmente diferente, como por
ejemplo:
en sistemas operativos totalmente diferentes.
en mquinas que pueden funcionar de maneras muy diversas.
Por tanto, en un sistema informtico moderno ha de tener en cuenta esta
posibilidad a la hora de almacenar datos. Existe la posibilidad de que estos datos
sean compartidas y, por tanto, deben almacenarse de alguna manera que no
tenga problemas para usarlas en sistemas diferentes.

1.2. Almacenamiento de datos en ordenadores


Dada su arquitectura, los ordenadores almacenan la informacin en binario y, por
tanto, toda la informacin que se puede almacenar siempre se representar en
unos y ceros (1, 0). Esto hace que para representar cualquier tipo de datos
(imgenes, vdeos, texto ...) haya que hacer algn tipo de proceso que convierta
los datos a una representacin en formato binario.
Tradicionalmente en los ordenadores los datos se organizan de dos formas:
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

2/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Datos de texto
Datos binarios

1.2.1. Datos binarios


Almacenar los datos de forma binaria es la forma natural de almacenar datos en
ordenadores. Estrictamente hablando, los datos binarios estn en el formato que
usa el ordenador, ya que slo son una tira de bits uno tras otro. Por tanto,
normalmente, un ordenador no tendr hacer ningn proceso especial para
almacenar y leer datos binarios.
Los datos en formato binario tienen una serie de caractersticas que las hacen
ideales para los ordenadores:
Generalmente estn optimizadas para ocupar el espacio necesario.
Los ordenadores las leen fcilmente.
Pueden tener estructura.
Es relativamente fcil aadir metadatos.
Si un programa quiere usar los datos binarios normalmente slo necesitar
conocer el tamao en bits y, sobre todo, conocer de qu manera se ha
almacenado la informacin.
Para almacenar el nmero 150 slo hay que convertir este valor decimal a su
representacin en binario y almacenarlo. Es trivial comprobar que puede ser
almacenado en un solo byte (8 bits) como se puede ver en la tabla 1 .1 .
T abla 1.1. Representacin del nmero 1 50 en
binario
valor decimal

valor binario

1 50

1 001 01 1 0

Una ventaja aadida de la representacin de nmeros en binario es que ya estn


disponibles inmediatamente para hacer clculos numricos, ya que realmente se
trata de nmeros. No ser necesario hacer ninguna transformacin para poder
usar este nmero en cualquier clculo.
Metadatos
Muy a menudo no se almacenan directamente los datos tal como estn, sino que
se procesan para optimizarlas, como almacenando informacin sobre su
contenido o aplicando procedimientos de optimizacin. Estas optimizaciones son
transparentes para el usuario final, que visualizar los datos normalmente.
Una de las maneras ms sencillas de representar una imagen en un ordenador
consiste en representar cada uno de los puntos de color que la forman. O sea, que
slo hay que decir de qu color ser cada uno de los puntos para poder almacenar
la imagen en un archivo ( figura 1 .1 ).
Figura 1.1. Representacin de un

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

3/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Figura 1.1. Representacin de un


grfico en un ordenador

Podemos usar un mtodo sencillo para representar la imagen anterior, como


podra ser definir si cada uno de los puntos es de color blanco (0) o negro (1). La
imagen podr ser representada de esta manera:
001100
010010
010010
011.110
010010
010010

En realidad un ordenador no almacenar la informacin de esta manera sino de


forma lineal, ignorando los saltos de lnea. Una representacin ms cercana a
como lo hara realmente un ordenador sera esta:
001100010010010010011110010010010010

Representar la informacin de esta manera hace que las imgenes ocupen mucho
espacio y por este motivo normalmente se utilizan mtodos para optimizar su
almacenamiento.
Una de las maneras de optimizar el espacio ocupado por la imagen podra ser
darse cuenta de que hay varias repeticiones de los colores. De modo que se podra
intentar aprovechar esta caracterstica para conseguir un archivo binario ms
pequeo.
Se podra hacer que en vez de especificar los puntos uno por uno si hay una
repeticin se pudiera especificar el nmero de veces que se repite el color. De esta
manera un punto blanco aislado se representar normalmente, pero si se
encuentran cuatro puntos blancos, en vez de almacenar 0000se puede
representar con 40(4 blancos)
El resultado de aplicar este procedimiento a la misma imagen nos dar:
202130120120120120412012012012010

Este procedimiento tiene la ventaja aadida de que con el nuevo sistema los datos
ocupan un 10% menos de espacio (33 caracteres) que antes (36 caracteres).
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html
A pesar de que con el nuevo sistema no se almacenan todos los

puntos un

4/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

A pesar de que con el nuevo sistema no se almacenan todos los puntos un


programa puede conseguir fcilmente representarlos en pantalla siguiendo las
especificaciones.
Se puede ver que en la representacin binaria hay toda una serie de valores que
estrictamente no son datos de la imagen (los nmeros 2, 3 y 4) sino que son datos
que hacen referencia a la manera en que se han almacenado los datos. Estos datos
se denominan " meta-da-tos ".

Los metadatos son datos sobre los datos.

El uso de metadatos optimiza el almacenamiento de informacin pero a la vez


hace que la comparticin de la informacin contenida en el fichero sea mucho
ms compleja. Pero eso s, es necesario que el programa que desee recuperar la
informacin conozca el procedimiento que se ha utilizado o no obtendr los datos
correctos.
Datos estructurados
Los datos en la forma en que las generamos los humanos no estn en un formato
que facilite su tratamiento automtico por parte de un ordenador. Por este motivo
a menudo los datos que deben ser procesados
por los ordenadores se convierten en
algn formato que sea ms idneo para el tratamiento. Lo ms corriente es tratar
los datos para que tengan algn tipo de estructura.

Los tipos de datos estructurados son agrupaciones de otros tipos


de datos (normalmente tipos ms sencillos).

La manera ms corriente de estructurar datos binarios suele ser tenerlas


agrupadas en registros que contienen la informacin repetitiva de un dato en
concreto. Es habitual que los lenguajes de programacin tengan alguna manera
de definir datos estructurados. Por ejemplo, para estas tareas el lenguaje C utiliza
los struct.
struct alumno {
char nombre [ 10 ] ;
char apellido [ 10 ] ;
int nota ;
}

Si se puede acceder a cada uno de los registros del archivo se puede acceder de
nuevo a los datos de un alumno, se puede identificar rpidamente la parte de los
datos que es el nombre, apellido o nota, y adems sabemos si los datos deben ser
interpretadas como nmeros o como texto.
En el ejemplo de la figura 1 .2 puede ver que se puede identificar a qu dato
corresponde cada uno de los caracteres. Los diez primeros son el nombre, los 10
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

5/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

corresponde cada uno de los caracteres. Los diez primeros son el nombre, los 10
siguientes son el apellido y los cuatro siguientes son el nmero entero (32 bits).
Figura 1.2. Representacin de datos en una estructura utilizando
caracteres

Generalmente estos datos estructurados se almacenan en forma de listas o


conjuntos de registros, de manera que el desarrollador del programa podr
acceder a los datos de todos los alumnossimplemente recorriendo los diferentes
registros uno por uno.
Los datos estructurados facilitarn que las aplicaciones puedan tratar de manera
automtica.
Problemas
Los datos binarios tambin tienen problemas asociados a la hora de ser
compartidas, ya que en el mundo moderno los datos se deben compartir en
mquinas en las que no han sido generadas, que pueden tener sistemas operativos
diferentes, pueden ser mquinas totalmente diferentes, etc. Los datos binarios
optimizadas para el sistema en el que se generan no siempre sern bien entendidas
por los dems sistemas.
Estructura de los datos
Uno de los problemas de dar estructura a los datos es que esta estructura slo lo
entendern los programas que tengan informacin sobre la estructura. Al definir
cules son los datos que usar el programa se define qu tamao tendr cada
campo y de qu manera se guardarn los datos dentro del archivo binario.
Si tomamos el ejemplo que hemos visto en la figura 1 .1 , para que un programa
pueda representar la imagen de forma correcta debe tener suficiente informacin
para hacerlo:
Primero hay que conozca que el que se ha representado es una imagen.
Tambin debe saber que se guarda cada punto de color con un solo carcter.
Es bsico que conozca la equivalencia de colores que hemos hecho: 0 es
blanco, 1 es negro.
Y necesita saber que la imagen es de 6 caracteres de largo por 6 caracteres de
anchura o el resultado ser muy diferente de lo que era inicialmente ( figura 1
.3 )
Si se ha representado la imagen utilizando el sistema optimizado debe conocer
que los valores numricos superiores a 1 indican que este valor no es un color,
sino que son el nmero de repeticiones del color siguiente.
Figura 1.3. Intentos de representar el grfico sin conocer las
dimensiones

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

6/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Todas estas cosas son las que hay que conocer para poder usar los datos de un
ejemplo sencillo, por lo que podis imaginar qu pasara con un ejemplo ms
complejo.
Forma de lectura del procesador
De la misma manera que en los lenguajes humanos hay idiomas que se escriben
de izquierda a derecha y de otros de derecha a izquierda, todos los procesadores no
almacenan la informacin de la misma manera (tcnicamente se hace referencia
a la orden de lectura en las direcciones de memoria).
Hay dos grandes sistemas para almacenar la informacin en ordenadores:
Big endian : los datos se escriben en el orden en que se crean. As, para
escribir holaen el ordenador almacenara h, o, l, a. Este sistema es el que
utilizan los procesadores de Motorola.
Little endian : los datos se guardan de menos relevante ms relevante: a, l
, o, h. Este sistema es el que utilizan los procesadores de Intel.
Lo ms habitual es que los ordenadores slo usen uno de los dos sistemas, aunque
algunas pueden funcionar con ambos indistintamente (ARM, PowerPC, PA-RISC
...).
Esto no es importante cuando los datos se pasan entre ordenadores que funcionan
con el mismo tipo, pero es un aspecto vital que hay que tener en cuenta si los
ordenadores que se pasan la informacin son de tipos diferentes, ya que los datos
binarios pasadas de un sistema a otro pueden ser totalmente malinterpretadas por
culpa que se almacenan internamente de manera diferente.
Lectura para humanos
Un problema distinto es que los datos en formato binario estn pensadas para ser
ledas por mquinas ( figura 1 .4 ) pero no por humanos, por lo que son ideales
para ser almacenadas en mquinas, van bien para la comunicacin de
informacin entre mquinas, pero en cambio para un humano las pueda utilizar
deber tener un programa especfico para leerlas.
Figura 1.4. El formato binario no est pensado para ser ledo por
humanos

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

7/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Format os binarios est ndares


Se han definido algunos estndares de ficheros
binarios, lo que perm ite que cualquiera pueda
hacer program as que puedan interpretar estos
archiv os.
Esto es lo que ocurre por ejem plo, con los
archiv os de im genes JPG , PNG , GIF ..., que
pueden ser ledos por diferentes program as
para su especificacin es pblica.
JPG - Estndar ISO / IEC 1 09 1 8
GIF - Especificacin del W3 C GIF89 a
PNG - Estndar ISO / IEC 1 59 4 8

Y adems, no sirve cualquier programa, sino que es necesario que el programa


entienda la estructura de los datos que contiene el fichero. Por ejemplo, los datos
generados por Microsoft Word no pueden ser abiertas con el programa de dibujo
Gimp porque no est preparado para entenderlas.
Si quien ha desarrollado el programa no ha hecho pblica de qu manera se
guardan los datos binarios que se generan ser muy difcil compartir datos con
otros usuarios si no disponen del mismo programa.

1.2.2. Datos de texto


Para solucionar el problema que haya que recurrir a programas especficos para
recuperar los datos que hay en un archivo una posibilidad es hacer lo ms obvio,
hacer lo mismo que han hecho los humanos durante siglos. Los humanos en
escribir ya estn usando una codificacin y, por tanto, si se utiliza la misma
codificacin tendremos los datos en un formato fcil de usar y entender que no
tendr problemas para ser ledo por los programas.
En binarios el com ponente de inform acin m s
pequeo era el bit, en ficheros de texto el
com ponente m s pequeo es el carcter.

Los ficheros de texto almacenan la informacin letra por letra de una manera
similar a como lo hara un humano en escribir. Esto hace que se est generando
una informacin que se podr leer de la misma manera que se lee un documento
de papel.
Para un ordenador no hay mucha diferencia a la hora de almacenar los archivos
de texto o archivos binarios, ya que los archivos de texto tambin son tiras de bits.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

8/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

La diferencia es que esta vez los bits estn agrupados de una manera estndar y
conocida: un cdigo de caracteres .
Cdigos de caracteres
Representar los datos en un ordenador en forma de texto implica que para poder
representar una palabra cualquiera en el ordenador previamente deber ser
codificada para que pueda ser representada en binario (recordemos que los
ordenadores slo pueden representar datos en binario). Esta codificacin suele
consistir en determinar una cantidad de bits predefinida para marcar un carcter
y posteriormente se asocia un valor numrico a cada uno de los caracteres.
Obsrv ese que para un ordenador el espacio en
blanco es un carcter m s.

La equivalencia entre los caracteres y sus valores numricos no se puede hacer de


manera aleatoria, ya que se estara creando el mismo problema que hay con los
datos binarios. Si se quiere conseguir que los datos se puedan leer en diferentes
sistemas hay que seguir algn tipo de norma conocida por todos. Por este motivo
aparecieron los estndares de codificacin de caracteres .

Problema de la codificacin de caracteres


Por ejem plo, si tuv iram os un idiom a que slo tuv iera 5 caracteres (las
v ocales AEI OU ) se podran codificar todos los caracteres de este idiom a
usando slo 3 bits. Por tanto, una posible codificacin de las letras del
idiom a podra ser la de la m esa 1 .2 .
T a bl a 1.2. Posible codifica cin de let r a s
Ca r ct er

Va l or deci ma l

Va l or bi n a ri o

000

001

010

011

100

Espaci o

101

Esto nos perm itira codificar la frase "AI AI AI" de esta m anera:
000010101000010101000010

Pero ante el m ism o problem a otra persona podra elegir una com binacin
diferente, com o la de la tabla 1 .3 .
T a bl a 1.3. A lt er n a t iv a difer en t e de codifica cin
Ca r ct er

Va l or deci ma l

Va l or bi n a ri o

Espaci o

000

001

E
2
010
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

9/29

10/2/2014

Lenguaje de marcas y sistemas de gestin


010

011

100

101

Esto prov ocara que en com unicar la frase "AI AI AI" generada con el prim er
sistem a, en el segundo se descodifica:
000 -> Espacio
010 -> E
101 -> U

Y interpretara que el m ensaje es "EU EU EU".

El procedimiento de tener una tabla con los valores numricos asociados y


simplemente hacer la conversin es el procedimiento ms habitual pero tambin
se dan casos en que la codificacin tenga que cumplir algn tipo de reglas o
restricciones a la hora de hacer la conversin.
ASCII
Uno de los primeros estndares que fue adoptado mayoritariamente fue ASCII (
American Standard code for information interchange ), que se puede ver en la
tabla 1 .4 . ASCII codifica cada uno de los caracteres con siete bits y define qu
valor numrico se corresponde cada uno los caracteres de la lengua inglesa.
T abla 1.4. Caracteres imprimibles del ASCII

Carct er Valor
Carct er Valor
Carct er Valor
Carct er Valor
Carct er Valor
decimal
decimal
decimal
decimal
decima
32

51

70

89

1 08

33

52

71

90

1 09

"

34

53

72

91

110

35

54

73

92

111

36

55

74

93

112

37

56

75

94

113

&

38

57

76

95

114

'

39

58

77

96

115

40

59

78

97

116

41

<

60

79

98

117

42

61

80

99

118

43

>

62

81

1 00

119

44

63

82

1 01

1 20

45

64

83

1 02

1 21

46

65

84

1 03

1 22

47

66

85

1 04

1 23

48

67

86

1 05

1 24

49

68

87

1 06

1 25

50

69

88

1 07

1 26

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

10/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

La codificacin que se hace en ASCII es relativamente sencilla: simplemente se


compara cada uno de los caracteres del texto para codificar en la tabla y se obtiene
el valor numrico en binario. Por ejemplo, para codificar la palabra Hola en un
ordenador que est funcionando con el cdigo ASCII deberemos convertir cada
uno de los caracteres en su equivalente numrico ( tabla 1 .5 ).
T abla 1.5. Conv ersin de caracteres en binario
utilizando ASCII
Carct er

decimal

binario

72

1 001 000

111

1 1 01 1 1 1

1 08

1 1 01 1 00

97

1 1 00001

El primer problema que se encontr para el ASCII era que slo estaba pensado
para el ingls y, por tanto, no se dispona de caracteres de uso corriente en otras
lenguas: , , , , etc. Por lo tanto, para poder expandirse a otras zonas se cre un
ASCII expandido , que increment el nmero de de bits a 8, y gracias a este bit
extra se podan especificar los caracteres especficos de cada idioma que el ingls
no tena. De esta manera se permita crear textos en otros idiomas que usaran el
alfabeto latino.
Esto hizo que aparecieran muchas variedades de ASCII , especializadas en un
grupo de idiomas ( ISO 8859-1, ISO 8859-2, etc.).
Pero como cada idioma utilizaba los valores nuevos para aadir sus caracteres
propios la informacin representada utilizando uno de estos " ASCII "no siempre
se vea bien en otro de los" ASCII ".
Adems, ASCII y ASCII expandido slo estaban pensados
para idiomas que
usaran el alfabeto latino y, por tanto, los idiomas no basados
en el alfabeto latino
tenan que recurrir a otras codificaciones.
Unicode
Unicode es un intento de sustituir los cdigos de caracteres existentes por uno
genrico que sirva para todas las lenguas, y por tanto supere todos los problemas
de incompatibilidad que se producan en entornos multilinges y permita aadir
los caracteres no latinos.
La idea bsica de Unicode es dar a cada uno de los smbolos un identificador nico
universal de manera que se puedan utilizar en el mismo documento idiomas
diferentes sin que ello conlleve problemas de representacin.
La adopcin de Unicode resuelve de una vez todos los problemas de
representacin de caracteres en ficheros de texto.
A pesar de sus v entajas, Unicode tam bin
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

11/29

10/2/2014

Lenguaje de marcas y sistemas de gestin


A pesar de
sus v entajas, Unicode tam bin
recibi crticas de la com unidad anglfona,
porque haca que los textos acabaran ocupando
m s del doble que en ASCII .

Unicode define tres formas de codificacin bsicas UTF ( Unicode transformation


formato ), que puede verse en la tabla 1 .6 .
T abla 1.6. Formas de codificacin de Unicode
Nombre
UTF-8

Sistem a basado en un by te con algunos sm bolos de longitud v ariable

UTF-16

Sistem a de longitud v ariable basada en dos by tes

UTF-32

Sistem a de longitud fija que utiliza 3 2 bits para cada carcter

Unicode ha sido adoptado de manera general para la mayora de sistemas


operativos modernos. Actualmente casi todos los sistemas operativos utilizan
alguna variedad de Unicode (Linux suele utilizar UTF-8 y Windows adapta UTF16).
Comparticin de informacin
Gracias al uso de estndares de cdigos de caracteres la informacin en forma de
texto es ms fcilmente compartida que la informacin binaria, ya que los cdigos
de caracteres que utilizan los sistemas para representar el texto son conocidos y
pueden ser implementados libremente.
Por tanto, almacenar los datos en formato de texto aporta dos grandes ventajas:
Las pueden usar una gran cantidad de programas que ya existen (editores de
texto, navegadores, etc.).
Pueden ledas por humanos.
Con uno de los programas ms simples que hay, un editor de texto, se puede crear
un documento que se podr compartir con cualquier persona que entienda el
idioma en que ha sido escrito. Y como todos los sistemas operativos traen de serie
programas capaces de cargar archivos, si se enva el archivo a alguien ste no
tendr ningn problema para interpretar los datos cuando las reciba.
Problemas
Generar informacin en archivos de texto tambin tiene algunos problemas:
Ocupan ms espacio en disco que los binarios.
Hay mltiples cdigos de caracteres diferentes.
La forma en que los tratan los diferentes sistemas operativos.
Falta de estructuracin de los datos.
Pero a pesar de los problemas, stos son mucho menos importantes que los que
tenemos para compartir ficheros binarios. Por lo tanto los archivos de texto
son la forma ms sencilla de asegurarnos de que podemos compartir la
informacin que hay con otras personas .
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

12/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

informacin que hay con otras personas .


Espacio en el disco
Uno de los problemas que tienen los archivos de texto es que la informacin ocupa
mucho ms espacio del que ocupara si se almacenara en formato binario. Como
podemos ver en la tabla ( tabla 1 ), si queremos almacenar el nmero 150 en un
ordenador el resultado ser diferente en funcin del formato elegido.
T abla 1.7 . Diferencia entre almacenar en formato
de tex to y binario
Format o

Represent acin int erna

Form ato binario 1 001 01 1 0


Form ato textual 001 1 0001 001 1 01 01 001 1 0000

Para almacenar el nmero en formato binario simplemente se convierte en


binario y se podr almacenar en un byte (8 bits) mientras que si se quiere
almacenar en formato de texto usando ISO -8869-1 debern guardar por
separado cada uno de tres caracteres ( 1, 5y 0). Con el segundo sistema se
necesitarn 3 bytes (24 bits): el triple de espacio!
Pero adems, si la informacin guardada en formato binario necesario para hacer
algn clculo, ya se puede utilizar inmediatamente, ya que almacena realmente el
nmero, mientras que si tenemos el nmero en formato de texto tendremos que
convertir a su equivalente numrico antes de poder hacer cualquier operacin
matemtica.
Mltiples cdigos de caracteres
Aunque Unicode intenta que este problema desaparezca, algunos sistemas
operativos todava usan mltiples cdigos de caracteres y los usuarios tienen
informacin antigua guardada en cdigos de caracteres antiguos. Por tanto, la
comparticin de datos an provoca problemas que pueden ser desde la simple
representacin incorrecta de algn carcter hasta corromper el texto o hacer que
la lectura de la informacin sea imposible.
Figura 1.5. Problema de codificacin incorrecta de caracteres

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

13/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Si el objetivo es hacer que los datos se puedan reutilizar tanto para programas
como para personas, los caracteres errneos se deben evitar. Como se ve en la
figura 1 los problemas en algunos casos pueden ser poco importantes si se quiere
que una persona entienda lo que pone, pero pueden ser un problema muy grande
para un programa, ya que su capacidad de interpretacin es muy inferior .
La adopcin de Unicode en la mayora de sistemas operativos est haciendo que
este problema se est reduciendo y el hecho de que la cantidad de codificaciones de
caracteres sea muy inferior a la cantidad de cdigos binarios hace que los datos
en formato de texto se consideren fcilmente compartibles .
Si alguien hubiera almacenado informacin durante los aos setenta, y an se
tuviera la capacidad de leer el soporte en el que se guardaron, difcilmente se
podra recuperar algo de los datos binarios que se encontraran, ya que los
programas que las generar ya no existen o no funcionan con los sistemas
operativos modernos, y en cambio es posible que los datos almacenados en
formato de texto s se pudieran recuperar.
Representacin de caracteres no textuales
Otro problema que suele haber en la lectura de datos de texto cuando se hace en
diferentes sistemas operativos suele estar relacionada con cmo se hace el
tratamiento de los caracteres no textuales.
El ejemplo ms conocido es el diferente tratamiento que hacen los saltos de lnea
los sistemas Windows y las diferentes variedades de Unix y Linux. Para
representar los saltos de lnea en el texto los sistemas operativos usan alguno de
los caracteres no imprimibles del cdigo de caracteres, y por tanto, de esta manera
tienen una forma "transparente al usuario" de poder representar el texto tal como
ha escrito.
El problema es que dos de los sistemas operativos ms populares, Windows y
Unix, lo hacen de manera diferente. Mientras que Unix usa un solo carcter para
indicar el salto de lnea, LF ( line feed ), Windows en usa dos: CR ( carriage
Return ) y LF ( line feed ). El resultado es que al abrir un archivo generado en un
sistema Unix en un sistema en Windows los saltos de lnea han desaparecido y en
su lugar aparece un rectngulo que representa el carcter LF ( figura 1 ).
Figura 1.6. Diferencia del tratamiento en los saltos de lnea entre
Windows y Linux

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

14/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Actualmente muy programas ya detectan este problema y lo compensan


automticamente de forma transparente al usuario.
Lectura de datos automatizada
Los programas de ordenador todava no son muy buenos interpretando los datos
si son en texto narrativo y, por lo tanto, generalmente conviene que los datos que
debern ser tratadas por programas de ordenador estn definidas con algn tipo
de estructura para que los sean ms fciles de tratar.
Se han inventado sistemas para hacer que los datos de los ficheros de texto puedan
ser estructuradas. Uno de los formatos que se ha utilizado durante mucho tiempo
para exportar datos estructurados contenidos en bases de datos u hojas de clculo
en texto ha sido el CSV ( comma separated values
).
El CSV simplemente se limita a separar cada uno de los registros de la estructura
en lneas y los campos se separan con comas. Adems, para poder definir los tipos
de datos, rodea de comillas los datos de texto, mientras que no se ponen comillas
en las numricas.
"Manuel", "Puig", "Garca", 8
"Pedro", "Gonzlez", "Puigdevall", 5
"Mara", "Pozos", "Canadell", 7

CSV es una manera sencilla de guardar datos estructurados en


formato de texto que permite a un programa identificar los
diferentes datos que contiene cada registro y adems interpretar
de qu tipo son.

Adems, una ventaja aadida de CSV es que es relativamente fcil aadir ms


datos a un fichero que est en formato CSV, ya que slo hay un editor de texto y
respetar las reglas de separar los datos con comas y un salto de lnea para cada
registro.
Por lo tanto un programa puede deducir fcilmente a partir del ejemplo anterior
que los datos son como se ve en la tabla 1 .
T abla 1.8. Interpretacin del significado del
archiv o CSV
Dat o

Result ado

Manel

Dato de texto porque est entre com illas

Puig

Dato de texto porque est entre com illas

Garcia

Dato de texto porque est entre com illas

Dato num rica

Pero los sistemas de estructurar datos en ficheros de texto tambin tienen


problemas. Si necesitamos aadir ms datos en cada registro es casi seguro que
obligar a hacer cambios en el programa que los tratar. El programa necesita
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

15/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

obligar a hacer cambios en el programa que los tratar. El programa necesita


saber qu datos hay en cada una de las columnas para poder trabajar y, por tanto,
si modificamos las columnas puede malinterpretar los datos.

Problema de aadir datos en un CSV


Por ejem plo, si aadim os un dato nuev o con tratam iento de la persona
delante del archiv o anterior:
"Sr.", "Manuel", "Puig", "Garca", 8
"Sr.", "Pedro", "Gonzlez", "Puigdevall", 5
"Sra.", "Mara", "Pozos", "Canadell", 7

Si se utiliza el m ism o program a que antes, ste puede pensar que los
nom bres de las personas son "Sr." y "D" y que las notas son "Garcia",
"Puigdev all", etc.
Pero aadir datos no es el nico problem a que tenem os, y a que representar
los datos de esta m anera arruina la lectura de la gente que no utilice los
program as especficos. Quin puede saber que el nm ero es una nota y no
otra cosa?
A cualquiera de v osotros se os puede acudir una m anera sencilla de ev itar
este problem a, que consiste en que la prim era colum na indique qu es cada
uno de los datos que se representan a continuacin.
"Nombre", "apellido", "cognom2", "nota"
"Manuel", "Puig", "Garca", 8
"Pedro", "Gonzlez", "Puigdevall", 5
"Mara", "Pozos", "Canadell", 7

Desarrollar un programa que interprete estos datos y que se asegure que no se


producen errores es bastante complejo.

1.3. Ficheros de marcas


Se puede decir que los archivos de marcas son una manera diferente de almacenar
informacin en ordenadores que se aade a los modos de almacenar la
informacin por medio de archivos binarios o archivos de texto. El objetivo
principal de los ficheros de marcas es intentar recoger las mejores
caractersticas de los ficheros de texto y binarios y esquivar sus problemas.

Los ficheros de marcas toman como base los archivos de texto


para aprovecharse de las caractersticas ms interesantes de este
tipo de ficheros:
La facilidad de creacin y lectura.
El cumplimiento de estndares de almacenamiento definidos
y pblicos.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

16/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Como los archivos de texto siempre estn almacenados en algn cdigo de


caracteres conocido ( ASCII , UTF-8, etc.) se consigue que puedan ser
transportados y ledos en cualquier plataforma, sistema operativo o programa que
pueda interpretar estos cdigos de caracteres. Por tanto, los lenguajes de marcas
aprovecharn de esta caracterstica, al estar basados
en el formato de texto.
Adems, de rebote, tambin tendrn la ventaja de que podrn ser abiertos y
creados con los programas de edicin de texto estndar. Desde editores tan simples
como el Bloc de notas de los sistemas Windows o Gedit de sistemas Unix hasta
editores ms complejos como el Microsoft Word, pasando por editores
especializados en XML como el Oxygen XML Editor.
Los ficheros de marcas, por lo tanto, se aprovechan de uno de los grandes ventajas
de los archivos de texto sobre los archivos binarios, ya que estos ltimos requieren
ser abiertos con un programa especfico que pueda interpretar el formato.

Pero los archivos de marcas no slo intentan aprovechar de las


caractersticas de los ficheros de texto sino que tambin intentan
conseguir las caractersticas ms interesantes de los
ficheros binarios , como:
La incorporacin de metadatos.
La definicin de la estructura de los datos.

Esto hace que los lenguajes de marcas adquieran una de las caractersticas ms
interesantes de los binarios, que es la posibilidad de incorporar informacin sobre
los datos-metadatos-pero intentando que afecte lo menos posible a la legibilidad
del documento.
Tambin permiten definir los datos y su estructura de manera que sea sencillo
para un programa poderlas interpretar.
Gracias a las ventajas que ofrecen los lenguajes de marcas, estos se han
convertido rpidamente en una de las maneras habituales de representar datos y
se pueden encontrar continuamente en las tareas habituales con ordenadores:
El exponente ms popular es Internet-el Web-, que est basado totalmente en
los lenguajes de marcas.
Muchos de los programas de ordenador que utilice habitualmente utilizan en
algn momento alguna u otra forma de algn lenguaje de marcas para
almacenar sus datos de configuracin o de resultados:
Internamente los formatos de documentos de Microsoft Office o de
OpenOffice. Org o LibreOffice estn basados
en lenguajes de marcas.
Microsoft Visual Studio guarda su configuracin utilizando lenguajes de
marcas.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

17/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

etc.

1.3.3. Las marcas


Las marcas son una serie de cdigos que se incorporan a los documentos
electrnicos para determinar el formato, la manera como se han de imprimir, la
estructura de los datos, etc. Por tanto, son anotaciones que se incorporan a
los datos pero que no forman parte .
Las marcas, por lo tanto, deben ser fcilmente distinguibles del texto normal (por
su posicin, porque siguen algn tipo de sintaxis, etc.). Las marcas ms usadas
son las que estn formadas por textos descriptivos y estn rodeadas de los
smbolos de "ms pequeo" (<) y "mayor" (>) y normalmente suele haber una al
principio y al final:
<Nombre > Manuel Puig Garcia </ nombre >

Estas marcas pueden ser imbricadas para indicar estructuras de datos :


<Persona >
<Nombre > Manuel Puig Garcia </ nombre >
<Nombre > Pedro Gonzlez Puigdevall </ nombre >
<Nombre > Maria Pozos Canadell </ nombre >
</ Persona >

Pero hay muchas otras formas de marcas. Otra idea consiste en encontrar alguna
combinacin de caracteres que salga raramente en el lenguaje habitual. El TeX
utiliza las barras invertidas para indicar el inicio de las marcas
\ Section {Personas}
\ Begin {itemize}
\ Item Manel Puig Garcia
\ Item Pedro Gonzlez Puigdevall
\ Item Maria Pozos Canadell
\ End {itemize}

Otros lenguajes de marcas usan caracteres no habituales en determinadas


posiciones para indicar que son marcas. Por ejemplo con Wiki Markup los
caracteres "=" en la primera posicin de una lnea se utilizan para indicar que el
texto es un ttulo de apartado y el *para las listas de puntos:
= Personas =
* Manuel Puig Garcia
* Pedro Gonzlez Puigdevall
* Mara Pozos Canadell

La idea general es que es necesario que las marcas sean fcilmente identificables
para podernos aprovechar las ventajas que ofrecen los lenguajes de marcas.

1.3.4. Caractersticas de los lenguajes de marcas


http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

18/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Los lenguajes de marcas son una manera de codificar un


documento de texto de manera que por medio de las marcas (el
equivalente de los metadatos de los archivos binarios) se
incorpora informacin relativa a cmo se debe representar el
texto, sobre qu estructura tienen los datos que contiene, etc.

Los lenguajes de marcas han destacado por una serie de caractersticas que los
han convertido en los tipos de lenguajes ms usados
en la informtica actual para
almacenar y representar los datos. Entre las caractersticas ms interesantes que
ofrecen los lenguajes de marcas se encuentran:
Que se basan en el texto plano.
Que permiten utilizar metadatos.
Que son fciles de interpretar y procesar.
Que son fciles de crear y suficientemente flexibles para representar datos
muy diversas.
Las aplicaciones de Internet y muchos de los programas de ordenador que se
utilizan habitualmente utilizan de alguna manera u otra algn lenguaje de
marcas.
Basados
en texto plano
Los lenguajes de marcas se basan en texto plano sin formato. Estos caracteres
pueden estar codificados en diferentes cdigos de caracteres: ASCII , ISO -8859-1,
UTF-8, etc.
Una de las ventajas que intentan aportar los lenguajes de marcas es que se pueden
interpretar directamente y esto slo es posible si usamos el formato de texto, ya
que los binarios requieren un programa para interpretarlos. Pero adems tienen la
ventaja de que son independientes de la plataforma, del sistema operativo o del
programa.
El hecho de que estn basados
en formato de texto hace que sean fciles de crear y
de modificar porque slo requieren un simple editor de textos.
Uso de metadatos
Las marcas se intercalan entre el contenido del documento, por lo que
generalmente estas etiquetas suelen ser descriptivas de qu es lo que indica el
contenido de los datos que contienen.
Estas marcas son la manera como se aaden los metadatos a los documentos de
texto y cmo se consiguen superar las limitaciones del formato de texto y
conseguir algunas de las ventajas de los ficheros binarios.
Facilidad de proceso
Los lenguajes de marcas permiten que el procesamiento de los datos que
contengan pueda ser automatizado de alguna manera, ya que el archivo contiene
la estructura de los datos que contiene.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

19/29

10/2/2014

Lenguaje de marcas y sistemas de gestin


la estructura de los datos que contiene.

El hecho de incluir la estructura permitir que un programa pueda interpretar


cada uno de los datos de un fichero de marcas para representarlo o tratarlo
convenientemente, ya que muestran la estructura de los datos que contienen.
Posteriormente un programa podr interpretar gracias a las marcas que es lo que
significa cada uno de los datos del documento.
Facilidad de creacin y representacin de datos diversos
A pesar de que fueron pensados
para contener datos de texto, los lenguajes de
marcas han demostrado que son capaces de contener datos de muchos tipos
diferentes.
Actualmente se estn utilizando archivos de marcas para representar imgenes
vectoriales, frmulas matemticas, crear pginas web, ejecutar funciones remotas
por medio de servicios web, representar msica o sonidos, etc.
Y sin importar qu tipo de datos se representen siempre habr la posibilidad de
crear estos archivos desde un editor de texto bsico.

1.3.5. Clasificacin de los lenguajes de marcas


Es complicado hacer una clasificacin de los lenguajes de marcas que hay pero
generalmente se acepta que tenemos dos grandes grupos basndonos en cul es el
objetivo bsico del lenguaje de marcas:
Lenguajes procedimentales y de presentacin , orientados a especificar
cmo se debe representar la informacin.
Lenguajes descriptivos o semnticos : orientados a describir la estructura
de los datos que contiene.
Esta es la clasificacin ms aceptada pero, como muy a menudo ocurre en el
mbito de la Informtica, nos podemos encontrar lenguajes que tengan aspectos
de los dos grupos y permitan tanto definir la manera de presentar la informacin
como definir su estructura.
Procedimentales y de presentacin
En estos lenguajes lo que se hace es indicar de qu manera se ha de hacer la
presentacin de los datos. Y a sea por medio de informacin para el diseo
(marcar negritas, ttulos, etc.) O de procedimientos que debe hacer el software de
representacin. El ejemplo ms popular de estos lenguajes es el HTML pero hay
muchos ms: TeX, wikitexto ...
En estos casos los documentos pueden servir para determinar de qu manera se
mostrar el documento a quien lo lea.
Si tomamos un ejemplo sencillo utilizando el lenguaje de marcas ligero Wiki
markup , que utiliza Mediawiki (programa con el que se ha desarrollado la
Wikipedia):
= Clase =
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

20/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

== Asignatura: XML ==
[[Archivo: xml.png]]
'' 'Profesor''':
*'' Manuel Puig''
'' Alumnos'' '
* Frederic Puig
* Filomeno Garca
* Manuel Puigdevall

Que nos mostrar lo que se ve en la figura 1 :


Figura 1.7 . Representacin del tex to en formato wikicode

Se puede ver cmo el programa ha interpretado las marcas "=" o "==" para
mostrar los diferentes niveles de los ttulos, que los smbolos "*" indican listas de
puntos y que con diferente cantidad de cometas indican negritas o cursiva. Por
tanto, es un ejemplo que indica claramente cmo debe ser representada la
informacin .
Descriptivos o semnticos
En estos lenguajes se describe qu estructura lgica tiene el documento ignorando
de qu manera ser representada en los programas. Slo se ponen las marcas con
el objetivo de definir las partes que dan estructura al documento. El ejemplo ms
importante es el XML pero hay algn otro que est teniendo mucho apoyo, como
por ejemplo JSON.
En el documento siguiente tenemos un ejemplo de un archivo de marcas que da
informacin sobre personas:
<Alumnos >
<Persona >
<Nombre > Pedro </ nombre >
<Apellido > Puig </ apellido >
</ Persona >
<Persona >
<Nombre > Manuel </ nombre >
<Apellido > Garcia </ apellido >

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

21/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

<Apellido > Garcia </ apellido >


</ Persona >
</ Alumnos >

Se puede ver claramente que la informacin de las marcas en el documento


establece cul es el contenido de los datos: una lista de alumnos. Con un simple
vistazo resulta fcil determinar que Pedroy Manuelson nombres y que Puigy
Garcason apellidos. Pero por medio de la jerarqua de los datos se puede inferir
que Pere Puigy Manuel Garcason alumnosya que tanto nombrecomo
apellidoestn englobados dentro de la marca alumnos.
Este documento muestra cul es la estructura de los datos que contiene y
adems esta tambin se puede descubrir interpretando las etiquetas su contenido
semntico. A partir de los conocimientos que se tengan se deduce que Pedroes el
nombre de una persona que es un alumno.
Sistema de etiquetado
Tanto si el sistema es descriptivo como de presentacin las marcas no han sido
colocadas de cualquier manera sino que se ha ido siguiendo un sistema
determinado. A menudo las marcas rodean el contenido que queremos que tenga
un significado o que sea representado de una manera determinada. No se pueden
colocar las marcas de cualquier manera, ya que una de las cosas que hay que
evitar son posibles malinterpretaciones.
Para ello, adems de definir las marcas que se pondrn, los lenguajes de marcas
definen unas reglas de uso que especifican cmo deben ser las marcas, en qu
condiciones se permite hacerlas servir ya veces incluso qu significan .

1.3.6. Historia
Se considera que el origen de los lenguajes de marcas est en las modificaciones
que los impresores hacan con lpiz en manuscritos. Cuando alguien quera
imprimir un libro que haba escrito, los impresores, con un lpiz generalmente de
color azul, escriban en el texto qu caractersticas deba tener cada parte del texto,
si se tena que hacer en negrita, si era el ttulo del libro , etc. Se cree que estos son
los antecedentes de las marcas.
SGML
Al principio de los aos ochenta a IBM necesitaban alguna manera de almacenar
y compartir una gran cantidad de informacin entre diferentes plataformas y que
permitiera integrar los datos en sistemas de datos, editores, etc., Y desarrollaron
GML, que posteriormente acab con el nombre SGML en el momento en que fue
estandarizado en 1986 por la organizacin de estndares internacional ISO
(International Organization for Standardisation). La especificacin se encuentra
bajo el nombre ISO -8879.
A pesar de que no se considera el primer lenguaje de marcas, fue el primer
lenguaje reconocido como estndar ISO .
SGML ( standard generalized markup language ) es un lenguaje basado en los
datos de texto que se puede usar para poner metadatos a los datos. Es un sistema

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

22/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

datos de texto que se puede usar para poner metadatos a los datos. Es un sistema
para organizar y etiquetar elementos de un documento haciendo hincapi en los
aspectos de la estructura de un documento y dejando que sea el intrprete el que
se encarga de hacer la representacin visual de estos datos. Lo hace definiendo
unas reglas estrictas que especifican de qu manera se pueden hacer las etiquetas.
SGML se dise para ser una manera estndar de etiquetar datos genricos de
modo que no importara si los datos para etiquetar provenan del mundo de las
matemticas o bien eran los resultados financieros de una empresa. Todos los
datos se podan etiquetar con sentido utilizando SGML .
El hecho de que SGML fuera tan com plejo no lo
haca ideal para intercam biar datos por m edio
de Internet. Si slo un grupo de personas poda
generar inform acin el crecim iento del
entorno Web habra sido m uy inferior.

SGML se usaba sobre todo en documentos que deban tener muchos cambios y
que posteriormente haban de representar en formatos diferentes.
Por tanto, con SGML tenemos las siguientes ventajas:
Tenemos una manera de reutilizar los datos.
Permite un mayor control sobre los datos y garantiza la integridad.
Es portable.
Es flexible.
Nos garantiza la perdurabilidad de la informacin.
Pero no todo son ventajas en el SGML :
La mayora de los documentos que se creaban slo estaban destinados a la
impresin.
Es terriblemente complejo, de modo que no se utiliza en ordenadores
personales.
HTML
En 1989, Tim Berners-Lee y Anders Berglund, dos investigadores del CERN
(acrnimo de Conseil Europen pour la Recherche nuclaire, Organizacin
Europea para la Investigacin Nuclear), crearon un lenguaje basado en etiquetas
basado en SGML destinado a compartir informacin por Internet : HTML (
HyperText Markup Language ). HTML se basa en la manera de definir e
interpretar etiquetas de SGML pero no es totalmente compatible con SGML
(algunas de las reglas que se han definido incumplen las reglas SGML ).
HTML se concentra a definir un formato para describir la visualizacin de la
informacin en una pgina web y es muy sencillo. Su sencillez ha sido uno de los
factores que ha llevado a la rpida popularidad de la World Wide Web, y de
Internet. Es uno de los motivos por los que cada da se generan millones de
pginas web nuevas.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

23/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

El gran xito de las tecnologas basadas en HTML ha hecho que no paren de


evolucionar y, por tanto, que HTML debiera evolucionar muy rpidamente para
adaptarse cada vez a ms cambios ya las nuevas necesidades de los usuarios. Esto,
sumado al propsito de no incrementar la dificultad del lenguaje, ha provocado
que no siempre se hayan hecho las cosas de la misma manera y que, por tanto, la
creacin de intrpretes de HTML (en especial los navegadores) cada vez sea ms
compleja.
A todo esto hay que sumar que, pese a no estar pensado para representar la
informacin, HTML no define demasiado estrictamente algunas de las reglas de
cmo se debe visualizar la informacin, y por tanto a menudo los navegadores
han hacer interpretaciones que no siempre coinciden con las que hacen los otros
navegadores. Es conocido por todos los diseadores de pginas web que las
pginas no siempre se ven igual en todos los navegadores ( figura 1 ).
Figura 1.8. V isualizacin de pginas en nav egadores

A v eces las diferencias son mnimas pero en otros casos las


diferencias pueden ser muy importantes.

Por otra parte, HTML funciona bien a la hora de presentar informacin a los
humanos pero tiene unos cuantos problemas que lo hacen poco eficiente para las
nuevas aplicaciones actuales: es muy difcil reutilizar la informacin que contiene
para generar resultados en formatos distintos a los que ha definido el diseador y
es muy complejo para los programas automticos interpretar de qu tipo son los
datos contenidos en un documento HTML .
Por tanto, haba alguna manera de poder realizar bsquedas inteligentes en los
documentos HTML y seleccionar los resultados segn criterios personalizables.

Haba una manera de buscar, mover, visualizar y manipular la


informacin contenida en los documentos HTML .

Y por este motivo apareci el XML .


XML
El consorcio W3C desarroll una alternativa al HTML que pudiera satisfacer las
necesidades futuras de la web. En 1996 el consorcio W3C se propuso introducir el
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

24/29

10/2/2014

Lenguaje de marcas y sistemas de gestin


necesidades futuras de la web. En
1996 el consorcio W3C se propuso introducir el
poder y la flexibilidad de SGML en la web.

SGML ofreca tres ventajas que el HTML no tena:


Extensibilidad
Estructura
Validacin
La v ersin m s usada es la 1 .0, y a que la
v ersin 1 .1 no aporta m uchas nov edades
interesantes para la m ay ora de usos
(bsicam ente sobre las v ersiones de Unicode
posteriores a XML 1 .0)

En febrero de 1998 se lanza la especificacin 1.0 de XML ( www. w3. org / TR /


2004 / REC-xml-20040204 ) y posteriormente en 2004 sali la versin 1.1 (
www. w3. org / TR / xml11 ). Estas especificaciones se han ido revisando
peridicamente.
El XML es un lenguaje simple de descripcin de informacin:
Es un estndar que permite disear y desarrollar lenguajes de marcas.
Es un formato de texto estandarizado que sirve para representar y transportar
informacin estructurada.
Nmero de etiquetas
En el HTML le ha ido bien con un nmero finito de etiquetas y, por tanto, a la
hora de disear el XML se hicieron varios intentos de crear un nmero finito de
etiquetas. Pero todos los intentos de crear un conjunto finito de etiquetas fallaron
porque restringir las etiquetas restaba flexibilidad al lenguaje.
Se vio que cada conjunto de usuarios necesita un subconjunto de etiquetas
diferente y que a menudo eran divergentes (los matemticos en usaban uno, los
qumicos en necesitaban otro, etc.), O sea, que la solucin final adoptada fue la
ms lgica: si restringir las etiquetas resta flexibilidad lo ms fcil es no restringir
la foto.

El XML define un nmero infinito de etiquetas.

Por tanto, el XML permitir que cada persona pueda definir las etiquetas que le
hagan falta para poder representar los datos ms adecuadamente.
Estructura de los datos
Otra idea que se tuvo en cuenta a la hora de desarrollar el XML era que los datos
que contuviera pudieran reutilizar para generar otros resultados y, por tanto,
haba que pudiera ser interpretado fcilmente por medio de programas de
ordenador. Por tanto, los datos contenidos en documentos deban tener una
estructura.
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

25/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

estructura.
Por tanto, el XML se dise con la idea de dar estructura a los datos y no
preocuparse de cmo se presentarn los datos a los usuarios . Para ello ya
se desarrollaran otras alternativas: CSS , XML -FO, etc.

Una de las ideas ms importantes de XML es separar los datos


de la presentacin .

Esto hace que a la hora de crear un documento XML se debe pensar como deben
estructurarse los datos y nunca especificar nada de cmo debern representar.
Transporte de los datos
El hecho de que el XML se concentre en la estructura de los datos y que, por tanto,
sea relativamente fcil determinar qu datos contiene, lo hace un sistema ideal
para el transporte de datos entre diferentes plataformas.
Por lo tanto, si tenemos un documento XML como este:
<Alumnos >
<Persona >
<Nombre > Manuel </ nombre >
<Apellido > Garcia </ apellido >
</ Persona >
<Persona >
<Nombre > Pedro </ nombre >
<Apellido > Gonzlez </ nombre >
</ Persona >
</ Alumnos >

Podemos ver que observando este documento es relativamente sencillo responder


a las preguntas:
Qu informacin contiene el archivo?
Cul es la estructura de la informacin?
Qu etiquetas se han creado para describir la informacin?
Creacin de lenguajes
Es evidente que la libertad que da tener un nmero infinito de etiquetas no es
necesaria en la mayora de los mbitos de actuacin. Por este motivo,
normalmente cuando alguien quiera almacenar informacin definir un nmero
finito de etiquetas y en qu orden deben aparecer.
Para poder solucionar estos problemas en XML se pueden definir archivos que
definan cul ser la estructura del documento, y que, por tanto, se pueda
comprobar si el documento sigue la estructura correcta o no. Esto a la vez permite
que si definimos el vocabulario de manera pblica cualquier pueda enviar
documentos y detectar si estn bien formados o no.
De hecho, ya hay toda una serie de documentos basados
en XML que se han
convertido en estndares pblicos en diferentes mbitos, algunos de los cuales se

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

26/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

convertido en estndares pblicos en diferentes mbitos, algunos de los cuales se


pueden ver en la tabla 1 .
T abla 1.9. Algunos lenguajes estndar basados
e n XML
Nombre

Uso

SVG

Pensado para grficos v ectoriales en 2 D con anim aciones o sin

MathML

Lenguaje para representar frm ulas m atem ticas

CML

Lenguaje para el intercam bio de inform acin qum ica

SMIL

Tratam iento de inform acin m ultim edia

SSML

Sntesis de v oz

ChessGML Para representar partidas de ajedrez


XFRML

Para inform es financieros

SML

Usado en la industria del acero

Pero no acaba aqu, ya que la lista es inmensa: SMBXML, CIML, NAML, TML,
SCORM, LMML, OpenMath, PetroXML, ProductionML, GeophysicsML, X3D,
MML , SMDL, BGML, etc.
Extensible
Otra de las ventajas de XML es que es fcilmente extensible y adaptable a las
necesidades que tengamos. El XML permite que se mezclen diferentes
vocabularios en el mismo documento.
Esto hace que podamos definir un documento XML con un vocabulario creado
por nosotros que defina una lista de alumnos y que a la vez podamos aadir una
imagen con el logotipo de la escuela en formato SVG (un estndar XML de
grficos vectoriales) y al mismo tiempo definir en ellos la presentacin en XHTML
.
Por lo tanto, tenemos la suficiente flexibilidad para representar los datos que se
requieran en cada momento
Uso de XML
Actualmente los usos de XML son muy diversos:
Mostrar el contenido de pginas web. Uno de los lenguajes XML es el XHTML
, que intenta modificar el HTML para hacerlo ms sencillo de interpretar.
Comunicar sistemas distribuidos que incluso ejecuten sistemas operativos
diferentes o estn en plataformas totalmente diferentes.
En comercio electrnico, en un sistema conocido como Bussines2Bussines
que permite a las empresas compartir datos de forma automtica.
Reducir la carga de servidores distribuyndola entre servidores.
Muchos programas que usaban formatos binarios para almacenar sus datos han
pasado a algn tipo de XML :
Microsoft Office: pas de guardar los documentos en binario. DOC en XML .
DOCX (OOXML) en estandarizar-lo.
OpenOffice. Org: guarda sus documentos en un formato XML .
http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

27/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

Podemos ver que muchos programas usan XML para guardar su configuracin o
sus datos con una simple bsqueda en el sistema operativo.
Con una simple bsqueda podemos ver cuntos archivos XML tenemos en
nuestro sistema operativo. Por ejemplo, en Linux podemos ejecutar el siguiente
para ver el nmero de ficheros XML que tenemos:
$ Locate. Xml | wc-l

En Windows podemos hacer lo mismo con:


c: \> dir / ad / s *. xml | find / c / v ""

Problemas
A pesar de las mltiples ventajas que ofrece el XML , tambin se le han hecho
crticas, como el hecho de que los ficheros XML tienen la tendencia a ser muy
grandes. Casi siempre ocupan una cantidad mucho mayor de espacio en disco que
sus equivalentes en formato binario.
El hecho de utilizar ficheros muy grandes puede tener un impacto importante en
el rendimiento de los programas, ya que antes de poder trabajar deben cargar el
archivo o descargarlo de la red.
Hay gente que considera que el problema del tamao de los archivos a veces es
compensado por:
La facilidad de interoperatividad entre programas.
El precio del almacenamiento es cada vez ms bajo y por ahora parece que la
tendencia es que todava baje ms.
Pero no todos estn de acuerdo, y por este motivo han aparecido una serie de
alternativas al XML que se conocen como lenguajes de marcas ligeros , que
normalmente tienen como objetivo conseguir que los archivos de marcas ocupen
mucho menos espacio :
Al ocupar menos espacio ahorran ancho de banda y espacio en disco.
Normalmente se pueden convertir a XML sin problemas.
Ocupan menos memoria RAM cuando son procesados.
Los lenguajes de marcas ligeros ms usados
actualmente son JSON ( JavaScript
object notacin ) y los lenguajes de marcas de los wikis.

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

28/29

10/2/2014

Lenguaje de marcas y sistemas de gestin

http://ioc.xtec.cat/materials/FP/Materials/2251_ASIX/ASIX_2251_M04/web/html/WebContent/u1/a1/continguts.html

29/29

También podría gustarte