Diferencia entre revisiones de «Lenguaje de marcado»

69 bytes añadidos ,  hace 9 meses
m
Corrección de erratas menores, reorganización e inclusión de nuevos enlaces internos.
(Deshecha la edición 122820465 de 81.33.245.185 (disc.))
Etiqueta: Deshacer
m (Corrección de erratas menores, reorganización e inclusión de nuevos enlaces internos.)
== 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 de archivo|formato]] del [[texto]]. Este tipo de marcado es útil para [[Maquetación (edición)|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]] (o renglón), y estar ubicado centrado en la [[página web]]. Varios programas pueden deducir la estructura del texto basándose en esta clase de datos, aunque el resultado suele ser bastante imperfecto. Un ejemplo de marcado de presentación, puede ser [[RTF]].
Un ejemplo de marcado de presentación, puede ser [[RTF]].
 
=== Marcado de procedimientos ===
 
=== 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 qué 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 (formato de redifusión)|Atom]], un lenguaje de [[Sindicación Web|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 cómo 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 concepto de lenguaje de marcas fue expuesto por primera vez 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 [[Generalized Markup Language|GML]], y posteriormente dirigió el comité 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 comúnmente 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]].
 
=== Los lenguajes primitivos ===
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 solo ha cuajado en entornos académicos, en los que es el estándar ''[[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 sistemas al olvido.
 
=== La generalización de los lenguajes de marcas ===
{{AP|Generalized Markup Language|SGML}}
 
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 Language'' con rango de Estándar Internacional con el código '''ISO 8879'''.<ref>[https://web.archive.org/web/20070208120209/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 sintaxis para la inclusión de marcas en los textos, así como la sintaxis del documento que especifica qué etiquetas están permitidas y dondedónde: el [[DTD|Document Type Definition]] o [[schema]]. Esto permitía que un autor emplease cualquier marca que quisiera, eligiendo nombres para las etiquetas que tuvieran sentido tanto por el tema del documento como por el [[idioma]]. Así, el SGML es, estrictamente hablando, un [[metalenguaje]], 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 día 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 solo principio, o solo 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.
{{AP|HTML}}
 
En [[1991]], parecía que los editores [[WYSIWYG]] (que almacenan los documentos en formatos binarios [[Software propietario|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ó drásticamente 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>{{cita libro|autor=DeRose, Steven J.|título= The SGML FAQ Book|año=[[1997]]| editorial = [[Boston]]: Kluwer Academic Publishers|isbn= 0-7923-9943-9}}</ref> argumenta que la flexibilidad y escalabilidad del marcado HTML fue uno de los principales factores, junto con el empleo de [[URL]]s y la distribución libre de [[Navegador de internet|navegadores]], del éxito de la [[World Wide Web]].
 
[[Archivo: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-lenguajemetalenguaje 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 es que logra un equilibrio entre simplicidad y flexibilidad.
 
El XML fue ideado en principio para entornos semi-estructuradossemiestructurados, 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 ===
 
=== Texto plano ===
Una de las principales ventajas de este tipo de codificación es que la gran mayoría puede ser interpretada directamente dado que son archivos de [[texto plano]], quedando excluidos algunos lenguajes de presentación que guardan la información en [[Archivo binario|archivos binarios]] como '[[.doc]]' de [[MS Word]] donde solo una pequeña parte de la información es legible. Esto es una ventaja evidente respecto a 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 solamente 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 los 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.
<tt><nowiki>*</nowiki> Punto 3</tt>
|- style="align:center;vertical-align:baseline;"
|texto en '''negrita''' || <tt><nowiki><b>texto</b></tt></nowiki>
| <tt>\bf{texto}</tt> || <tt><nowiki>'''texto'''</nowiki></tt>
|- style="align:center;vertical-align:baseline;"
|texto en ''cursiva'' || <tt><nowiki><i>texto</i></nowiki></tt>
| <tt>\it{texto}</tt> || <tt><nowiki>'' texto ''</nowiki></tt>
|}
</div>
 
El código entre corchetesparéntesis angulares como ''&lt;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 '''''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 especializados 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 esta 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 ===
|url = http://xml.coverpages.org/coombs.html
|fechaacceso = [[2006]]
}}. Originalmente publicado en [[1987]], introdujo conceptos hoy ampliamente utilizados, y sentó las bases para el desarrollo de los lenguajes descriptivos.
* {{cita web|
|apellido = A. Fernández-Valmayor, A. Navarro, B. Fernández-Manjón y J. L. Sierra
|ISSN =1139-8736|url = http://elies.rediris.es/elies24/fernandezvalmayor.htm
|fechaacceso = [[2006]]
}}.
* {{Cita web|
|apellido= Carolina García Cataño y David Arroyo Menéndez
|url= http://biblioweb.sindominio.net/telematica/bibdigwebsem/bibdigwebsem.html
|fechaacceso= [[2006]]
}}. Aplicación de los lenguajes de marcas para una [[biblioteca digital]]. Disponible bajo [[GFDL]].
* {{Cita web|
|apellido= Goldfarb
|url= http://www.sgmlsource.com/history/roots.htm
|fechaacceso= [[2006]]
}}.
* {{cita libro|autor=Goldfarb, Charles F.|título= The SGML Handbook| editorial = [[Oxford University Press]]|isbn= 0-19-853737-9}}
 
253

ediciones