2.2. MARCO TEÓRICO
2.2.12.3. SGML
Extiende la codificación genérica al agregar descripción sobre estructura del documento y se ajusta a un modelo, lo que permite ser procesado por software o guardarlo en una base de datos.
A través de SGML empieza la corriente por la cual los autores cuentan con un lenguaje para descubrir la estructura de sus documentos y los marquen.
La gran diferencia entre la codificación genérica y el SGML es que el marcado describe la estructura del documento.
La estructura del documento se describe en una DTD (data type definition) que también recibe el nombre de aplicación SGML.
En esta DTD se especifican elementos, relaciones y etiquetas que definen una estructura de documento y lo marcan. (Molinari &
Javier Diaz, 2004, pág. 73)
En SGML el marcado sigue a un modelo. Algunos lenguajes se basan en SGML como es el caso de HTML (lenguaje de marcado para documentos WEB), CALS (standard para intercambio de documentos del DoD, Department of Defense of EEUU), DocBook, etc. (Molinari & Javier Diaz, 2004, pág. 72)
2.2.12.4. HTML:
Es la aplicación más popular de SGML. Es un conjunto de etiquetas que siguen la norma SGML. (Molinari & Javier Diaz, 2004, pág. 72)
HTML ha evolucionado, considerando que:
o Integra etiquetas de formato logrando características de marcado procedural
o Agrega el atributo class y hojas de estilo, logrando características de codificación genérica.
44
2.2.12.5. Las aplicaciones XML. Documentos y datos:
Las aplicaciones XML se clasifican en:
o Aplicaciones orientadas a documento, información dirigida al consumo humano;
o Aplicaciones de datos que manejan información dirigida al software.
Es una diferencia cualitativa. El standard es el mismo.
Aplicaciones de documento: Veamos la publicación de un documento que quiere imprimirse, mostrarse en la WEB y llevarlo a una palm.
Figura N° 2.5 – Aplicaciones XML (documentos)
Fuente: Libro: Arquitecturas orientadas a Web Services.
XML me da la posibilidad de publicarlos automáticamente en distintos medios.
Aplicaciones de datos: Si la estructura de un documento puede expresarse como XML, también la estructura de una base de datos.
Veamos como incluiríamos una lista de productos con su precio en XML.
<?xml version=”1.0” enconding =”ISO-8859-1”?>
<productos>
<id producto=”p1”>
<nombre>Libro de Silverschatz</nombre>
<precio>140</precio>
</producto>
<id producto=”p2”>
<nombre>Libro de Tenenbaum</nombre>
<precio>150</precio>
</producto>
<id producto=”p3”>
<nombre>Libro de Stallings</nombre>
<precio>180</precio>
</producto>
</productos>
El uso de XML en los canales es otro ejemplo sobre como las aplicaciones pueden beneficiarse con XML. Un canal es un sitio
Documento XML Convertido
a Postscript
Convertido a HTML
Convertido a XHTML
45 Web al cual uno se puede suscribir. Es un concepto que introdujo Internet Explorer 4.0.
Atrás de cada icono en la barra de canales que muestra el Explorer, hay un documento XML. Los canales se describen mediante CDF (Formato de definición de Canales). CDF es una aplicación XML.
Veamos cómo es un archivo CDF de un canal.
<?xml version=”1.0” enconding =”ISO-8859-1”?>
<CANAL BASE=http://www.canalsoft.com/boletin/ HREF=”index.html”
PRECACHE=”YES” LEVEL=”0”>
<TITULO>canalsoft Link</TITULO>
<RESUMEN>Boletin mensual gratis</RESUMEN>
<LOGO HREF=”logo.gif” ESTILO=”IMAGEN”/>
<AGENDA FECHAINICIO=”2014-01-01”>
<TIEMPOCAMBIO DIA=”14”/>
</AGENDA>
</CANAL>
Se describe, con la sintaxis XML, el canal, la frecuencia de actualización (AGENDA FECHAINICIO) y el ícono que se usa (logo.gif).
Standards acompañantes:
La ventaja de XML es que es un standard será más fácil encontrar bibliografía, servicios y software para trabajar con documentos XML.
W3c, entre otros, ha desarrollado otros standards que acompañan a XML, tal es el caso de XML namespaces, hojas de estilo, DOM, SAX, XLink, Xpointer.
XML namespaces: El namespace asocia un elemento con su dueño.
Previene conflictos de nombres y es una forma de permitir la reutilización de estructuras standards.
Un espacio de nombres se puede ver como una forma de identificar elementos XML. Además, permite la reusabilidad de los elementos ya declarados o utilizados.
La extensibilidad de XML puede ser una desventaja en un ambiente distribuido. En un ambiente colaborativo, una lista de recursos definida por un usuario puede ser modificada por otro, agregándose por ejemplo, un elemento adicional. (Molinari & Javier Diaz, 2004, pág. 74)
46 Por eso es necesario administrar el espacio de nombres.
Supongamos una lista de libros. Uno podría considerar una categoría sobre entretenimiento y otra sobre nivel educativo.
<nombre>Harry Potter</nombre>
<link href=”http://www.harrypotter.com”/>
<entret:categoria>5</entret:categoria>
<educ:categoria>5</educ:categoria>
El prefijo indica el tipo de categoría (entret, educ), si varias personas trabajan en la lista, puede haber distintas interpretaciones.
Los prefijos se pueden declarar.
<?xml version=”1.0” enconding =”ISO-8859-1”?>
<referencias
xmlns:entret=”http://www.entretenimiento.com/categori aLibros/1.0”
xmlns:educ=http://www.normaseducativas.com/categori aLibros/1.0
<nombre>Harry Potter</nombre>
<link
href=”http://www.harrypotter.com”/>
<entret:categoria>5</entret:categoria>
<educ:categoria>5</educ:categoria>
. . .
</referencias>
Hojas de estilo: XML utiliza dos lenguajes de hojas de estilo:
XSL y CSS. Las hojas de estilo especifican como se muestran los documentos XML.