Lenguaje marcas
Enviado por Programa Chuletas y clasificado en Otras materias
Escrito el en español con un tamaño de 20,88 KB
CLASIFICACIÓN
En los documentos electrónicos, el marcado es el término empleado para describir los códigos, denominados también etiquetas, añadidos al texto electrónico que definen la estructura y el formato en el que tiene que aparecer. Se utilizan para propósitos muy diferentes como son la escritura, la impresión, el intercambio, la presentación de pantallas, etc. La gran variedad de lenguajes de marcado y su patente incompatibilidad constituyen la causa de los problemas que se plantean al intercambiar un documento entre plataformas heterogéneas. Los lenguajes estándar proporcionan una manera de solventar este hecho, ya que son independientes de la aplicación y de la plataforma hardware, empleando para marcar el documento, en la mayoría de los casos, código ASCII.
Es importante distinguir entre la estructura y el formato del documento. La estructura se refiere a los elementos con los que se organiza el documento y el formato se refiere a cómo se presentan estos documentos. Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento
Marcado de presentación
El marcado de presentación es aquel que indica el formato del texto. 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.
Marcado de procedimientos
El marcado de procedimientos está enfocado hacia la presentación del texto, 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. En sistemas más avanzados se utilizan macros o pilas que facilitan el trabajo.
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. 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. 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.
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. Estos sistemas no tienen un esquema estricto como las bases relacionales, por lo que a menudo se las considera bases semiestructuradas.La popularización: el HTML
En 1991, parecía que los editores WYSIWYG abarcarían casi la totalidad del procesamiento de textos, relegando al SGML a usos profesionales o industriales muy específicos. Se 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. 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 antidades ingentes pero mal estructurados
La madurez: el 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. El objetivo principal era simplificar 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 XML fue ideado en principio para entornos semi-estructurados, como textos y publicaciones. 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.
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 solamente de texto, los documentos son independientes de la plataforma, sistema operativo o programa con el que fueron creados.
Compacidad
Las instrucciones de marcado se entremezclan con el propio contenido en un único archivo o flujo de datos.
El código entre corchetes com
, 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 especializados para los tipos de documentos de comunidades o industrias
concretas. Otras industrias con necesidad de gran cantidad de documentación, ha elaborado lenguajes adaptados a sus necesidades. Esto ha conducido a que sus manuales se editen únicamente en versión electrónica.
XML Estructura y sintaxis
XML, eXtensible Markup Language, es un lenguaje de marcado, como HTML, como su nombre hace presuponer. Pero es un lenguaje de marcado especial, de hecho es más bien un metalenguaje que nos permite definir nuestros propios lenguajes de marcado adaptados a nuestras necesidades. XML y HTML tienen el mismo origen, el metalenguaje SGML (Standard Generalized Markup Language). SGML etiqueta la información, consiguiendo así tener identificada cada parte de la misma. Este etiquetado sigue unas reglas, unos DTD (Document Type Definition), que explican qué tipos de etiquetas puede contener el archivo SGML, con qué atributos y la forma de relacionarse entre sí. HTML viene a ser un tipo de archivo SGML con un DTD concreto. XML es una reducción de SGML, de modo que conserva casi todas sus características pero es más sencillo de manejar y de aplicar, orientándose de este modo a su utilización en Internet.
XML es un lenguaje descriptivo lo que significa que las etiquetas identifican el tipo de contenido que contienen, es decir crea una estructura de datos contenidos en etiquetas semánticas, etiquetas que tienen un significado para la lectura humana. Los datos en XML se engloban en etiquetas, delimitadas por los caracteres <>:
Contiene datos, por tanto se deben escribir dos marcas, la de inicio de etiqueta y la de fin de etiqueta. Etiquetas vacías "/>"
Hay un tipo de etiquetas especiales que son las declaraciones que, dentro de un documento XML van a servir para declarar elementos necesarios para la interpretación de dicho HTML. Lo primero que tenemos que observar es la primera línea.
Con ella deben empezar todos los documentos XML, ya que es la que indica que lo que la sigue es XML. Aunque es opcional, es recomendable incluirla.
Puede tener varios atributos, unos obligatorios y otros no:
- version: Indica la versión de XML usada en el documento. Es obligatorio ponerlo, a no ser que sea un documento externo a otro que ya lo incluía.
- encoding: La forma en que se ha codificado el documento. Se puede poner cualquiera, y depende del parser(analizador) el entender o no la
codificación. Por defecto es UTF-8, aunque podrían ponerse otras, como UTF-16, US-ASCII, ISO-8859-1, etc. No es obligatorio salvo que sea un
documento externo a otro principal.
- standalone: Indica si el documento va acompañado de un DTD ("no"), o no lo necesita ("yes"); en principio no hay porqué ponerlo, porque luego se indica el DTD si se necesita.
La "declaración de tipo de documento" define qué tipo de documento estamos creando para ser procesado correctamente. Es decir, definimos que declaración de tipo de documento (DTD) valida y define los datos que contiene nuestro documento XML.
En ella se define el tipo de documento, y dónde encontrar la información sobre su Definición de Tipo de Documento, mediante:
- Un identificador público (PUBLIC): que hace referencia a dicha DTD.
- Identificador universal de recursos (URI): precedido de la palabra SYSTEM.
Las etiquetas pueden contener atributos que almacenan características del elemento. Es importante decir que los atributos no le proporcionan esas características, sino que únicamente las almacenan.
Existen otros tipos de datos como las entidades predefinidas que permiten introducir caracteres especiales; estas entidades se pueden definir en el DTD o schema
También existen las secciones CDATA que permiten especificar datos, utilizando cualquier carácter, especial o no, sin que se interprete como marcado.
ELABORACIÓN DE DOCUMENTOS XML BIEN FORMADOS
Existen dos estados de validación de documentos XML: los bien-formados y los válidos.
W3C Word Wide Web Consorcio
Tim Berners-Lee y otros, crearon el W3C como un consorcio dedicado a producir consenso en relación a las tecnologías Web. Berners-Lee, que inventó la World Wide Web en 1989, mientras trabajaba en la Organización Europea de Investigación Nuclear (CERN), ha sido el director del W3C desde que se fundó en 1994.
El Consorcio World Wide Web (W3C) es un consorcio internacional donde las organizaciones miembros, trabajan conjuntamente para desarrollar estándares Web. La misión del W3C es:
Guiar la Web hacia su máximo potencial a través del desarrollo de protocolos y pautas que aseguren el crecimiento futuro de la Web.
XML bien formado (well-formed)
Un documento XML está bien formado si cumple con todas las especificaciones del W3C:
- Estructura jerárquica de elementos: los documentos XML deben seguir una estructura estrictamente jerárquica. Una etiqueta debe estar correctamente "incluida" en otra. Los elementos con contenido, deben estar correctamente "cerrados".
- Etiquetas vacías: permite elementos sin contenido, vacíos, la etiqueta debe cerrarse:
- Un solo elemento raíz: los documentos XML sólo permiten un elemento raíz, del que todos los demás sean parte.
- Valores de atributos: los valores de atributos, al contrario de HTML, siempre deben estar encerradas en comillas simples o dobles
- Tipo de letra y espacios en blanco: es sensible al tipo de letra utilizado, trata las mayúsculas y minúsculas como caracteres diferentes.
Existe un conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML.
Nomenclatura: es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. No se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Las letras y rayas se pueden usar en cualquier parte del nombre. También se pueden incluir dígitos, guiones y caracteres de punto, pero no se puede empezar por ninguno de ellos.
Marcado y datos: las construcciones como etiquetas, referencias de entidad y declaraciones se denominan "marcas".
PRIMERA LINEA DE UN DOCUMENTO XML
La primera línea de un documento xml se denomina prólogo y contiene la declaración de la versión XML empleada para la descripción de la información:
XML válido
Los DTD explican qué tipos de etiquetas puede contener el archivo XML, qué hijos puede tener cuántos de cada tipo, qué tipo de contenido pueden tomar (texto, numérico, etc), qué atributos puede tener cada etiqueta, qué valores pueden tomar esos atributos y, también, la forma de relacionarse entre sí las etiquetas, es decir, su jerarquía.
Para cada documento XML podemos definir un DTD diferente y así tener nuestro lenguaje de marcado personalizado. Si el documento XML cumple el DTD que le hayamos definido y está bien formado será válido.
La relación entre un documento XML bien formado y un documento XML válido es que ambos cumplen las reglas del W3C, por tanto un documento válido siempre será bien formado. Los Schema son documentos similares a un DTD definen qué elementos puede contener un documento XML, cómo están organizados, y que atributos y de qué tipo pueden tener sus elementos.
La ventaja de los Schema con respecto a los DTD son:
- Usan sintaxis de XML, al contrario que los DTD.
- Permiten especificar los tipos de datos.
- Son extensibles.
Utilización de espacios de nombres en XML
Un espacio de nombres XML es una recomendación W3C para proporcionar elementos y atributos con nombre único en una instancia XML.
Alcance de los espacios de nombres
El alcance de la declaración de un prefijo de espacio de nombres comprende desde la etiqueta de inicio de un elemento XML, en la que se declara, hasta la etiqueta final de dicho elemento XML. En las etiquetas vacías, correspondientes a elementos sin "hijos", el alcance es la propia etiqueta. Pueden declararse varios espacios de nombres. Es conveniente usar prefijos con nombres significativos, porque este nombre es
una referencia que utilizarán los parser de XML para acceder al contenido,
como una referencia a una variable clásica.
Declaración de espacio de nombres
El URI se trata como una cadena de texto por el Parser XML. El hecho de usar una URL para identificar un espacio de nombres, en lugar de una simple cadena, reduce la posibilidad de que diferentes espacios de nombres usen identificadores iguales. Los identificadores de los espacios de nombres no necesitan seguir las convenciones de las direcciones de internet.
La URI de un namespace son más unos contenedores virtuales de vocabulario y contenido que no se muestra en pantalla pero que se puede compartir en Internet. La razón de usar una URL como URI se debe a que en Internet las URL son únicas, y como ya se ha explicado las URI deben ser identificadores únicos. Por tanto si se escribe el contenido de la URI (URL) en un navegador de Internet no significa que se tenga que mostrar el contenido y los elementos del namespace, es únicamente un concepto.
Espacios de nombres por defecto
También se puede declarar el espacio de nombres sin asignarle un nombre, con lo cual el atributo xmlns se escribirá de la misma forma que otros atributos:
Esto se hace para evitar sobrecargar el código con prefijos. Se puede asignar un namespace por defecto, que afectará a todos los elementos hijos que no utilicen explícitamente otro prefijo. Al igual que ocurre con los namespaces con prefijo, uno por defecto también se puede sobrescribir. Sólo puede haber un namespace por defecto en un documento XML. Se declara de la siguiente forma (sin prefijo):
Los namespace por defecto no se aplican a los atributos, por tanto cualquier namespace aplicado a un atributo tiene que estar asociado a un prefijo.
Cuando se define en la etiqueta de inicio de un elemento XML, se aplica a todos elementos sin prefijo del ámbito del elemento, pero no a los atributos.
En resumen:
-El ámbito de la declaración de un namespace comienza en el elemento en el que se declara y se aplica a todos sus hijos, excepto si es
sobrescrito por otro namespace con el mismo prefijo.
-Tanto los namespaces con prefijo como los namespaces por defecto se puede sobrescribir.
-Se puede eliminar la declaración tanto de los namespaces con prefijo como de los namespaces por defecto.
-Los namespaces por defecto no se aplican a los atributos directamente
-Los namespaces por defecto existen únicamente si se han declarado explícitamente; es incorrecto utilizar el término namespace por defecto