El acceso al contenido de internet no solo ha visto marcado por la cantidad de sitios que se albergan en la red, sino que estos también se han dedicado a mostrar la información bajo una interfaz bastante amigable, así como contar con una alta accesibilidad. No solo se trata de cómo se muestra la información dentro de un navegador, también hay que tomar en cuenta la manera en que accedemos a los archivos en la red, y los documentos a los cuales podemos acceder. Es debido a esta premisa, que se han establecido estándares para la visualización de contenido, pudiendo ser accesible desde cualquier plataforma y de manera fácil a cualquier usuario.
La compañía IBM fue la primera en dar el paso para crear un lenguaje que facilitara el proceso de almacenamiento de información que posteriormente fuera compartida a otros sistemas operativos, y que esta sufriera cambios por incompatibilidad. Para ese entonces fue conocido como GML (Generalized Markup Language), conocido en español como Lenguaje Generalizado de Marcas. Ya para 1986, ISO despierta un interés por este tipo de lenguaje, el cual decide normalizar, surgiendo bajo el nombre de SGML (Standard Generalized Markup Language) o en español, Lenguaje de Marcado Generalizado Estándar.
A partir de este, se empiezan a derivar otros lenguajes, como el caso de HTML, el cual surge con la creación de la Web por Tim Berners. Sin embargo, el mismo ha presentado ciertos inconvenientes con la sintaxis. Por lo que a veces los navegadores no muentran una interpretación correcta del código.
Por esta razón, surge XML, que a pesar de derivarse de SGML, viene acompañado de ciertas diferencias, sobre todo a la hora de la interpretación, ya que no es necesario utilizar programas tan complejos para la visualización de un documento XML. Uno de sus usos más destacables es el intercambio de contenido de bases de datos, así como su visualización. Se considera ventajoso por:
- Su diseño puede realizarse en cualquier lenguaje.
- Una vez construido el documento, este cuenta con la posibilidad de ser extendido.
- Se pueden emplear analizadores estándar, lo cual permite evitar bugs y otros errores. A su vez, agiliza el proceso de diseño de muchas aplicaciones.
- Posee una estructura sencilla de entender.
- Aumenta la compatibilidad entre distintas plataformas, sobre todo si trata de bases de datos.
- Capacidad de crear documentos a partir de los datos ofrecidos en la codificación.
Debido a su popularidad, y facilidad de uso, es que con el tiempo se ha expandido su popularidad a lo largo del mundo de la informática. A partir de este, han surgido otros lenguajes esquema:
Tipos de XML
XML Schema
Este lenguaje de esquema permite declarar de manera precisa la estructura y el contenido dentro de un documento XML. Aunque de por si el XML posee sus propias normas, con XML Schema se logran ampliar. Fue desarrollado en 1998 por W3C (Worl Wide Web Consortium), y ya para el año 2001, su nivel de aceptación era alto, presentándose una recomendación de dividida en tres partes:
- XML Schema Parte 0 Primer: se considera una introducción muy detallada de lo que es el lenguaje, incluyendo gran cantidad de ejemplos para facilitar su entendimiento.
- XML Schema Parte 1 Structures: Aquí se explican cada una de las estructuras y componentes que conforman en lenguaje. Se muestra de manera detallada y extensa.
- XML Schema Parte 2 Datatypes: Se definen cada uno de los tipos de datos que forman parte de XLM Schema. Así mismo, se explican cada una de sus restricciones.
Se considera como una alternativa a la DTD, fortaleciendo la definición de estructuras al momento de diseñar un documento XML. Posee una gran diversidad de tipos de datos, de esta manera, facilita el procesamiento de datos, así como expande las posibilidades de agregar funciones a alas aplicaciones.
DTD
Se conoce como Document Type Definition, o en español como Definición de Tipo de Documento. Mediante este, se establecen cada una de las normas y restricciones que definen la estructura y sintaxis de los documentos XML. De esta manera, todos los documentos que se rigen por una misma DTD establecen una misma estructura. Esta se puede incluir dentro del mismo documento XML, o como generalmente se acostumbra, se crea dentro de otro fichero. Una DTD se encuentra definida por:
- Elementos: aquí se definen cada una de las etiquetas permitidas, así como su contenido.
- Estructura: permite definir el orden de las etiquetas dentro de un documento.
- Anidamiento: hace referencia a las etiquetas se van dentro de otras.
A su vez, posee desventajas, que ocasiona que se prefieran otros lenguajes como XML Schema. Tal es el caso de la limitación de elementos de contenido mixto. Igualmente, no se puede definir el tipo de dato a que corresponde un atributo o elemento. Además existe ausencia de establecimiento de elementos locales, dentro de otros elementos.
RELAX NG
Es uno de los lenguajes esquemas más sencillos de manejar. Se basa sobre todo en la gramática, convirtiéndolo en uno de los más intuitivos, además de facilitar su comprensión. Esto, inclusive logra que se caracterice de fácil implementación. Se considera más fácil de manejar que el XML Schema. Otra de sus ventajas, es la sencillez de con que se puede definir un documento, así como su validación. Además, cuenta con plug-ins de definición de datos pertenecientes a XML Schema. Es de esta manera que combina las ventajas que ofrece XML y XML Schema. Forma parte de DSDL, ya que se considera un estándar ISO.
Schematron
Más que un lenguaje de marcado, se considera más un lenguaje de validación. Este se centra en el establecimiento de reglas y afirmaciones. Deja de lado gramática, para pasar a trabajar con expresiones de acceso. De esta manera es que se puede definir las reglas y restricciones que se establecen dentro de un documento XML. A pesar de que posee grandes limitaciones en el establecimiento de estructuras básicas de los documentos, se puede combinar con otros lenguajes esquemas para cubrir esta parte. Al igual que RELAX NG, ahora es considerado un esquema ISO.
DSDL
Conocido como Document Schema Definition Languages, o en español Lenguajes de Definición de Esquema de Documento, es un marco que permite la aplicación de validaciones a distintos documentos XML. De esta manera, los resultados tras la validación suelen ser satisfactorios. Trabaja de manera modular, por lo que aquí se especifican cada una de las descripciones de las estructuras que componen el documento, incluyendo desde los tipos de datos, hasta las relaciones entre cada uno de estos.