Ir al contenido

Diferencia entre revisiones de «Lenguaje de marcado»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Echani (discusión · contribs.)
m wikiconcurso
Echani (discusión · contribs.)
wikiconcurso
Línea 1: Línea 1:
Un '''lenguaje de marcado''' o '''lenguaje de marcas''' es una forma de codificar documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. El lenguaje de marcas más extendido es el [[HTML]], fundamento del [[world Wide Web]]. Históricamente, el marcado se usaba y se usa en la industria [[editorial]] y de la comunicación, así como entre [[autor]]es, [[editor]]es e [[impresor]]es.
Un lenguaje de marcado cumple con dos objetivos esenciales para diseñar y procesar un documento digital:
#Separa un texto en los elementos en los que se compone, como por ejemplo un párrafo, un capítulo, etc.
#Especifica las operaciones tipográficas y funciones que debe ejecutar el programa visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital, por ejemplo, imprimir un título en itálicas.


''Un ejemplo de cómo funciona el lenguaje de marcado puede observarse en el dictado de viva voz de un documento a una persona que lo transcribe a máquina, en el tópico escenario del jefe y la secretaria: "Ponga estilo de carta. ponga comillas, ponga máyúsculas, Estimado Juan, ponga dos puntos, aparte, sangría, ponga primera letra mayúscula, te escribo esta carta, ponga negrillas, de forma muy urgente, cierre negrilla, ya que no me has enviado..." etc. etc.''
Un ejemplo de cómo funciona el lenguaje de marcado puede observarse en el [[dictado]] de viva voz de un documento a una persona que lo transcribe a [[Máquina de escribir|máquina]]:
:''Ponga estilo de carta. ponga comillas, ponga máyúsculas, Estimado Juan, ponga dos puntos, aparte, sangría, ponga primera letra mayúscula, te escribo esta carta, ponga negrillas, de forma muy urgente, cierre negrilla, ya que no me has enviado... etc''".


[[Imagen:OED-LEXX-Bungler.jpg|thumb|300px|Un lenguaje especializado basado en [[Standard Generalized Markup Language|SGML]] es el que se emplea para redactar la versión digital del ''[[Oxford English Dictionary]]''. Permite búsquedas sofisticadas, además de facilitar la conversión a [[HTML]]]]
Varios lenguajes de marcado:

*[[HTML]]
==Clases de lenguajes de marcado==
*[[XHTML]]
Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. Por ejemplo, el [[HTML]] contiene etiquetas puramente procedimentales, como la ''B'' de ''bold'' (negrita), junto con otras puramente descriptivas (''BLOCKQUOTE'', el atributo ''HREF''). El HTML también incluye el elemento ''PRE'', que indica que el texto debe representarse tal y como está escrito.

===Marcado de presentación===
El '''''marcado de presentación''''' es aquel que indica el [[formato]] del [[texto]]. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados.

Se puede tratar de averiguar la [[estructura]] de un documento de esta clase buscando pistas en el texto. Por ejemplo, el título puede ir precedido de varios [[Salto de línea|saltos de línea]], y estar ubicado centrado en la [[página]]. Varios programas pueden deducir la estructura del texto basándose en esta clase de datos, aunque el resultado suele ser bastante imperfecto.

===Marcado de procedimientos===
El '''''marcado de procedimientos''''' está enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Por ejemplo, para formatear un título, debe haber una serie de directivas inmediatamente antes del texto en cuestión, indicándole al software instrucciones tales como centrar, aumentar el tamaño de la fuente, o cambiar a [[negrita]]. Inmediatamente después del título deberá haber etiquetas inversas que reviertan estos efectos. En sistemas más avanzados se utilizan [[macro]]s o [[Pila (estructura de datos)|pilas]] que facilitan el trabajo.

Algunos ejemplos de marcado de procedimientos son [[nroff]], [[troff]], [[TeX]], y [[PostScript]]. Este tipo de marcado se ha usado extensivamente en aplicaciones de edición profesional, manipulados por [[tipógrafo]]s cualificados, ya que puede llegar a ser extremadamente complejo.

===Marcado descriptivo===
El '''''marcado descriptivo''''' o '''''semántico''''' utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en que orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el [[SGML]] y el [[XML]].

Las etiquetas pueden utilizarse para añadir al contenido cualquier clase de [[metadato]]s. Por ejemplo, el estándar [[Atom]], un lenguaje de sindicación, proporciona un método para marcar la [[hora]] "actualizada", que es el dato facilitado por el editor de cuándo ha sido modificada por última vez cierta información. El estándar no especifica como se debe representar, o siquiera si se debe representar. El software puede emplear este dato de múltiples maneras, incluyendo algunas no previstas por los diseñadores del estándar.

Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan ''tal como son'', y no ''tal como deben aparecer''. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. Por ejemplo, los [[hiperenlace]]s fueron diseñados en un principio para que un usuario que lee el texto los pulse. Sin embargo, los [[buscador]]es los emplean para localizar nuevas [[Página web|páginas]] con información relacionada, o para evaluar la popularidad de determinado [[sitio web]].

El marcado descriptivo también simplifica la tarea de reformatear un texto, debido a que la información del formato está separada del propio contenido. Por ejemplo, un fragmento indicado como ''cursiva'' <nowiki>(<i>texto</i>)</nowiki>, puede emplearse para marcar énfasis o bien para señalar palabras en otro [[idioma]]. Esta ambigüedad, presente en el marcado presentacional y en el procedimental, no puede soslayarse más que con una tediosa revisión a mano. Sin embargo, si ambos casos se hubieran diferenciado descriptivamente con etiquetas distintas, podrían representarse de manera diferente sin esfuerzo.

El marcado descriptivo está evolucionando hacia el ''marcado genérico''. Los nuevos sistemas de marcado descriptivo
estructuran los documentos en [[árbol]], con la posibilidad de añadir [[Referencia cruzada|referencias cruzadas]]. Esto permite tratarlos como [[Base de datos|bases de datos]], en las que el propio almacenamiento tiene en cuenta la estructura, no como en los [[BLOB|grandes objetos binarios]] (''blobs'') como en el pasado. Estos sitemas no tienen un esquema estricto como las [[Base de datos relacional|bases relacionales]], por lo que a menudo se las considera ''bases semiestructuradas''.

==Mapa de los lenguajes de marcas==

Esta es una relación de los principales lenguajes de marcas ordenados por su campo de aplicación. Nótese que los lenguajes de ámbito general pueden usarse para aplicaciones más específicas (pero no al revés). Para ver una lista más completa consulte [[:Categoría:Lenguajes de descripción]].

===Principales===
:'''[[Generalized Markup Languaje|GML]]''' --> '''[[SGML]]''' --> '''[[XML]]''' --> '''[[Lista de dialectos XML|Dialectos XML]]'''

===Documentos en general===
{|
|style="width:20%;margin:2%" | '''Lenguajes descriptivos'''
|style="width:20%;margin:2%" | '''Lenguajes de presentación'''
|style="width:20%;margin:2%" | '''[[Lenguaje de marcas ligero|Lenguajes ligeros]]'''
|style="width:20%;margin:2%" | '''Lenguajes para manuales'''
|-
|style="vertical-align:top"|
*[[ASN.1]]
*[[EBML]]
*[[YAML]]
|style="vertical-align:top"|
*[[RTF|Rich Text Format]]
*[[S1000D]]
*[[TeX]]
*[[TeX]]
*[[LaTeX]]
*[[troff]]
*[[HTML]]
|style="vertical-align:top"|
*[[BBCode]]
*[[Markdown]]
*[[ReStructuredText]]
*[[setext]]
*[[Textile]]
*[[Wikitexto]]
|style="vertical-align:top"|
*[[DocBook]]
*[[DocBook]]
*[[XML]]
*[[HelpML]]
*[[SGML]]
*[[LinuxDoc]]
*[[Plain Old Documentation|POD]]
*[[MathML]]
*[[Microsoft Assistance Markup Language|Microsoft Assistance ML]]
*[[XSL]]
|}
*[[Lenguajes de marcas ligeros]]

===Tecnologías de internet===
{|
|-
|style="width:20%;margin:2%" | '''World Wide Web'''
|style="width:20%;margin:2%" | '''Interfaz de usuario'''
|style="width:20%;margin:2%" | '''Sindicación'''
|style="width:20%;margin:2%" | '''Servicios web'''
|-
|style="vertical-align:top"|
*[[HTML]]
*[[XHTML]]
*[[WML|Wireless ML]]
*[[Handheld Device Markup Language|Handhelp ML]]
*[[Resource Description Framework|RDF]]
*[[Meta Content Framework]]
|style="vertical-align:top"|
*[[GladeXML]]
*[[MXML]] ([[Macromedia]])
*[[UIML|User Interface ML]]
*[[XAML]] and [[MyXaml]]
*[[XForms]]
*[[XUL]] / [[XBL]]
|style="vertical-align:top"|
*[[Atom]]
*[[RSS]]
*[[Information Content Exchange|ICE]]
*[[OPML]] y [[OML]]
*[[SyncML]]
|style="vertical-align:top"|
*[[WSDL]]
*[[XINS]]
*[[WSCL]]
*[[WSFL]]
*[[XML-RPC]]
*[[Webml]]
|}

===Lenguajes especializados===

*Gráficos 2D: [[Scalable Vector Graphics|SVG]], [[Computer Graphics Metafile|CGM]], [[Vector Markup Language|VML]], [[InkML]].
*Gráficos 3D: [[VRML]]/[[X3D]], [[ISO 10303|STEP]].
*[[Matemáticas]]: [[MathML]] y [[OpenMath]].
*Música: [[Lilypond]] y [[MusicXML]].
*[[Taxonomía]]: [[DITA]]
*[[Finanzas]]: [[XBRL|eXtensible Bussiness Reporting Language]], [[FpML|Financial products ML]].
*[[Topografía]]: [[Geography Markup Language|Geography ML]].
*[[Aeronáutica]]: [[Spacecraft Markup Language|Spacecraft ML]].
*[[Multimedia]]: [[SMIL|Synchronized Multimedia Integration Language]].
*Voz: [[VoiceXML]].
*[[Mensajería instantánea]]: [[XMPP|Extensible Messaging and Presence Protocol]].
*Juegos: [[BulletML]], [[COLLADA]].
*...

==Historia==
Los lenguajes de marcas se llaman así por la práctica tradicional de marcar los [[manuscrito]]s con instrucciones de impresión en los márgenes. En la época de la [[imprenta]], esta tarea ha correspondido a los marcadores, que indicaban el [[tipo de letra]], el estilo y el tamaño, así como la corrección de errores, para que otras personas compusieran la [[tipografía]]. Esto condujo a la creación de un grupo de marcas estandarizadas <ref>[http://www.m-w.com/mw/table/proofrea.htm Signos de corrección]</ref>. Con la introducción de los [[ordenador]]es, se trasladó un concepto similar al mundo de la [[informática]].

===Orígenes===

El concepto de lenguaje de marcas fue expuesto por vez primera por [[William W. Tunnicliffe]] en [[1967]] <ref>Conferencia titulada ''The Separation of Information Content of Documents from their Format'', celebrada en [[Ottawa]] en septiembre de 1967.</ref>. La mayor novedad consistía en la separación entre la presentación y la estructura del texto. Tunnicliffe, que prefería referirse a este concepto como ''codificación genérica'' (''generic coding''), dirigiría más tarde el desarrollo de un estándar al que bautizaría como '''[[GenCode]]''', destinado a la industria editorial. El editor [[Stanley Fish]] también expuso ideas similares a finales de los [[años 1960]]. [[Brian Reid]], en su disertación de [[1980]] en la [[Carnegie Mellon University]], mostró su teoría y una [[implementación]] práctica de un lenguaje descriptivo todavía en uso.

Sin embargo, quien es considerado el padre de los lenguajes de marcas es '''[[Charles Goldfarb]]''', investigador para la compañía [[IBM]]. Goldfarb participó en la creación del lenguaje GML, y posteriormente dirigió el comíté que elaboró el estándar [[SGML]], la piedra angular de los lenguajes de marcas. En cualquier caso, y a pesar de las controversias sobre su origen, es comunmente aceptado que la idea surgió de forma independiente varias veces durante los [[años 1970|70]], y que se generalizó en los [[Años 1980|80]].

===Los lenguajes primitivos===

El primer lenguaje que diferenció claramente la estructura de la presentación fue ciertamente el '''[[Scribe]]''', desarrollado por [[Brian Reid]] y descrito en [[1980]] en su [[tesis doctoral]] <ref>{{ref-libro|autor = Reid, Brian | título = Scribe: A Document Specification Language and its Compiler| publicación= [[Pittsburgh]]:Ph.D. thesis, Carnegie-Mellon University}}, también disponible como informe técnico, CMU-CS-81-100.</ref>. Scribe era revolucionario por varios motivos, no solo por que separaba el estilo de las propias marcas del documento, también por el control [[gramático]] del empleo de elementos descriptivos. Scribe influyó en el desarrollo de los lenguajes posteriores.

Otro de los principales estándares de publicación es '''[[TeX]]''', creado y mantenido por [[Donald Knuth]] en los años [[Años 1970|70]] y [[años 1980|80]]. TeX se centra en la estructura detallada del texto y la descripción de las [[tipo de letra|fuentes]], fundamentalmente en el campo de las publicaciones [[matemáticas]] especializadas. Esto obligó a Knuth a dedicar un tiempo considerable en el estudio de la [[tipografía]]. Sin embargo, TeX requiere amplios conocimientos para ser utilizado, por lo que sólo ha cuajado en entornos académicos, en los que es el estandar ''[[de facto]]''. en varias disciplinas científicas. El software más extendido para el empleo de TeX es [[LaTeX]].

Al margen de la industria editorial también surgieron algunas iniciativas, como los lenguajes [[troff]] y [[nroff]], lenguajes utilizados para maquetación en sistemas [[UNIX]]. Su funcionalidad era limitada porque obligaba a trabajar mediante [[ensayo y error]], hasta que las marcas insertadas en el texto ofrecieran el resultado deseado. Estos lenguajes no llegaron a cuajar en entornos profesionales, siendo utilizados por usuarios ocasionales. La aparición de procesadores de texto tipo [[WYSIWYG]] relegó a estos sitemas al olvido.

===La generalización de los lenguajes de marcas===
{{MI|[[Generalized Markup Languaje]]''' y '''[[SGML|Standard Generalized Markup Languaje]]}}

La iniciativa que sentaría las bases de los actuales lenguajes, partiría de la empresa [[IBM]], que buscaba nuevas soluciones para mantener grandes cantidades de documentos. El trabajo fue encomendado a [[Charles F. Goldfarb]], que junto con Edward Mosher y Raymond Lorie, diseñó el ''Generalized Markup Language'' o '''GML''' (nótese que también son las iniciales de sus creadores). Este lenguaje heredó del proyecto [[GenCode]] la idea de que la presentación debe separarse del contenido. El marcado, por tanto, se centra en definir la [[estructura]] del texto y no su presentación visual.

El lenguaje GML fue un gran éxito y pronto se extendió a otros ámbitos, siendo adoptado por el gobierno de [[Estados Unidos]], con lo que surgió la necesidad de [[Normalización|estandarizarlo]]. En los primeros [[años 1980]] se constituyó un comité dirigido por Goldfarb. [[Sharon Adler]], [[Anders Berglund]], y [[James D. Mason]] fueron también miembros de dicho comité. Se incorporaron ideas de diferentes fuentes, y participó gran cantidad de gente. Tras un largo proceso, en [[1986]] la [[Organización Internacional para la Estandarización]] publicaría el ''Standard Generalized Markup Languaje'' con rango de Estandar Internacional con el código '''ISO 8879''' <ref>[http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=16387 Referencia del estándar 8879 en la web del ISO]</ref>.

El SGML especifica la sintáxis para la inclusión de marcas en los textos, así como la sintáxis del documento que especifica qué etiquetas están permitidas y donde: el [[DTD|Document Type Definition]] o [[schema]]. Esto permitía que un autor emplease cualquier marca que quisiera, eligiendo normbres para las etiquetas que tuvieran sentido tanto por el tema del documento como por el [[idioma]]. Así, el SGML es, estríctamente hablando, un [[meta-lenguaje]], del que se derivan varios lenguajes especializados. Desde finales de los [[años 1980|80]] han aparecido nuevos lenguajes basados en SGML, como por ejemplo el [[Text Encoding Initiative|TEI]] o el [[DocBook]].

El SGML tuvo una gran aceptación y hoy dia se emplea en campos en los que se requiere documentación a gran escala. A pesar de ello, resultó farragoso y difícil de aprender, como consecuencia de la ambición de los objetivos previstos. Su gran potencia era a la vez una ventaja y una desventaja. Por ejemplo, ciertas etiquetas podían tener sólo principio, o sólo final, o incluso ser obviadas, pensando en que los textos serían redactados a mano y que así se ahorrarían pulsaciones de [[tecla]]s. Sin embargo fue un punto clave en el desarrollo de los lenguajes de marcas actuales, ya que la gran mayoría derivan de este.

===La popularización: el HTML===
{{MI|[[HTML|HyperText Markup Language}}
En [[1991]], parecía que los editores [[WYSIWYG]] (que almacenan los documentos en formatos binarios [[Software no libre|propietarios]]) abarcarían casi la totalidad del [[Procesador de textos|procesamiento de textos]], relegando al SGML a usos profesionales o industriales muy específicos. Sin embargo, la situación cambió drasticamente cuando Sir [[Tim Berners-Lee]], que había aprendido SGML de su compañero en el [[CERN]] Anders Berglund, utilizó la [[sintaxis]] SGML para crear el '''HTML'''.

Este lenguaje era similar a cualquier otro creado a partir del SGML, sin embargo resultó extraordinariamente sencillo, tanto que el [[DTD]] no se desarrolló hasta más tarde. DeRose<ref>{{ref-libro|autor=DeRose, Steven J.|título= The SGML FAQ Book|año=[[1997]]|publicación=[[Boston]]: Kluwer Academic Publishers|id= ISBN 0-7923-9943-9}}</ref> argumenta que la flexibilidad y escalabilidad del marcado HTML fue uno de los principales factores, junto on el empleo de [[URL]]s y la distribución libre de [[Navegador de internet|navegadores]], del éxito de la [[World Wide Web]].

El HTML es hoy día el tipo de documento más empleado en el mundo. Su sencillez era tal que cualquier persona podía escribir documentos en este formato, sin apenas necesidad de conocimientos de informática. Esta fue una de las razones de su éxito, pero también condujo a un cierto [[caos]]. El crecimiento exponencial de la web en los [[Años 1990|años 90]] produjo documentos en cantidades ingentes pero mal estructurados, problema agravado aún más por la falta de respeto por los estándares, por parte de diseñadores web y fabricantes de software.

===La madurez: el XML===
{{AP|XML}}
[[Imagen:Xml.gif|thumb|240px|Ejemplo de código XML]]
La respuesta a los problemas surgidos en torno al HTML vino de la mano del '''XML''' (e'''X'''tensible '''M'''arkup '''L'''anguage). El XML es un meta-lenguaje que permite crear etiquetas adaptadas a las necesidades (de ahí lo de "extensible"). El estándar define cómo pueden ser esas etiquetas y qué se puede hacer con ellas. Es además especialmente estricto en cuanto a lo que está permitido y lo que no, todo documento debe cumplir dos condiciones: ser '''''válido''''' y estar '''''bien formado'''''.

El XML fue desarrollado por el [[World Wide Web Consortium]] <ref>[http://www.w3.org/TR/2004/REC-xml11-20040204/ Referencia del lenguaje xml, versión 1.1]</ref>, mediante un comité creado y dirigido por [[Jon Bosak]]. El objetivo principal era simplificar <ref>[http://www.w3.org/TR/NOTE-sgml-xml.html Nota del W3C sobre las diferencias entre SGML y XML]</ref> el SGML para adaptarlo a un campo muy preciso: documentos en internet.

El nuevo lenguaje se extendió con rapidez, ya que todo documento XML es a su vez SGML. Los programas y documentos creados para y con SGML podían convertirse casi automáticamente al nuevo lenguaje. El XML simplificó radicalmente la complejidad del SGML, facilitando el aprendizaje y la implementación del nuevo estándar. Se solucionaron además viejos problemas, como los surgidos de la internacionalización, y la imposibilidad de validar un documento sin [[schema]]. El acierto fundamental de este lenguaje en que logra un equilibrio entre simplicidad y flexibilidad.

El XML fue ideado en principio para entornos semi-estructurados, como textos y publicaciones. Uno de los ejemplos más claros es el [[XHTML]], la redefinición del HTML en clave XML, con las ventajas que ello supone. Sin embargo pronto se observó que sus virtudes podían ser útiles en campos bien distintos. Los lenguajes basados en XML tienen aplicaciones incontables, como en la transacción de datos entre [[servidor]]es, intercambio de información [[Finanzas|financiera]], [[Fórmula química|fórmulas]] y [[Reacción química|reacciones]] [[química]]s, y un largo etcétera .

===Tendencias===
Las nuevas tendencias están abandonando los documentos con [[estructura en árbol]]. Los textos de la [[literatura]] antigua suelen tener estructura de [[prosa]] o de [[poesía]]: [[versículo]]s, [[párrafo]]s, etc. Los documentos de referencia suelen organizarse en [[libro]]s, [[capítulo]]s, [[verso]]s y [[línea]]s. A menudo se entremezclan unos con otros, por lo que la estructura en árbol no se ajusta a sus necesidades. Los nuevos sistemas de modelado superan estos inconvenientes, como el [[MECS]], diseñado para la obra de [[Wittgenstein]], o las [[TEI Guidelines]], [[LMNL]], and [[CLIX]].

La ''Iniciativa de codificación de textos'' o [[Text Encoding Initiative]] (TEI) ha publicado multitud de guías<ref>[http://www.tei-c.org/ Sitio web del consorcio TEI]</ref> para la codificación de documentos de interés en [[humanidades]] y [[ciencias sociales]], desarollados durante años de trabajo colaborativo internacional. Estas directrices se han empleado en innumerables proyectos de catalogación de documentos históricos, trabajos académicos, etc.

===La web semántica===
{{AP|Web semántica}}
Los lenguajes de marcado son la herramienta fundamental en el diseño de la '''''web semántica''''', aquella que no solo permite acceder a la [[información]], sino que además define su significado, de forma que sea más fácil su procesamiento automático y se pueda reutilizar para distintas aplicaciones <ref>[http://www.w3.org/2001/sw/ Web semática en el W3C]</ref>. Esto se consigue añadiendo datos adicionales a los documentos, por medio de dos lenguajes expresamente creados: el [[RDF]] (''Resource descriptión framework''-Plataforma de descripción de recursos) y [[OWL]] (''Web Ontology Language''-Lenguaje de [[ontología]]s para la web), ambos basados en XML.

==Características==

===Texto plano===

Una de las principales ventajas de este tipo de codificación es que puede ser interpretada directamente, dado que son archivos de [[texto plano]]. Esto es una ventaja evidente respecto al los sistemas de [[Archivo binario|archivos binarios]], que requieren siempre de un programa intermediario para trabajar con ellos. Un documento escrito con lenguajes de marcado puede ser editado por un usuario con un sencillo [[editor de texto]]s, sin perjuicio de que se puedan utilizar programas más sofisticados que faciliten el trabajo.

Al tratarse únicamente de texto, los documentos son independientes de la plataforma, [[sistema operativo]] o [[Programa informático|programa]] con el que fueron creados. Esta fue una de las premisas de los creadores de GML en lo años [[años 1970|70]], para no añadir restricciones innecesarias al intercambio de información. Es una de las razones fundamentales de la gran aceptación que han tenido en el pasado y del excelente futuro que se les augura.

===Compacidad===

Las instrucciones de marcado se entremezclan con el propio contenido en un único archivo o flujo de datos. Este es un ejemplo en diferentes lenguajes de marcas:

<div align="center">
{| {{tablabonita}}
|- style="background-color:#EFEFEF;"
! Ejemplos
! HTML
! LaTeX
! Wikipedia
|- style="vertical-align:baseline;"
|Título
| <nowiki><h1>Título</h1></nowiki>
| \section{Título}
| <nowiki>== Título ==</nowiki>
|- style="vertical-align:baseline;"
|Lista
|
<nowiki><ul></nowiki><br/>
<nowiki><li>Punto 1</li></nowiki><br/>
<nowiki><li>Punto 2</li></nowiki><br/>
<nowiki><li>Punto 3</li></nowiki><br/>
<nowiki></ul></nowiki>
|
\begin{itemize}<br/>
\item Punto 1<br/>
\item Punto 2<br/>
\item Punto 3<br/>
\end{itemize}
|
<nowiki>*</nowiki> Punto 1<br/>
<nowiki>*</nowiki> Punto 2<br/>
<nowiki>*</nowiki> Punto 3
|- style="vertical-align:baseline;"
|texto en '''negrita''' || <nowiki><b>texto</b></nowiki>
| \bf{texto} || <nowiki>' ' ' texto ' ' '</nowiki>
|- style="vertical-align:baseline;"
|texto en ''cursiva'' || <nowiki><i>texto</i></nowiki>
| \i{texto} || <nowiki>' ' texto ' '</nowiki>
|}
</div>

El código entre corchetes com ''&lt;ul&gt;'', o con códigos ''\section'', son instrucciones de marcado, también llamados etiquetas. Estas etiquetas en concreto son descriptivas de la estructura del documento, pudiendo ser su presentación visual de varias maneras. La etiqueta '''i''' (de '''''i'''talics'', cursiva), por el contrario, especifica que el texto se debe mostrar en cursiva, sin especificar el motivo de esta diferenciación: es una etiqueta presentacional. El texto entre estas instrucciones es el propio contenido del documento.

===Facilidad de procesamiento===

Las organizaciones de estándares han venido desarrollando lenguajes especíalizados para los tipos de documentos de comunidades o industrias concretas. Uno de los primeros fue el [[CALS]], utilizado por las [[Fuerzas Armadas de los Estados Unidos|fuerzas armadas de EE.UU.]] para sus manuales técnicos. Otras industrias con necesidad de gran cantidad de documentación, como las de [[aeronáutica]], [[telecomunicaciones]], [[automoción]] o [[hardware]], ha elaborado lenguajes adaptados a sus necesidades. Esto ha conducido a que sus manuales se editen únicamente en versión electrónica, y después se obtenga a partir de ésta las versiones impresas, [[en línea]] o en [[Disco compacto|CD]]. Un ejemplo notable fue el caso de [[Sun Microsystems]], empresa que optó por escribir la documentación de sus productos en [[SGML]], ahorrando [[coste]]s considerables. El responsable de aquella decisión fue Jon Bosak, que más tarde fundaría el comité del XML.

===Flexibilidad===

Aunque originalmente los lenguajes de marcas se idearon para documentos de texto, se han empezado a utilizar en áreas como [[Gráfico vectorial|gráficos vectoriales]], [[Servicio Web|sevicios web]], [[sindicación web]] o [[Interfaz de usuario|interfaces de usuario]]. Estas nuevas aplicaciones aprovechan la sencillez y potencia del lenguaje XML. Esto ha permitido que se pueda combinar varios lenguajes de marcas diferentes en un único archivo, como en el caso de XHTML+SMILy de XHTML+MathML+SVG <ref>[http://www.w3.org/TR/2002/WD-XHTMLplusMathMLplusSVG-20020809/ XHTML+MathML+SVG en la web del W3C].</ref>.

==Notas==
<references />

==Vea también==
*[[Lenguaje de programación]]
*[[Formato de archivo]]
*[[Hojas de estilo en cascada]] (''Cascading Style Sheets'' o ''CSS'')
*Presentación visual de documentos XML: [[XSL]], [[XSL-FO]] y [[XSLT]]
*Estructura de documentos: [[DTD|Document Type Definition]] y [[schema]]


==Referencias==

*{{ref-internet|
|Apellido = James H. Coombs, Allen H. Renear, Steven J. DeRose
|Nombre =
|Vínculo autor =
|Título = Markup Systems and the Future of Scholarly Text Processing
|Año = [[1995]]
|Edición =
|Lugar = [[Detroit]], [[Estados Unidos]]
|Editorial = Universidad de Michigan
|ID =
|ISBN = .
|URL = http://xml.coverpages.org/coombs.html
|Fecha de acceso = [[2006]]
|}}. Originalmente publicado en [[1987]], introdujo conceptos hoy ampliamente utilizados, y sentó las bases para el desarrollo de los lenguajes descriptivos.
*{{ref-internet|
|Apellido = A. Fernández-Valmayor, A. Navarro, B. Fernández-Manjón y J. L. Sierra
|Nombre =
|Vínculo autor =
|Título =Lenguajes de programación, lenguajes de marcado y modelos hipermedia: una visión interesada de la evolución de los lenguajes informáticos
|Año =
|Edición =
|Lugar = [[Madrid]]
|Editorial = [[Universidad Complutense]]
|ID = ISSN: 1139-8736
|ISBN =
|URL = http://elies.rediris.es/elies24/fernandezvalmayor.htm
|Fecha de acceso = [[2006]]
|}}.
*{{ref-internet|
|Apellido = Carolina García Cataño y David Arroyo Menéndez
|Nombre =
|Vínculo autor =
|Título =Biblioteca Digital y Web Semántica
|Año =[[2002]]
|Edición = [http://biblioweb.sindominio.net/telematica/ BiblioWeb de SinDominio]
|Lugar =
|Editorial =
|ID =
|ISBN =
|URL = http://biblioweb.sindominio.net/telematica/bibdigwebsem/bibdigwebsem.html
|Fecha de acceso = [[2006]]
|}}. Aplicación de los lenguajes de marcas para una [[biblioteca digital]]. Disponible bajo [[GFDL]].
*{{ref-internet|
|Apellido = Goldfarb
|Nombre = Charles F.
|Vínculo autor = Charles F. Goldfarb
|Título =The Roots of SGML -- A Personal Recollection
|Año =[[1996]]
|Edición =
|Lugar =
|Editorial =
|ID =
|ISBN =
|URL = http://www.sgmlsource.com/history/roots.htm
|Fecha de acceso = [[2006]]
|}}.
*{{ref-libro|autor=Goldfarb, Charles F.|título= The SGML Handbook|año=|publicación=Oxford University Press|id= ISBN 0198537379}}

==Enlaces externos==
*Organizaciones de estándares:
** [http://www.w3.org/Markup Lenguajes de marcas según el World Wide Web Consortium (W3C)]
** [http://www.iso.org/ International Organization for Standardization (ISO)]
*Artículos:
** [http://www.hipertexto.info/documentos/lenguajes_h.htm Tesis doctoral sobre lenguajes de marcas]
** Dos artículos de [[Tim Berners-Lee]]: [http://www.w3.org/DesignIssues/Metadata.html Metadata Architecture] y [http://www.w3.org/DesignIssues/Semantic.html Semantic Web Road map]
*Eventos:
** [http://www.extrememarkup.com/ Web de la conferencia Extreme Markup Languajes]


{{wikiconcurso|[[Usuario:Echani|Echani]] ([[Usuario Discusión:Echani|discusión]]) 14:21 21 jul 2006 (CEST)}}
{{wikiconcurso|[[Usuario:Echani|Echani]] ([[Usuario Discusión:Echani|discusión]]) 14:21 21 jul 2006 (CEST)}}

Revisión del 17:31 4 ago 2006

Un lenguaje de marcado o lenguaje de marcas es una forma de codificar documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. El lenguaje de marcas más extendido es el HTML, fundamento del world Wide Web. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores.

Un ejemplo de cómo funciona el lenguaje de marcado puede observarse en el dictado de viva voz de un documento a una persona que lo transcribe a máquina:

Ponga estilo de carta. ponga comillas, ponga máyúsculas, Estimado Juan, ponga dos puntos, aparte, sangría, ponga primera letra mayúscula, te escribo esta carta, ponga negrillas, de forma muy urgente, cierre negrilla, ya que no me has enviado... etc".
Un lenguaje especializado basado en SGML es el que se emplea para redactar la versión digital del Oxford English Dictionary. Permite búsquedas sofisticadas, además de facilitar la conversión a HTML

Clases de lenguajes de marcado

Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. Por ejemplo, el HTML contiene etiquetas puramente procedimentales, como la B de bold (negrita), junto con otras puramente descriptivas (BLOCKQUOTE, el atributo HREF). El HTML también incluye el elemento PRE, que indica que el texto debe representarse tal y como está escrito.

Marcado de presentación

El marcado de presentación es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados.

Se puede tratar de averiguar la estructura de un documento de esta clase buscando pistas en el texto. Por ejemplo, el título puede ir precedido de varios saltos de línea, y estar ubicado centrado en la página. Varios programas pueden deducir la estructura del texto basándose en esta clase de datos, aunque el resultado suele ser bastante imperfecto.

Marcado de procedimientos

El marcado de procedimientos está enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Por ejemplo, para formatear un título, debe haber una serie de directivas inmediatamente antes del texto en cuestión, indicándole al software instrucciones tales como centrar, aumentar el tamaño de la fuente, o cambiar a negrita. Inmediatamente después del título deberá haber etiquetas inversas que reviertan estos efectos. En sistemas más avanzados se utilizan macros o pilas que facilitan el trabajo.

Algunos ejemplos de marcado de procedimientos son nroff, troff, TeX, y PostScript. Este tipo de marcado se ha usado extensivamente en aplicaciones de edición profesional, manipulados por tipógrafos cualificados, ya que puede llegar a ser extremadamente complejo.

Marcado descriptivo

El marcado descriptivo o semántico utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en que orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el SGML y el XML.

Las etiquetas pueden utilizarse para añadir al contenido cualquier clase de metadatos. Por ejemplo, el estándar Atom, un lenguaje de sindicación, proporciona un método para marcar la hora "actualizada", que es el dato facilitado por el editor de cuándo ha sido modificada por última vez cierta información. El estándar no especifica como se debe representar, o siquiera si se debe representar. El software puede emplear este dato de múltiples maneras, incluyendo algunas no previstas por los diseñadores del estándar.

Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan tal como son, y no tal como deben aparecer. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. Por ejemplo, los hiperenlaces fueron diseñados en un principio para que un usuario que lee el texto los pulse. Sin embargo, los buscadores los emplean para localizar nuevas páginas con información relacionada, o para evaluar la popularidad de determinado sitio web.

El marcado descriptivo también simplifica la tarea de reformatear un texto, debido a que la información del formato está separada del propio contenido. Por ejemplo, un fragmento indicado como cursiva (<i>texto</i>), puede emplearse para marcar énfasis o bien para señalar palabras en otro idioma. Esta ambigüedad, presente en el marcado presentacional y en el procedimental, no puede soslayarse más que con una tediosa revisión a mano. Sin embargo, si ambos casos se hubieran diferenciado descriptivamente con etiquetas distintas, podrían representarse de manera diferente sin esfuerzo.

El marcado descriptivo está evolucionando hacia el marcado genérico. Los nuevos sistemas de marcado descriptivo estructuran los documentos en árbol, con la posibilidad de añadir referencias cruzadas. Esto permite tratarlos como bases de datos, en las que el propio almacenamiento tiene en cuenta la estructura, no como en los grandes objetos binarios (blobs) como en el pasado. Estos sitemas no tienen un esquema estricto como las bases relacionales, por lo que a menudo se las considera bases semiestructuradas.

Mapa de los lenguajes de marcas

Esta es una relación de los principales lenguajes de marcas ordenados por su campo de aplicación. Nótese que los lenguajes de ámbito general pueden usarse para aplicaciones más específicas (pero no al revés). Para ver una lista más completa consulte Categoría:Lenguajes de descripción.

Principales

GML --> SGML --> XML --> Dialectos XML

Documentos en general

Lenguajes descriptivos Lenguajes de presentación Lenguajes ligeros Lenguajes para manuales

Tecnologías de internet

World Wide Web Interfaz de usuario Sindicación Servicios web

Lenguajes especializados

Historia

Los lenguajes de marcas se llaman así por la práctica tradicional de marcar los manuscritos con instrucciones de impresión en los márgenes. En la época de la imprenta, esta tarea ha correspondido a los marcadores, que indicaban el tipo de letra, el estilo y el tamaño, así como la corrección de errores, para que otras personas compusieran la tipografía. Esto condujo a la creación de un grupo de marcas estandarizadas [1]​. Con la introducción de los ordenadores, se trasladó un concepto similar al mundo de la informática.

Orígenes

El concepto de lenguaje de marcas fue expuesto por vez primera por William W. Tunnicliffe en 1967 [2]​. La mayor novedad consistía en la separación entre la presentación y la estructura del texto. Tunnicliffe, que prefería referirse a este concepto como codificación genérica (generic coding), dirigiría más tarde el desarrollo de un estándar al que bautizaría como GenCode, destinado a la industria editorial. El editor Stanley Fish también expuso ideas similares a finales de los años 1960. Brian Reid, en su disertación de 1980 en la Carnegie Mellon University, mostró su teoría y una implementación práctica de un lenguaje descriptivo todavía en uso.

Sin embargo, quien es considerado el padre de los lenguajes de marcas es Charles Goldfarb, investigador para la compañía IBM. Goldfarb participó en la creación del lenguaje GML, y posteriormente dirigió el comíté que elaboró el estándar SGML, la piedra angular de los lenguajes de marcas. En cualquier caso, y a pesar de las controversias sobre su origen, es comunmente aceptado que la idea surgió de forma independiente varias veces durante los 70, y que se generalizó en los 80.

Los lenguajes primitivos

El primer lenguaje que diferenció claramente la estructura de la presentación fue ciertamente el Scribe, desarrollado por Brian Reid y descrito en 1980 en su tesis doctoral [3]​. Scribe era revolucionario por varios motivos, no solo por que separaba el estilo de las propias marcas del documento, también por el control gramático del empleo de elementos descriptivos. Scribe influyó en el desarrollo de los lenguajes posteriores.

Otro de los principales estándares de publicación es TeX, creado y mantenido por Donald Knuth en los años 70 y 80. TeX se centra en la estructura detallada del texto y la descripción de las fuentes, fundamentalmente en el campo de las publicaciones matemáticas especializadas. Esto obligó a Knuth a dedicar un tiempo considerable en el estudio de la tipografía. Sin embargo, TeX requiere amplios conocimientos para ser utilizado, por lo que sólo ha cuajado en entornos académicos, en los que es el estandar de facto. en varias disciplinas científicas. El software más extendido para el empleo de TeX es LaTeX.

Al margen de la industria editorial también surgieron algunas iniciativas, como los lenguajes troff y nroff, lenguajes utilizados para maquetación en sistemas UNIX. Su funcionalidad era limitada porque obligaba a trabajar mediante ensayo y error, hasta que las marcas insertadas en el texto ofrecieran el resultado deseado. Estos lenguajes no llegaron a cuajar en entornos profesionales, siendo utilizados por usuarios ocasionales. La aparición de procesadores de texto tipo WYSIWYG relegó a estos sitemas al olvido.

La generalización de los lenguajes de marcas

Plantilla:MI

La iniciativa que sentaría las bases de los actuales lenguajes, partiría de la empresa IBM, que buscaba nuevas soluciones para mantener grandes cantidades de documentos. El trabajo fue encomendado a Charles F. Goldfarb, que junto con Edward Mosher y Raymond Lorie, diseñó el Generalized Markup Language o GML (nótese que también son las iniciales de sus creadores). Este lenguaje heredó del proyecto GenCode la idea de que la presentación debe separarse del contenido. El marcado, por tanto, se centra en definir la estructura del texto y no su presentación visual.

El lenguaje GML fue un gran éxito y pronto se extendió a otros ámbitos, siendo adoptado por el gobierno de Estados Unidos, con lo que surgió la necesidad de estandarizarlo. En los primeros años 1980 se constituyó un comité dirigido por Goldfarb. Sharon Adler, Anders Berglund, y James D. Mason fueron también miembros de dicho comité. Se incorporaron ideas de diferentes fuentes, y participó gran cantidad de gente. Tras un largo proceso, en 1986 la Organización Internacional para la Estandarización publicaría el Standard Generalized Markup Languaje con rango de Estandar Internacional con el código ISO 8879 [4]​.

El SGML especifica la sintáxis para la inclusión de marcas en los textos, así como la sintáxis del documento que especifica qué etiquetas están permitidas y donde: el Document Type Definition o schema. Esto permitía que un autor emplease cualquier marca que quisiera, eligiendo normbres para las etiquetas que tuvieran sentido tanto por el tema del documento como por el idioma. Así, el SGML es, estríctamente hablando, un meta-lenguaje, del que se derivan varios lenguajes especializados. Desde finales de los 80 han aparecido nuevos lenguajes basados en SGML, como por ejemplo el TEI o el DocBook.

El SGML tuvo una gran aceptación y hoy dia se emplea en campos en los que se requiere documentación a gran escala. A pesar de ello, resultó farragoso y difícil de aprender, como consecuencia de la ambición de los objetivos previstos. Su gran potencia era a la vez una ventaja y una desventaja. Por ejemplo, ciertas etiquetas podían tener sólo principio, o sólo final, o incluso ser obviadas, pensando en que los textos serían redactados a mano y que así se ahorrarían pulsaciones de teclas. Sin embargo fue un punto clave en el desarrollo de los lenguajes de marcas actuales, ya que la gran mayoría derivan de este.

La popularización: el HTML

{{MI|[[HTML|HyperText Markup Language}} En 1991, parecía que los editores WYSIWYG (que almacenan los documentos en formatos binarios propietarios) abarcarían casi la totalidad del procesamiento de textos, relegando al SGML a usos profesionales o industriales muy específicos. Sin embargo, la situación cambió drasticamente cuando Sir Tim Berners-Lee, que había aprendido SGML de su compañero en el CERN Anders Berglund, utilizó la sintaxis SGML para crear el HTML.

Este lenguaje era similar a cualquier otro creado a partir del SGML, sin embargo resultó extraordinariamente sencillo, tanto que el DTD no se desarrolló hasta más tarde. DeRose[5]​ argumenta que la flexibilidad y escalabilidad del marcado HTML fue uno de los principales factores, junto on el empleo de URLs y la distribución libre de navegadores, del éxito de la World Wide Web.

El HTML es hoy día el tipo de documento más empleado en el mundo. Su sencillez era tal que cualquier persona podía escribir documentos en este formato, sin apenas necesidad de conocimientos de informática. Esta fue una de las razones de su éxito, pero también condujo a un cierto caos. El crecimiento exponencial de la web en los años 90 produjo documentos en cantidades ingentes pero mal estructurados, problema agravado aún más por la falta de respeto por los estándares, por parte de diseñadores web y fabricantes de software.

La madurez: el XML

Ejemplo de código XML

La respuesta a los problemas surgidos en torno al HTML vino de la mano del XML (eXtensible Markup Language). El XML es un meta-lenguaje que permite crear etiquetas adaptadas a las necesidades (de ahí lo de "extensible"). El estándar define cómo pueden ser esas etiquetas y qué se puede hacer con ellas. Es además especialmente estricto en cuanto a lo que está permitido y lo que no, todo documento debe cumplir dos condiciones: ser válido y estar bien formado.

El XML fue desarrollado por el World Wide Web Consortium [6]​, mediante un comité creado y dirigido por Jon Bosak. El objetivo principal era simplificar [7]​ el SGML para adaptarlo a un campo muy preciso: documentos en internet.

El nuevo lenguaje se extendió con rapidez, ya que todo documento XML es a su vez SGML. Los programas y documentos creados para y con SGML podían convertirse casi automáticamente al nuevo lenguaje. El XML simplificó radicalmente la complejidad del SGML, facilitando el aprendizaje y la implementación del nuevo estándar. Se solucionaron además viejos problemas, como los surgidos de la internacionalización, y la imposibilidad de validar un documento sin schema. El acierto fundamental de este lenguaje en que logra un equilibrio entre simplicidad y flexibilidad.

El XML fue ideado en principio para entornos semi-estructurados, como textos y publicaciones. Uno de los ejemplos más claros es el XHTML, la redefinición del HTML en clave XML, con las ventajas que ello supone. Sin embargo pronto se observó que sus virtudes podían ser útiles en campos bien distintos. Los lenguajes basados en XML tienen aplicaciones incontables, como en la transacción de datos entre servidores, intercambio de información financiera, fórmulas y reacciones químicas, y un largo etcétera .

Tendencias

Las nuevas tendencias están abandonando los documentos con estructura en árbol. Los textos de la literatura antigua suelen tener estructura de prosa o de poesía: versículos, párrafos, etc. Los documentos de referencia suelen organizarse en libros, capítulos, versos y líneas. A menudo se entremezclan unos con otros, por lo que la estructura en árbol no se ajusta a sus necesidades. Los nuevos sistemas de modelado superan estos inconvenientes, como el MECS, diseñado para la obra de Wittgenstein, o las TEI Guidelines, LMNL, and CLIX.

La Iniciativa de codificación de textos o Text Encoding Initiative (TEI) ha publicado multitud de guías[8]​ para la codificación de documentos de interés en humanidades y ciencias sociales, desarollados durante años de trabajo colaborativo internacional. Estas directrices se han empleado en innumerables proyectos de catalogación de documentos históricos, trabajos académicos, etc.

La web semántica

Los lenguajes de marcado son la herramienta fundamental en el diseño de la web semántica, aquella que no solo permite acceder a la información, sino que además define su significado, de forma que sea más fácil su procesamiento automático y se pueda reutilizar para distintas aplicaciones [9]​. Esto se consigue añadiendo datos adicionales a los documentos, por medio de dos lenguajes expresamente creados: el RDF (Resource descriptión framework-Plataforma de descripción de recursos) y OWL (Web Ontology Language-Lenguaje de ontologías para la web), ambos basados en XML.

Características

Texto plano

Una de las principales ventajas de este tipo de codificación es que puede ser interpretada directamente, dado que son archivos de texto plano. Esto es una ventaja evidente respecto al los sistemas de archivos binarios, que requieren siempre de un programa intermediario para trabajar con ellos. Un documento escrito con lenguajes de marcado puede ser editado por un usuario con un sencillo editor de textos, sin perjuicio de que se puedan utilizar programas más sofisticados que faciliten el trabajo.

Al tratarse únicamente de texto, los documentos son independientes de la plataforma, sistema operativo o programa con el que fueron creados. Esta fue una de las premisas de los creadores de GML en lo años 70, para no añadir restricciones innecesarias al intercambio de información. Es una de las razones fundamentales de la gran aceptación que han tenido en el pasado y del excelente futuro que se les augura.

Compacidad

Las instrucciones de marcado se entremezclan con el propio contenido en un único archivo o flujo de datos. Este es un ejemplo en diferentes lenguajes de marcas:

Ejemplos HTML LaTeX Wikipedia
Título <h1>Título</h1> \section{Título} == Título ==
Lista

<ul>
<li>Punto 1</li>
<li>Punto 2</li>
<li>Punto 3</li>
</ul>

\begin{itemize}
\item Punto 1
\item Punto 2
\item Punto 3
\end{itemize}

* Punto 1
* Punto 2
* Punto 3

texto en negrita <b>texto</b> \bf{texto} ' ' ' texto ' ' '
texto en cursiva <i>texto</i> \i{texto} ' ' texto ' '

El código entre corchetes com <ul>, o con códigos \section, son instrucciones de marcado, también llamados etiquetas. Estas etiquetas en concreto son descriptivas de la estructura del documento, pudiendo ser su presentación visual de varias maneras. La etiqueta i (de italics, cursiva), por el contrario, especifica que el texto se debe mostrar en cursiva, sin especificar el motivo de esta diferenciación: es una etiqueta presentacional. El texto entre estas instrucciones es el propio contenido del documento.

Facilidad de procesamiento

Las organizaciones de estándares han venido desarrollando lenguajes especíalizados para los tipos de documentos de comunidades o industrias concretas. Uno de los primeros fue el CALS, utilizado por las fuerzas armadas de EE.UU. para sus manuales técnicos. Otras industrias con necesidad de gran cantidad de documentación, como las de aeronáutica, telecomunicaciones, automoción o hardware, ha elaborado lenguajes adaptados a sus necesidades. Esto ha conducido a que sus manuales se editen únicamente en versión electrónica, y después se obtenga a partir de ésta las versiones impresas, en línea o en CD. Un ejemplo notable fue el caso de Sun Microsystems, empresa que optó por escribir la documentación de sus productos en SGML, ahorrando costes considerables. El responsable de aquella decisión fue Jon Bosak, que más tarde fundaría el comité del XML.

Flexibilidad

Aunque originalmente los lenguajes de marcas se idearon para documentos de texto, se han empezado a utilizar en áreas como gráficos vectoriales, sevicios web, sindicación web o interfaces de usuario. Estas nuevas aplicaciones aprovechan la sencillez y potencia del lenguaje XML. Esto ha permitido que se pueda combinar varios lenguajes de marcas diferentes en un único archivo, como en el caso de XHTML+SMILy de XHTML+MathML+SVG [10]​.

Notas

  1. Signos de corrección
  2. Conferencia titulada The Separation of Information Content of Documents from their Format, celebrada en Ottawa en septiembre de 1967.
  3. Reid, Brian. «Scribe: A Document Specification Language and its Compiler». Pittsburgh:Ph.D. thesis, Carnegie-Mellon University. , también disponible como informe técnico, CMU-CS-81-100.
  4. Referencia del estándar 8879 en la web del ISO
  5. DeRose, Steven J. (1997). «The SGML FAQ Book». Boston: Kluwer Academic Publishers. ISBN 0-7923-9943-9. 
  6. Referencia del lenguaje xml, versión 1.1
  7. Nota del W3C sobre las diferencias entre SGML y XML
  8. Sitio web del consorcio TEI
  9. Web semática en el W3C
  10. XHTML+MathML+SVG en la web del W3C.

Vea también


Referencias

Enlaces externos