Vous êtes sur la page 1sur 30

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.

net

Para ver una copia completa de la licencia, acudir a la direccin http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es

(5)

(1) lenguajes de marcas. XML


(1.1) ordenador e informacin
(1.1.1) formas de representar informacin en el ordenador
El ordenador es una mquina digital, por lo tanto slo es capaz de representar nmeros binarios. Lo que obliga a que para poder almacenar informacin en un ordenador, previamente hay que codificarla en forma de nmeros binarios. El problema de los nmeros binarios es que estn muy alejados del ser humano; es decir, que las personas no estamos capacitadas para manejar informacin en binario. Sin embargo actualmente un ordenador es capaz de manejar informacin de todo tipo: msica, imgenes, texto,. Nuestra perspectiva humana nos permite rpidamente diferenciar lo que son nmeros, de lo que es texto, imagen, Pero en un ordenador todo es ms complicado por esa naturaleza binaria. Desde los inicios de la informtica la codificacin (el paso de informacin humana a informacin digital) ha sido problemtica debido a la falta de acuerdo en la representacin. Pero hoy da ya tenemos numerosos estndares. Fundamentalmente la informacin que un ordenador maneja son Nmeros y Texto. Pero curiosamente cualquier tipo de informacin que no es texto (imagen, sonido, vdeo,) se considera binaria (aunque como ya hemos comentado, en realidad toda la informacin que maneja un ordenador es binaria).

(1.1.2) datos en forma de texto y datos binarios


datos binarios
Cualquier dato que no sea texto, se considera dato binario. Por ejemplo: msica, vdeo, imagen, un archivo Excel, un programa, La forma de codificar ese tipo de datos a su forma binaria es muy variable. Por ejemplo en el caso de las imgenes, cada punto (pxel) de la imagen se codifica utilizando su nivel de rojo, verde y azul. De modo que una sola imagen produce millones de dgitos binarios (pxeles). (7)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

En cualquier caso sea cual sea la informacin que estamos codificando en binario, para poder acceder a dicha informacin, el ordenador necesita el software que sepa como decodificar la misma, eso slo es posible utilizando el mismo software con el que se codific o bien otro software pero que sea capaz de entender la informacin codificada.

texto
El texto es quiz la forma ms humana de representar informacin. Antes de la llegada del ordenador, la informacin se transmita mediante documentos o libros en papel. Esa forma de transmitir es milenaria y sigue la forma ms habitual de transmitir informacin entre humanos. En cuanto apareci la informtica como una ciencia digital, apareci tambin el problema de cmo codificar texto en forma de dgitos binarios. La forma habitual ha sido codificar cada carcter en una serie de nmeros binarios. De modo que por ejemplo el carcter A fuera por ejemplo 01000001 y la B el 01000010. El problema surgi por la falta de estandarizacin, la letra A se poda codificar distinto en diferentes ordenadores y as encontrarnos con un problema en cuanto quisiramos pasar datos de un ordenador a otro. Por ello aparecieron estndares para intentar que todo el hardware y software codificara los caracteres igual. el cdigo ASCII El problema de la codificacin de texto que haca incompatibles los documentos de texto entre diferentes sistemas, se pali cuando se ide en 1967 un cdigo estndar por parte de la ANSI, la agencia de estndares norteamericana, dicho cdigo es el llamado ASCII (American Standard Code for Information Interchange, cdigo estndar americano para el intercambio de informacin). El cdigo utiliza el alfabeto ingls (que utiliza caracteres latinos) y para codificar todos los posibles caracteres necesarios para escribir en ingls se ide un sistema de 7 bits (con 7 bits se pueden representar 128 smbolos, suficientes para todas las letras del alfabeto ingls, en minsculas y maysculas, caracteres de puntuacin, smbolos especiales e incluso smbolos de control). El cdigo ASCII es el siguiente:
Nm. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Significado Carcter nulo Inicio de Encabezado Inicio de Texto Fin de Texto Fin de Transmisin Peticin Confirmacin Timbre Retroceso Tabulacin horizontal Alimentacin de lnea Tabulacin Vertical Alimentacin de carro Retorno de carro Control? S S, ctrl-A S, ctrl-B S, ctrl-C S, ctrl-D S, ctrl-E S, ctrl-F S, ctrl-G S, ctrl-H S, ctrl-I S, ctrl-J S, ctrl-K S, ctrl-L S, ctrl-M Nm. 32 33 34 35 36 37 38 39 40 41 42 43 44 45 Sign. Espacio ! " # $ % & ' ( ) * + , ? No No No No No No No No No No No No No No Nm 64 65 66 67 68 69 70 71 72 73 74 75 76 77 Num. @ A B C D E F G H I J K L M ? No No No No No No No No No No No No No No Nm 96 97 98 99 100 101 102 103 104 105 106 107 108 109 Num. ` a b c d e f g h i j k l m Control? No No No No No No No No No No No No No No

(8)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net Nm. 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Significado Quitar maysculas Poner maysculas Data Link Escape Control Disp-1 Control Disp-2 Control Disp-3 Control Disp-4 Confirmacin negativa Idle sncrono Fin de bloque de transmisin Cancelar Fin de mitad Sustituto Escape EOF Separador de Grupo Separador de registro Separador de unidad Control? S, ctrl-N S, ctrl-O S, ctrl-P S, ctrl-Q S, ctrl-R S, ctrl-S S, ctrl-T S, ctrl-U S, ctrl-V S, ctrl-W S, ctrl-X S, ctrl-Y S, ctrl-Z S, ctrl-[ S, ctrl-\ S, ctrl-] S, ctrl-^ S, ctrl-_ Nm. 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Sign. . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ? No No No No No No No No No No No No No No No No No No Nm 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Num. N O P Q R S T U V W X Y Z [ \ ] ^ _ ? No No No No No No No No No No No No No No No No No No Nm 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Num. n o p q r s t u v w x y z { | } ~ Borrado Control? No No No No No No No No No No No No No No No No No No

Pero, puesto que los alfabetos de otros pases poseen otros smbolos, surgi el problema de que los alfabetos de las dems lenguas diferentes del ingls no podan representar algunos (o muchos) smbolos. Por ello se disearon cdigos de 8 bits que aadan 128 smbolos ms y as aparecieron los llamados cdigos ASCII extendidos. En ellos, los 128 smbolos primeros son los mismos de la tabla ASCII original y los 128 siguientes se corresponden a smbolos extra. As por ejemplo el sistema MS-DOS utilizaba el llamado cdigo 437 que inclua smbolos y caracteres de otras lenguas de Europa Occidental y caracteres que permitan hacer marcos y bordes en pantallas de texto, entre otros smbolos. Sin embargo 8 bits siguen siendo insuficientes para codificar todos los alfabetos del planeta. Por lo que cada zona usaba su propia tabla ASCII extendida. Ante el caos consiguiente, la ISO decidi normalizar dichas tablas de cdigos para conseguir versiones estndares de los mismos. Lo hizo mediante las siguientes normas (cada una de las cuales defina una tabla de 256 caracteres, siempre los 128 primeros son el ASCII original) 8859-1. 8859-2. 8859-3. 8859-4. 8859-5. 8859-6. ASCII extendido para Europa Occidental (incluye smbolos como o ) ASCII extendido para Europa Central y del Este (incluye smbolos como o ) ASCII extendido para Europa del Sur (incluye smbolos como o ) ASCII extendido para Europa del Norte (incluye smbolos como o ) ASCII extendido para alfabeto cirlico (incluye smbolos como o ) ASCII extendido para alfabeto rabe (incluye smbolos como o ) (9)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

8859-7. 8859-8. 8859-9.

ASCII extendido para alfabeto griego moderno (incluye smbolos como o ) ASCII extendido para alfabeto hebreo (incluye smbolos como o ) ASCII extendido, versin de 8859-1 que incluye smbolos turcos en lugar de otros poco utilizados

8859-10. ASCII extendido, versin de 8859-4 que incluye smbolos ms utilizados en las lenguas nrdicas actuales 8859-11. ASCII extendido para alfabeto tailands (incluye smbolos como

)
8859-12. ASCII extendido para alfabeto devanagari de India y Nepal que ya no se usa 8859-13. ASCII extendido para alfabetos blticos con smbolos que no estaban en 8859-4 8859-14. ASCII extendido para alfabeto celta (incluye smbolos como o ) 8859-15. ASCII extendido, versin de 8859-1 que incluye el smbolo del euro y smbolos de lenguas blticas. Es el recomendado actualmente para Europa Occidental. 8859-16. ASCII extendido, versin de 8859-1 pensada para los pases del sureste de Europa 2022-JP. Smbolos japoneses (parte 1) 2022-JP-2. Smbolos japoneses (parte 2) 2022-KR. Smbolos coreanos Este problema sigue existiendo ahora de modo que en los documentos de texto hay que indicar el sistema de codificacin utilizado (el caso ms evidente son las pginas web), para saber cmo interpretar los cdigos del archivo. As en 8859_1 el cdigo 245 es el carcter y en 8859_2 es el carcter Unicode La complicacin de las tablas de cdigo se intenta resolver gracias al sistema Unicode que ha conseguido incluir los caracteres de todas las lenguas del planeta a cambio de que cada carcter ocupe ms de un byte (ocho bits). En Unicode a cada smbolo se le asigna un nmero (evidentemente los 128 primeros son los originales de ASCII para mantener la compatibilidad con los textos ya codificados y de hecho los 256 primeros son la tabla ISO-8859_1). Para ello el organismo tambin llamado Unicode participado por numerosas e influyentes empresas informticas y coordinado por la propia ISO, ha definido tres formas de codificar los caracteres: UTF-8. Es la ms utilizada (y la ms compleja de usar para el ordenador). Utiliza para cada carcter de uno a cuatro caracteres, de forma que: Utilizan uno los que pertenecen al cdigo ASCII original Dos los pertenecientes a lenguas latinas, cirlicas, griegas, rabes, hebreas y otras de Europa, Asia Menor y Egipto

(10)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

Tres para smbolos fuera de los alfabetos anteriores como el chino o el japons Cuatro para otros smbolos: por ejemplo los matemticos y smbolos de lenguas muertas como el fenicio o el asirio o smbolos asiticos de uso poco frecuente.

UTF-16. Utiliza para cada carcter dos (para los dos primeros grupos del punto anterior) o cuatro caracteres (para el resto). Es ms sencillo que el anterior UTF-32. La ms sencilla de todas. Cada carcter independientemente del grupo al que pertenezca ocupa 4 caracteres. No se utiliza.

archivos binarios y archivos de texto


ventajas de los archivos binarios

(1)

Ocupan menos espacio que los archivos de texto, ya que optimizan mejor su codificacin a binario (por ejemplo el nmero 213 ocupa un solo byte y no tres como ocurrira si fuera un texto). Son ms rpidos de manipular por parte del ordenador (se parecen ms al lenguaje nativo del ordenador) Permiten el acceso directo a los datos. Los archivos de texto siempre se manejan de forma secuencial, ms lenta En cierto modo permiten cifrar el contenido que de otra forma sera totalmente visible por cualquier aplicacin capaz de entender textos (como el bloc de notas). Es decir los datos estn cifrados. Son ideales para almacenar datos para exportar e importar informacin a cualquier dispositivo electrnico ya que cualquier es capaz de interpretar texto Son directamente modificables, sin tener que acudir a software especfico Su manipulacin es ms sencilla que la de los archivos binarios Son directamente transportables y entendibles por todo tipo de redes

(2) (3) (4)

ventajas de los archivos de texto

(1) (2) (3) (4)

(1.2) exportar/importar datos


(1.2.1) el problema de compartir datos
Los problemas relacionados con el intercambio de informacin entre aplicaciones y mquinas informticas es tan viejo como la propia informtica. El problema parte del hecho de haber realizado un determinado trabajo con un software en un ordenador concreto y despus querer pasar dicho trabajo a otro software en ese u otro ordenador. Los archivos binarios tienen la complicacin de que para hacer ese proceso, el origen y el destino de los datos deben comprender cmo decodificar la informacin. Eso en muchos casos ha sido un gran problema que ha obligado que en muchos casos todos los trabajadores y trabajadoras hayan tenido que adaptarse al software de la empresa y por supuesto en toda la empresa utilizar dicho software. (11)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

En la informtica actual eso es an ms problema al tener una necesidad de disponibilidad global del trabajo y adems la posibilidad de ver dicho trabajo en dispositivos de todo tipo como mini ordenadores, PDA o incluso telfonos mviles. Por ello poco a poco han aparecido formatos binarios de archivo que han sido estndares de facto (aunque no han sido reconocidos por ningn organismo de estndares) como por ejemplo el formato documental PDF, el formato de imagen JPEG, la msica MP3 o el formato MPEG de vdeo. Pero sigue habiendo empresas que utilizan formato propio por la idea de que sus formatos de archivo estn directamente relacionados con la calidad de su software es decir razonan que el software que fabrican es muy potente y necesitan un formato binario propio compatible con esa potencia. De ah que muchas veces la opcin para exportar e importar datos sea utilizar conversores, capaces de convertir los datos de un formato a otro (por ejemplo de Word a Open Office; de MP3 a MOV de Apple, etc.).

(1.2.2) el texto como el formato ms verstil


Sin embargo hay un formato de archivo que cualquier dispositivo es capaz de entender. El texto. La cuestin es que el texto slo es capaz de almacenar texto plano; es decir simplemente caracteres. Pero no informacin ms compleja como hojas de clculo, imgenes, etc. Por ello se intenta que el propio texto sirva para almacenar otros datos. Evidentemente no es posible usar texto para almacenar por ejemplo imgenes, pero s otras cosas. Para ello dentro del archivo habr contenido que no se interpretar como texto sin ms sino como otro tipo de informacin. Es decir texto que contiene marcas especiales. Desde el principio hay dos campos en los que est idea ha funcionado bien: en las bases de datos y en los procesadores de texto. Actualmente el xito de Internet ha permitido espolear esta tecnologa. Hay un problema con el texto, puesto que es un formato tan universal, su contenido siempre es visible y por lo tanto es peligroso como fuente para almacenar datos confidenciales. Los binarios tampoco lo son, porque los principales formatos se pueden abrir con el software apropiado; pero cifrar la informacin es una operacin puramente binaria. Por ello el texto puro no se suele utilizar para esta tarea.

(1.3) lenguajes de marcas


(1.3.1) introduccin histrica
aparicin de los lenguajes de marcas
Como se ha comentado en el punto anterior, el problema de la exportacin de datos ha puesto en entredicho a los archivos binarios como fuente para exportar e importar informacin. En su lugar parece que los archivos de texto poseen menos problemas (excepto el del cifrado de su informacin, que queda demasiado descubierta). Por ello se ha intentado que los archivos de texto plano (archivos que slo contienen texto y no otros datos binarios) pudieran servir para almacenar otros datos como por ejemplo detalles sobre el formato del propio texto u otras indicaciones. Los procesadores de texto fueron el primer software en encontrarse con este dilema. Puesto que son programas que sirven para escribir texto pareca que lo lgico era que sus datos se almacenaran como texto. Pero necesitan guardar datos referidos al (12)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

formato del texto, tamao de la pgina, mrgenes, etc. La solucin clsica ha sido guardar la informacin de formato de forma binaria, lo que provoca los ya comentados problemas. Algunos procesadores de texto optaron por guardar toda la informacin como texto, haciendo que las indicaciones de formato no se almacenen de forma binaria sino textual. Dichas indicaciones son caracteres marcados de manera especial para que as un programa adecuado pueda traducir dichos caracteres no como texto sino como operaciones que finalmente producirn mostrar el texto del documento de forma adecuada.. La idea del marcado procede del ingls marking up trmino con el que se referan a la tcnica de marcar manuscritos con lpiz de color para hacer anotaciones como por ejemplo la tipografa a emplear en las imprentas. Este mismo trmino se ha utilizado para los documentos de texto que contienen comandos u anotaciones. Las posibles anotaciones o indicaciones incluidos en los documentos de texto han dado lugar a lenguajes (entendiendo que en realidad son formatos de documento y no lenguajes en el sentido de los lenguajes de programacin de aplicaciones) llamados lenguajes de marcas, lenguajes de marcado o lenguajes de etiquetas.

Goldfarb
Se considera a Charles Goldfarb como al padre de los lenguajes de marcas. Se trata de un investigador de IBM que propuso ideas para que los documentos de texto tuvieran la posibilidad de indicar el formato del mismo. Al final ayud a realizar el lenguaje GML de IBM el cual puso los cimientos del futuro SGML ideado por el propio Goldfarb.

TeX y LaTeX
En la dcada de los 70 Donald Knuth (uno de los ingenieros informticos ms importantes de la historia, padre del anlisis de algoritmos) cre para producir documentos cientficos utilizando una tipografa y capacidades que fueran iguales en cualquier computadora, asegurando adems una gran calidad en los resultados. Para ello apoy a TeX con tipografa especial (fuentes Modern Computer) y un lenguaje de definicin de tipos (METAFONT). TeX ha tenido cierto xito en la comunidad cientfica gracias a sus 300 comandos que permiten crear documentos con tipos de gran calidad, para ello se necesita un programa capaz de convertir el archivo TeX a un formato de impresin. El xito de TeX produjo numerosos derivados de los cuales el ms popular es (LaTeX). Se trata de un lenguaje que intenta simplificar a TeX, fue definido en 1984 por Leslie Lamport, aunque despus ha sido numerosas veces revisado. Al utilizar comandos de TeX y toda su estructura tipogrfica, adquiri rpidamente notoriedad y sigue siendo utilizado para producir documentos con expresiones cientficas, de gran calidad. La idea es que los cientficos se centren en el contenido y no en la presentacin. Ejemplo de cdigo LaTeX: \documentclass[12pt]{article} \usepackage{amsmath} \title{\Ejemplo} \begin{document} Este es el texto ejemplo de \LaTeX{} Con datos en \emph{cursiva} o \textbf{negrita}. Ejemplo de f\'ormula (13)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

\begin{align} E &= mc^2 \end{align} \end{document} Que con un traductor dara lugar al resultado:

RTF
RTF es el acrnimo de Rich Text Format (Formato de Texto Enriquecido) un lenguaje ideado por Microsoft en 1987 para producir documentos de texto que incluyan anotaciones de formato. Actualmente se trata de un formato aceptado como texto con formato y en ambiente Windows es muy utilizado como formato de intercambio entre distintos procesadores por su potencia. El procesador de texto Word Pad incorporado por Windows lo utiliza como formato nativo. Ejemplo: {\rtf1\ansi\ansicpg1252\deff0\deflang3082{\fonttbl{\f0\fnil\fcharset0 Calibri;}} \viewkind4\uc1\pard\sa200\sl276\slmult1\lang10\f0\fs22 soy \i cursiva\i0\par } Produce el resultado: soy cursiva

SGML
Se trata de la versin de GML que estandarizaba el lenguaje de marcado y que fue definida finalmente por ISO como estndar mundial en documentos de texto con etiquetas de marcado. La estandarizacin la hace el subcomit SC24 que forma parte del comit JTC1 del organismo IEC de ISO que se encarga de los estndares electrnicos e informticos (en definitiva se trata de una norma ISO/IEC JTC1/SC24, concretamente la 8879). Su importancia radica en que es el padre del lenguaje XML y la base sobre la que se sostiene el lenguaje HTML. En SGML las etiquetas que contienen indicaciones para el texto se colocan entre smbolos < y >. Las etiquetas se cierran con el signo /. Es decir las reglas fundamentales de los lenguajes de etiquetas actuales ya las haba definido SGML. En realidad (como XML) no es un lenguaje con unas etiquetas concretas, sino que se trata de un lenguaje que sirve para definir lenguajes de etiquetas; o ms exactamente es un lenguaje de marcado que sirve para definir formatos de documentos de texto con marcas. Entre los formatos definidos mediante SGML, sin duda HTML es el ms popular.

(14)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

PostScript
Se trata de un lenguaje de descripcin de pginas. De hecho es el ms popular. Permite crear documentos en los que se dan indicaciones potentsimas sobre como mostrar informacin en el dispositivo final. Se inici su desarrollo en 1976 por John Warnock y dos aos ms tarde se continuo con la empresa Xerox, hasta que en 1985 el propio Warnock funda Adobe Systems y desde esa empresa se continua su desarrollo. Es en realidad todo un lenguaje de programacin que indica la forma en que se debe mostrar la informacin que puede incluir texto y el tipo de letra del mismo, pxeles individuales y formas vectoriales (lneas, curvas). Sus posibilidades son muy amplias. Ejemplo1: %!PS /Courier % Elige el tipo de letra 20 selectfont % Establece el tamao de la letra y % la toma como el tipo de letra en uso 72 500 moveto % Coloca el cursor en las coordenadas % 72, 500 (contando los pxeles desde % la esquina izquierda de la pgina) (Hola mundo!) show % Escribe el texto entre parntesis, showpage % Imprime el resultado

HTML
Tim Bernes Lee utiliz SGML para definir un nuevo lenguaje de etiquetas que llam Hypertext Markup Language (lenguaje de marcado de hipertexto) para crear documentos transportables a travs de Internet en los que fuera posible el hipertexto; es decir la posibilidad que determinadas palabras marcadas de forma especial permitieran abrir un documento relacionado con ellas. A pesar de tardar en ser aceptado, HTML fue un xito rotundo y la causa indudable del xito de Internet. Hoy en da casi todo en Internet se ve a travs de documentos HTML, que popularmente se denominan pginas web. Inicialmente estos documentos se vean con ayuda de intrpretes de texto (como por ejemplo el Lynx de Unix) que simplemente coloreaban el texto y remarcaban el hipertexto. Despus el software se mejor y aparecieron navegadores con capacidad ms grfica para mostrar formatos ms avanzados y visuales.

XML
Se trata de un subconjunto de SGML ideado para mejorar el propio SGML y con l definir lenguajes de marcado con sintaxis ms estricta, pero ms entendibles. Su popularidad le ha convertido en el lenguaje de marcado ms importante de la actualidad y en el formato de documentos para exportacin e importacin ms exitoso.

(1.3.2) tipos de lenguajes de marcas


Orientados a la presentacin. En ellos al texto comn se aaden palabras encerradas en smbolos especiales que contienen indicaciones de formato que permiten a los traductores de este tipo de documentos generar un documento

Tomado de http://en.wikipedia.org/wiki/PostScript

(15)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

final en el que el texto aparece con el formato indicado. Es el caso de HTML en el que se indica cmo debe presentarse el texto (y no por ejemplo lo que significa el mismo) tambin se considera as los archivos generados por los procesadores de texto tradicionales en los que al texto del documento se le acompaa de indicaciones de formato (como negrita, cursiva,) Orientados a la descripcin. En ellos las marcas especiales permiten dar significado al texto pero no indican cmo se debe presentar en pantalla el mismo. Sera el caso de XML o de SGML en el que la presentacin nunca se indica en el documento; simplemente se indica una semntica de contenido que lo hace ideal para almacenar datos (por ejemplo si el texto es un nombre de persona o un nmero de identificacin fiscal). Orientados a procedimientos. Se trata de documentos en los que hay texto marcado especialmente que en realidad se interpreta como rdenes a seguir y as el archivo en realidad contiene instrucciones a realizar con el texto. Es el caso de LaTeX o PostScript donde por ejemplo se puede indicar una frmula matemtica.

(1.4) qu es XML?
(1.4.1) objetivos de XML
XML es un lenguaje de marcas que se ha estandarizado y se ha convertido en uno de los formatos ms populares para intercambiar informacin. Se trata de un formato de archivos de texto con marcado que deriva del original SGML, pero que le ha superado aadiendo otro tipo de reglas y de forma de trabajar. La realidad es que XML siempre ha estado muy ligado al xito de HTML. Se plante por los problemas crecientes que se fueron observando en las pginas web. HTML tiene estos problemas como formato de intercambio de informacin: La mayora de etiquetas HTML no son semnticas; es decir, no sirven para decir el tipo de contenido que tenemos sino para indicar el formato. Por ejemplo la etiqueta H1 s es semntica ya que indica que el texto que contiene es un encabezado de nivel principal. Mientras que la etiqueta HTML clsica font sirve para colorear o cambiar el tipo de letra, sin indicar qu tipo de texto tenemos (se aplica a cualquiera) HTML es un lenguaje rgido, no es extensible. Es decir no podemos aadir etiquetas ya que ningn navegador las reconocer. Cada vez que se decide aadir hay que cambiar el estndar y los navegadores se deben de adaptar a los cambios. Requiere de arreglos extraos para aadir potencia y funcionalidad, por lo que los diseadores tienden a incrustar dentro del cdigo HTML cdigo de lenguajes como PHP o Javascript que dificultan su legibilidad y comprensin.

(16)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

Por ello al crear XML se plantearon estos objetivos:

(1) (2) (3) (4)

Deba de ser similar a HTML (de hecho se basa en el lenguaje SGML base para el formato HTML) Deba de ser extensible, es decir que sea posible aadir nuevas etiquetas sin problemas. Esa es la base del lenguaje XML. Deba de tener unas reglas concisas y fciles, adems de estrictas. Deba de ser fcil de implantar en todo tipo de sistemas. XML nace con una vocacin multiplataforma, como base de intercambio de informacin entre sistemas de toda ndole. Deba ser fcil de leer por los humanos y fcil crear procesadores XML software (llamados parsers)

(5)

(1.4.2) XML y SGML


Bsicamente XML es SGML, es decir una persona que sepa SGML no tendr ningn problema en aprender XML, las bases son las mismas pero XML elimina gran parte de su complejidad. De hecho se dice que XML es un subconjunto de SGML; es SGML pero restringiendo o eliminando ciertas normas. Por otro lado XML sirve para lo mismo que SGML: para disear lenguajes de marcas.

(1.4.3) lenguajes basados en XML


Algunos de los lenguajes estndares de marcado basados en XML son: XHTML. Adaptacin de HTML a las normas de XML. RDF, Resource Description Format, Sirve para desarrollar documentos que describan recursos. Se trata de un proyecto ya antiguo para definir modelos de metadatos. Se basa en los modelos conceptuales como el modelo entidad/relacin o los diagramas de clases, aunque actualmente se utiliza fundamentalmente para describir recursos web. RSS. (Really Simple Syndication, aunque hay otras interpretaciones de los acrnimos) Para producir contenidos sindicables, se utiliza fundamentalmente para producir noticias. Es una de las aplicaciones XML ms utilizada SMIL. Synchronized Multimedia Integration Language, Lenguaje sincronizado de integracin multimedia. Utilizado para producir presentaciones de TV en la web, fundamentalmente. SVG. Scalable Vector Graphics, grficos de vectores escalables. Permite definir imgenes vectoriales pensadas para ser publicadas en una pgina web. MathML. Pensado matemticas. para representar documentos con expresiones

VoiceXML. Se utiliza para representar dilogos vocales. OSDF. Open Software Description Format, basado en especificaciones de las empresas Marimba y Microsoft, sirve para describir la tecnologa y los (17)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

componentes con los que se ha desarrollado un determinado software, a fin de facilitar el proceso de instalacin.

(1.4.4) usos de XML


contenido web
XML podra pasar a reemplazar a HTML como el formato en el que se escriben las pginas web. Es de hecho una de sus vocaciones ya que ofrece una sintaxis ms rgida (que es ventajosa ya que facilita su aprendizaje), una escalabilidad (que permite que jams se quede obsoleto el lenguaje) y una serie de tecnologas relacionadas ms poderosas. La razn del fracaso de HTML como estndar se debe a que cada navegador impone etiquetas propias. Con XML no es posible esta situacin, ya que la propia naturaleza del lenguaje no la hace posible.

intercambio de informacin entre aplicaciones


El hecho de que XML almacene informacin mediante documentos de texto plano, facilita que se utilice como estndar, ya que no se requiere software especial para entender su contenido.

computacin distribuida
Se trata de la posibilidad de utilizar XML para intercambiar informacin entre diferentes computadoras a travs de las redes. Las ventajas de XML estn relacionadas con el hecho de que con l se crean documentos inocuos (no pueden contener cdigo maligno como virus o espas), con lo que la seguridad de esos sistemas es total.

informacin empresarial
XML es un formato que tiene cada vez ms importancia para generar documentos empresariales por la facilidad de estructurar los datos de la forma ms apropiada para la empresa.

(1.4.5) tecnologas relacionadas con XML


XML posee un gran nmero de tecnologas para dar funcionalidad, presentacin o integracin con otros lenguajes. Las ms importantes son: DTD. En realidad procede de SGML, pero es un lenguaje que permite aplicar validacin avanzada a XML XML Schema. La funcin que cumple esta tecnologa es la misma que la anterior, la diferencia est en que este lenguaje es un lenguaje XML. Namespacing, espacios de nombres. Permite conseguir nombres de elementos que carecen de ambigedad. Es decir nombres nicos. XPath. Lenguaje de consulta que permite seleccionar o acceder a partes de un documento XML. CSS. Hojas de estilo en cascada, permiten dar formato al documento XSLT. Sirve para lo mismo que CSS, slo que posee ms posibilidades. XQuery. Permite consultar datos de los documentos XML.

(18)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

DOM. Document Object Model, permite acceder a la estructura jerrquica del documento normalmente para utilizarla dentro de un lenguaje de programacin SAX. Simple API for XML, permite el uso de herramientas para acceder a la estructura jerrquica del documento XML, se usa mucho en Java. XLink. Define enlaces avanzados XPointer. Se usa habitualmente para las mismas tareas que XLink.

(1.5) software para producir XML


En principio XML se puede escribir desde cualquier editor de texto plano (como el bloc de notas de Windows o el editor vi de Linux). Pero es ms interesante hacerlo con un editor que reconozca el lenguaje y que adems marque los errores en el mismo. De hecho el software necesario es el siguiente:

(1) (2) (3)

Un editor de texto plano (como el bloc de notas de Windows) o un editor que reconozca el lenguaje XML para facilitar su escritura. Un analizador o parser, programa capaz de entender y validar el lenguaje XML. Un motor XML (un navegador) que sea capaz de producir el resultado de los archivos XML en el formato indicado por el creador (mediante CSS o XSL por ejemplo)

Hay entornos de trabajo que incluyen todas esas prestaciones dentro del mismo paquete software.

(1.6) funcionamiento de XML


(1.6.1) cuestiones bsicas
Los documentos XML en definitiva son documentos de lenguajes de marcas, donde hay texto normal y etiquetas (marcas) que permiten clasificar dicho texto indicando su significado. Las etiquetas en XML se deciden a voluntad, no hay una serie de etiquetas que se pueden utilizar; de hecho la funcin de XML es definir tipos de documentos etiquetados. Ejemplo de XML: <persona> <nombre>Jorge</nombre> <apellido>Snchez</apellido> </persona> El cdigo es similar a HTML, slo que las etiquetas se deciden segn nos interese. Pero el funcionamiento el mismo: Las etiquetas tienen cierre que se indica con el signo / antes del nombre de la etiqueta Las etiquetas afectan al texto (y otras etiquetas) que estn entre la apertura y el cierre (19)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

Por otro lado XML llamada elemento a las etiquetas; mejor dicho, elemento sera tanto la etiqueta como lo que contiene. En cualquier caso las normas son: Las etiquetas sirven para indicar elementos. El nombre de la etiqueta se indica entre los smbolos < y > Las etiquetas se cierran indicando </ seguido del nombre de la etiqueta XML distingue entre maysculas y minsculas (en esto se diferencia de HTML) siendo buena prctica escribir las etiquetas en minsculas Se pueden espaciar y tabular las etiquetas a voluntad. Es buena prctica que un elemento interno a otro aparezca en el cdigo con una sangra mayor (por eso en el ejemplo anterior nombre, que est dentro de persona, aparece sangrado). Los comentarios en el cdigo se inician con los smbolos <!-- y terminan con --> Segn la W3C, el texto en un documento XML debe de estar codificado en Unicode (normalmente UTF-8)

(1.6.2) estructura de un documento XML


Los documentos XML se dividen en: Prlogo. Se trata de la primera zona del documento y sirve para describir qu tipo de documento es. Es similar al apartado head de HTML. Puede contener Declaracin del documento, que permite indicar el tipo de documento XML que es. Instrucciones para el procesado del documento Comentarios Indicacin del documento DTD o el esquema para la validacin Elemento raz. Todo el contenido del documento debe de estar incluido en el llamado elemento raz, se trata de un elemento obligatorio que se abre tras el prlogo y se debe cerrar justo al final. De este modo cualquier elemento est dentro del elemento raz. Contiene: Ms elementos Atributos Texto normal Entidades Comentarios

(20)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

(1.6.3) reglas para los nombres


En XML los elementos, atributos,. tienen nombre, el cual debe cumplir estas reglas En XML se distingue entre maysculas y minsculas, por lo que hay que tener cuidado al utilizar el nombre desde otro punto del documento Deben comenzar por una letra, y despus le seguirn ms letras, nmeros o el signo de subrayado o guin bajo.

(1.6.4) elementos del prlogo


declaracin XML
Se trata de la primera lnea de un documento XML e indica el tipo de documento XML que es (y as poder validar el mismo). En realidad es opcional, pero es muy recomendable. Es: <?xml version="1.0" encoding="UTF-8"?> Indica la versin XML del documento y la codificacin (utf-8 es la habitual).

instrucciones de procesamiento
Un documento XML puede incluir instrucciones de este tipo para indicar un documento para validar el XML, darle formato, u otras funciones. Por ejemplo: <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> Esta instruccin asocia un documento xsl al documento XML para poder darle un formato de salida (para especificar la forma en la que los datos se muestran por pantalla por ejemplo).

(1.6.5) comentarios
Como se ha indicado antes comienzan con el smbolo <!-- y terminan con -->. Dentro puede haber cualquier texto que se utiliza con fines explicativos o de documentacin del cdigo. Los comentarios no pueden meterse dentro de la etiqueta de un elemento, ni tampoco puede contener etiquetas tanto de apertura como de cierre.

(1.6.6) elementos
Son la base del documento XML. Sirven para dar significado al texto o a otros elementos o tambin para definir relaciones entre distintos elementos y datos. Hay una confusin entre lo que es un elemento y lo que es una etiqueta. En este caso por ejemplo: <nombre>Jorge</nombre> <nombre> Es un etiqueta de apertura </nombre> Es una etiqueta de cierre <nombre>Jorge</nombre> Es un elemento (21)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

Jorge es el contenido del elemento El contenido de un elemento puede contener simplemente texto: <descripcin> Producto con precio rebajado debido a su escasa demanda </descripcin> O puede contener otros elementos (o ambas cosas). En este el elemento persona consta de un elemento nombre y otro apellido. <persona> <nombre>Jorge</nombre> <apellido>Snchez</apellido> </persona> Los elementos se deben abrir y cerrar con la etiqueta que sirve para definir el elemento; siempre se debe cerrar el ltimo elemento que se abri. Es decir es un error: <persona> <nombre>Jorge</nombre> <apellido>Snchez</persona> </apellido> Puede haber incluso elementos vacos: <casado></casado> En este caso se pueden cerrar en la propia etiqueta de apertura: <casado />

(1.6.7) atributos
Se definen dentro de las etiquetas de apertura de los elementos. Se indica su nombre seguido del signo = y del valor (entre comillas) que se le da al atributo. Ejemplo: <persona complejidad=alta> <nombre>Jorge</nombre> <apellido>Snchez</persona> </apellido> Un elemento puede contener varios atributos: <persona privacidad=alta tipo=autor> <nombre>Jorge</nombre> <apellido>Snchez</persona> </apellido>

(22)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

(1.6.8) texto
El texto como se coment antes est siempre entre una etiqueta de apertura y una de cierre. Eso significa que todo texto es parte de un elemento XML. Se puede escribir cualquier carcter Unicode en el texto, pero no es vlido utilizar caracteres que podran dar lugar a confusin como los signos separadores < y > por ejemplo

(1.6.9) CDATA
Existe la posibilidad de marcar texto para que no sea procesado como parte de XML, eso se consigue colocndolo dentro de un elemento CDATA. Formato: <! [CDATA [ texto no procesable ]]>

Esto permite utilizar los caracteres < y > por ejemplo y no sern considerados como separadores de etiquetas. Ejemplo: <?xml version=1.0?> <documento> <ttulo>Prueba</ttulo> <ejemplo> <![CDATA[ En HTML la negrita se escribe: <strong> ]]> </ejemplo> </documento> En el ejemplo, los smbolos < y > no se toman como una etiqueta XML, sino como texto normal. Otro uso de CDATA es colocar dentro de este elemento cdigo de lenguajes de scripts como Javascript para que no sean interpretados como parte de XML.

(1.6.10) entidades
Las entidades representan caracteres individuales. Se utilizan para poder representar caracteres especiales o bien caracteres inexistentes en el teclado habitual. Se trata de cdigos que empiezan con el signo & al que sigue el nombre de la entidad o el nmero Unicode del carcter que deseamos representar. En XML hay definidas cinco entidades: &gt; Smbolo > &lt; Smbolo < &amp; Smbolo & &quot; Smbolo &apos; Smbolo (23)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

Tambin podemos representar caracteres mediante entidades con nmero. De modo que el &#241; representa a la letra (suponiendo que codificamos en Unicode, que es lo habitual). El nmero puede ser hexadecimal por ejemplo para la ee de nuevo, sera &#xF1;

(1.6.11) jerarqua XML


Los elementos de un documento XML establecen una jerarqua que estructura el contenido del mismo. Esa jerarqua se puede representar en forma de rbol. As por ejemplo el archivo XML: <?xml version=1.0?> <documento> <ttulo>Apuntes de XML</ttulo> <autor>Jorge Snchez</autor> <fecha_pub> <da>18</da> <mes>Enero</mes> <ao>2009</ao> </fecha_pub> </documento> Grficamente de forma jerrquica se podra expresar as:

Ilustracin 1, Estructura jerrquica de un documento XML

(24)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

(1.7) XML bien formado


Se habla de XML bien formado (well formed) cuando cumple reglas que facilitan su legibilidad y adems permiten cumplir los objetivos formales de la edicin de documentos XML. Debemos tomar las reglas para producir XML bien formado como reglas obligadas, de hecho los analizadores (parsers) de XML indicaran error en caso de no cumplirlas. Es decir, un documento XML bien formado es un documento analizable

(1.7.1) reglas generales


Dentro del texto comn no se pueden utilizar los smbolos de mayor (>), menor (<), ampersand (&) ni las comillas simples o dobles. Se deben de utilizar entidades o deben estar incluidos en una seccin CDATA En principio en el texto normal, los smbolos de separacin de caracteres como espacios en blanco, tabuladores y saltos de lnea, no se tienen en cuenta. Es decir se usan al estilo de HTML. Pero s es posible que sean significativos en algunos elementos. En cualquier caso todos los caracteres escritos en el documento XML forman parte del mismo, ser una cuestin posterior si se tienen en cuenta o no para presentar los datos del documento XML.

(1.7.2) reglas para los elementos


Se deben cerrar primero las etiquetas de los ltimos elementos abiertos. Todos los elementos poseen etiquetas de apertura y de cierre; es decir toda etiqueta que se abra se debe de cerrar. Si la etiqueta no tiene contenido, se debe cerrar en la propia etiqueta al estilo: <br /> Todos los documentos XML deben de tener un nico elemento raz Los nombres de los elementos comienzan con letras y pueden ir seguidos de letras, nmeros, guiones o de puntos (los guiones y los puntos no son muy recomendables) Los nombres de los elementos no pueden comenzar con el texto xml tanto en minsculas como en maysculas o combinando ambas.

(1.7.3) reglas para los atributos


Los nombres de atributos siguen las mismas normas que los nombres de los elementos Los atributos slo se pueden colocar en etiquetas de apertura y nunca en las de cierre Los valores de los atributos deben ir entrecomillados (sin importar si se usan comillas simples o dobles). Ejemplos (25)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

<nombre sexo="Hombre">Antonio</nombre> <nombre sexo='Mujer'>Sara</nombre> <nombre sexo='Mujer">Eva</nombre> <!-- error --> La ltima lnea es incorrecta porque no se pueden combinar ambas comillas. Todos los atributos deben de tener valor asociado. Es decir esta etiqueta (vlida en HTML) no sera vlida en XML: <hr noshade> Debera ser, por ejemplo, as: <hr noshade="noshade">

(1.8) espacios de nombres


(1.8.1) el problema de los nombres de elementos
Puede ocurrir que cuando se manejan documentos XML puede ocurrir que diferentes XML que tengamos, utilicen las mismas etiquetas. Aunque el contexto sera distinto, tendramos un problema si manejamos ambos documentos con el mismo software, ya que el analizador, no sabra cmo manejar ambas etiquetas iguales. Los espacios de nombres (namespacing en ingls) evitan el problema indicando en cada etiqueta una cdigo que sirve para indicar el contexto de cada etiqueta y as diferenciar las que son iguales. Ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document> <title>Documento de prueba</title> <content> <html> <head> <title>Titulo HTML</title> </head> <body> Texto del documento </body> </html> </content> <author>Jorge</author> </document> En el ejemplo anterior se usan etiquetas en ingls para el documento (algo muy habitual en el mundo empresarial) y eso hace que la etiqueta title se repita en contextos distintos, el primero es para poner un ttulo genrico al documento (y es una etiqueta de la empresa en cuestin) y la segunda se corresponde a la etiqueta title del lenguaje HTML (o mejor XHTML).

(26)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

(1.8.2) diferenciar elementos


La solucin es anteponer al nombre de la etiqueta un nombre que indique el propietario de la misma, por ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document> <jorge.title>Documento de prueba</jorge.title> <content> <html> <head> <html.title>Titulo HTML</html.title> </head> <body> Texto del documento </body> </html> </content> <author>Jorge</author> </document> Ese prefijo diferenciador es el espacio de nombres al que pertenece la etiqueta, pero usado as tendramos el problema de que con un sufijo tan corto, se podra repetir. Por ello una solucin es indicar la URL de la entidad responsable de la etiqueta: <?xml version="1.0" encoding="UTF-8"?> < www.jorgesanchez.net.document <www.jorgesanchez.net.title> Documento de prueba </www.jorgesanchez.net.title> <www.jorgesanchez.net.content> <www.w3c.org.html> <www.w3c.org.head> <www.w3c.org.title> Titulo HTML </www.w3c.org.title> </www.w3c.org.head> <www.w3c.org.body> Texto del documento </www.w3c.org.body> </www.w3c.org.html> </www.jorgesanchez.net.content> <www.jorgesanchez.net.author> Jorge </www.jorgesanchez.net.author> </document> Pero el documento quedara muy poco legible. Por ello se aplican espacios de nombres, de modo que se asigna una URL a un prefijo de etiqueta; de este modo cada vez que el documento se utiliza el prefijo, se sabe que se refiere a la URL indicada (las URLs son nicas). (27)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

Esas URL es en realidad una URI (Universal Resource Identifier) un identificador nico de recurso, de modo que la raz de la URI es el dominio universal (Internet) de la empresa y a l se aade la ruta al recurso. As si hemos definido documentos XML cuyo elemento raz es document, la URI relacionada con el espacio de nombres del documento sera por ejemplo www.jorgesanchez.net/document.

(1.8.3) uso del atributo xmlns


Todas las etiquetas en XML pueden hacer uso del atributo xmlns (xml namespacing) que permite asignar un espacio de nombres a un prefijo en el documento dentro del elemento en el que se usa el espacio de nombres. Ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document xmlns:jorge="http.//www.jorgesanchez.net/document" xmlns:html="htp://www.w3c.org/html"> <jorge:title> Documento de prueba </jorge:title> <jorge:content> </jorge:content> <jorge:author> Jorge </jorge:author> </document> En el ejemplo se usa el prefijo jorge para indicar etiquetas del espacio de nombres www.jorgesanchez.net/document y html para el espacio de nombres de HTML.

(1.8.4) espacios de nombre por defecto


En el caso de que las etiquetas, mayoritariamente, en un documento pertenezcan a un mismo espacio de nombres, lo lgico es indicar el espacio de nombres por defecto. Eso se hace sin indicar prefijo en el atributo xmlns. Ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document xmlns ="http.//www.jorgesanchez.net/document" xmlns:html="htp://www.w3c.org/html"> <title> Documento de prueba </title> <content> <html:html> <html:head> <html:title> Titulo HTML </html:title> </html:head> <html:body> Texto del documento </html:body> </html:html> (28)

1er curso de administracin de sistemas informticos en red autor: Jorge Snchez www.jorgesanchez.net

</content> <author> Jorge </author> </document> Las etiquetas sin prefijo se entiende que pertenecen al espacio de nombres www.jorgesanchez.net/document, para las del otro espacio se usa el prefijo.

(1.8.5) uso de espacios de nombres en etiquetas interiores


El atributo xmlns no tiene por qu utilizarse en el elemento raz, se puede posponer su declaracin en el primer elemento que pertenezca al espacio de nombres deseado. Por ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document xmlns ="http.//www.jorgesanchez.net/document"> <title> Documento de prueba </title> <content> <html:html xmlns:html="htp://www.w3c.org/html"> <html:head> <html:title> Titulo HTML </html:title> </html:head> <html:body> Texto del documento </html:body> </html:html> </content> <author> Jorge </author> </document>

(29)

lenguajes de marcas y sistemas de gestin de informacin


(unidad 1) lenguajes de marcas. XML

(1.8.6) uso de espacios por defecto en etiquetas interiores


Un documento puede declarar espacios por defecto en etiquetas interiores lo que permite an ms versatilidad en los documentos. Ejemplo: <?xml version="1.0" encoding="UTF-8"?> <document xmlns ="http.//www.jorgesanchez.net/document"> <!-- comienza el espacio de nombres de jorgesanchez.net --> <title> Documento de prueba </title> <content> <html xmlns="htp://www.w3c.org/html"> <!-- desde aqu el espacio ahora es el de html --> <head> <title> Titulo HTML </title> </head> <body> Texto del documento </body> </html> <!-- fin del espacio html, regresa el espacio jorgesanchez.net --> </content> <author> Jorge </author> </document>

(1.8.7) cancelar espacios por defecto


Si se usa el atributo xmlns="", entonces se est indicando (en el interior de la etiqueta en la que se use) que ese elemento y sus hijos no usan ningn espacio de nombres.

(30)

Vous aimerez peut-être aussi