Tema 1:Tema 1:La evolución hacia XMLLa evolución hacia XML
Ricardo Eíto BrunRicardo Eíto Brun
Sevilla, 23-25 de octubre, 2002Sevilla, 23-25 de octubre, 2002
Guíon del temaGuíon del tema
Introducción a los Introducción a los lenguajes de lenguajes de marcasmarcas
La evolución La evolución hacia XMLhacia XML• SGMLSGML• HTML y dHTMLHTML y dHTML• XMLXML• xHTMLxHTML
El documento digitalEl documento digital
La diferencia entre bases de datos con información La diferencia entre bases de datos con información estructurada y las bases textuales se ha diluido,estructurada y las bases textuales se ha diluido,
La representación o codificación de información – La representación o codificación de información – estructurada y no estructurada – ha aceptado al estructurada y no estructurada – ha aceptado al lenguaje XML como un estándarlenguaje XML como un estándar
Utilizamos el mismo “lenguaje” o “formato”, XML, Utilizamos el mismo “lenguaje” o “formato”, XML, para:para:• Codificar y transferir metadatos (información estructurada)Codificar y transferir metadatos (información estructurada)
• Codificar y transferir contenidos (información no Codificar y transferir contenidos (información no estructurada)estructurada)
• ¿cuál ha sido la evolución?¿cuál ha sido la evolución?
El documento digital - FormatosEl documento digital - Formatos
En la actualidad existen distintos En la actualidad existen distintos formatos disponibles:formatos disponibles:• Basados en lenguajes de marcas: Basados en lenguajes de marcas:
SGML/HTML/XML, a los que se llama ‘la SGML/HTML/XML, a los que se llama ‘la opción semántica’.opción semántica’.
• Formatos de imagen - TIFFFormatos de imagen - TIFF• Formatos de réplica o portables - PDFFormatos de réplica o portables - PDF• Formatos para el intercambio - MIF, RTF,Formatos para el intercambio - MIF, RTF,• y un largo etcétera...y un largo etcétera...
Paradoja de la compatibilidadParadoja de la compatibilidad
La existencia de distintos formatos originó la La existencia de distintos formatos originó la llamada ‘paradoja de la compatibilidad’:llamada ‘paradoja de la compatibilidad’:““A medida que el número de materiales disponibles A medida que el número de materiales disponibles
en soporte digital autentaba, también se hacían en soporte digital autentaba, también se hacían mayores las dificultades para acceder a los mayores las dificultades para acceder a los mismos”mismos”
Para solucionar este problema, se comenzó a Para solucionar este problema, se comenzó a trabajar a favor de la normalización de trabajar a favor de la normalización de formatosformatos
La normalización nos lleva… a XMLLa normalización nos lleva… a XML
El camino hacia la normalizaciónEl camino hacia la normalización
¿el camino hacia la normalización... 1974 - SGML 1985 - ODA/ODIF 1994 - HTML 1996 - XML
o hacia la desnormalización?
Distintos formatos para distintas fases del ciclo de producción
Los formatos se Los formatos se complementancomplementan
La evolución ha favorecido a La evolución ha favorecido a los formatos:los formatos:• simples, simples, • con mayores posibilidades de con mayores posibilidades de
interacción entre aplicaciones interacción entre aplicaciones e intercambio de información.e intercambio de información.
El tratamiento de formatos El tratamiento de formatos forma ya parte de la GED y forma ya parte de la GED y de todas las aplicaciones y de todas las aplicaciones y sistemas de gestión sistemas de gestión (incluyendo bibliotecarias)(incluyendo bibliotecarias)
SGML Structured Markup LanguageSGML Structured Markup Language
Creado en 1969 en Creado en 1969 en IBMIBM por por Charles Charles GoldbarbGoldbarb
En 1986 se convierte en norma ISO En 1986 se convierte en norma ISO 8879-19868879-1986
Se basa en el ‘marcado descriptivo’ o Se basa en el ‘marcado descriptivo’ o ‘generalizado’, que indica cómo se ‘generalizado’, que indica cómo se deben intercalar marcas en un deben intercalar marcas en un documento para diferenciar sus documento para diferenciar sus componentes estructurales.componentes estructurales.
Las marcas no señalan cómo se debe Las marcas no señalan cómo se debe presentar el documento en pantalla ni presentar el documento en pantalla ni cómo se tiene que formatear el cómo se tiene que formatear el documento al imprimirlo.documento al imprimirlo.
•SGML no propone un conjunto de marcas predefinidas, sino:
–la sintáxis que debe utilizarse para definir un conjunto de marcas aplicables a los documentos de un mismo tipo (aplicación)
–la forma en la que se debe intercalar estas marcas en los documentos
–los juegos de caracteres que se pueden utilizar en los documentos (ISO 646 e ISO 10646)
SGML Structured Markup LanguageSGML Structured Markup Language
•Los elementos que pueden aparecer en un tipo de documento, sus características y el orden en el que deben escribirse se definen en un documento aparte llamado DTD (Document type definition)
•Los documentos se consideran ‘instancias’ de un tipo de documento específico que define su estructura válida
•Un documento SGML siempre debe cumplir las restricciones que se indican en su DTD
•Un documento SGML debe incluir una referencia a la DTD a partir de la cual se ha definido
SGML Structured Markup LanguageSGML Structured Markup Language
•SGML tiene capacidad hipertexto basadas en la norma HyTime
•Los enlaces SGML unen un elemento origen con un elemento destino
•El elemento origen tendrá un atributo de tipo IDREF (por convención se llama link o xref a este atributo)
•El elemento destino tendrá un atributo de tipo ID (por convención se llama target)
SGML Structured Markup LanguageSGML Structured Markup Language
DTDDTD<!-- elemento origen enlace --<!-- elemento origen enlace --
>><!ELEMENT nota -- (#PCDATA)><!ELEMENT nota -- (#PCDATA)>
<!ATTLIST nota<!ATTLIST nota
link IDREF #REQUIRED>link IDREF #REQUIRED>
<!-- elemento destino enlace <!-- elemento destino enlace -->-->
<!ELEMENT textonota -- <!ELEMENT textonota -- (#PCDATA)>(#PCDATA)>
<!ATTLIST textonota<!ATTLIST textonota
target ID #REQUIRED>target ID #REQUIRED>
Instancia…
<nota link=“nota_1”>Comentarios de Rodríguez Sáez</nota>
<textonota target=“nota_1”>La edición de 1994 contiene errores de interpretación…</textonota>
SGML Structured Markup LanguageSGML Structured Markup Language
•Para imprimir un documento SGML o verlo en pantalla, es necesario aplicarle un formato
•El formato indicará cómo se debe formatear cada uno de los elementos que forman el documento: tipo de letra, márgenes, etc.
•Se han diseñado dos normas que indican cómo se deben crear hojas de estilo para documentos SGML:
–DSSSL (Document Style Semantic and Specification Language)
–FOSI (Format Output Specification Interface)
SGML Structured Markup LanguageSGML Structured Markup Language
•En el éxito del lenguaje SGML ha jugado un papel trascendental dos hechos:
–La decisión del DoD (Department of Defense) de los EUA de adoptar SGML en su proyecto CALS (Computer-aided Acquisition and Logistic Support)
–El desarrollo del lenguaje HTML y la ‘explosión’ del World Wide Web
•En los dos últimos años, XML ha devuelto el interés por SGML, al que amenaza con sustituir
SGML Structured Markup LanguageSGML Structured Markup Language
HTML Hypertext Markup LanguageHTML Hypertext Markup Language HTML es una aplicación SGML para codificar HTML es una aplicación SGML para codificar
documentos y distribuirlos en el World Wide documentos y distribuirlos en el World Wide WebWeb
HTML define un conjunto limitado de marcas HTML define un conjunto limitado de marcas que se pueden intercalar en los documentosque se pueden intercalar en los documentos
Comparte las ventajas de SGML: Comparte las ventajas de SGML: multiplataforma, fácilmente procesable, etc.multiplataforma, fácilmente procesable, etc.
Ha alcanzado un gran éxito, hasta el punto Ha alcanzado un gran éxito, hasta el punto de llegar a igualarse edición electrónica con de llegar a igualarse edición electrónica con edición HTMLedición HTML
HTML - LimitacionesHTML - Limitaciones
La simplicidad de HTML acarrea La simplicidad de HTML acarrea limitaciones:limitaciones:• Falta de fórmulas de compresión asociadas al Falta de fórmulas de compresión asociadas al
formato (problema ancho de banda)formato (problema ancho de banda)• Posibilidades de formateo muy limitadasPosibilidades de formateo muy limitadas• Falta de mecanismos de acceso: búsqueda Falta de mecanismos de acceso: búsqueda
texto completo, tablas de contenidos, etc.texto completo, tablas de contenidos, etc.• Escasa capacidad expresiva del lenguajeEscasa capacidad expresiva del lenguaje• Disponemos de browsers y tecnologías (Java, Disponemos de browsers y tecnologías (Java,
lenguajes de script, etc.) muy potentes cuya lenguajes de script, etc.) muy potentes cuya capacidad está siendo infrautilizada por las capacidad está siendo infrautilizada por las limitaciones del formato HTMLlimitaciones del formato HTML
dHTML – HTML dinámicodHTML – HTML dinámico
La evolución de HTML ha estado La evolución de HTML ha estado condicionada por la presión ejercida por condicionada por la presión ejercida por los fabricantes de los browsers más los fabricantes de los browsers más utilizadosutilizados
dHTML hace referencia a unas dHTML hace referencia a unas características soportadas por la versión 4 características soportadas por la versión 4 de los browsers de Netscape y Microsoftde los browsers de Netscape y Microsoft
Algunas de estas características se Algunas de estas características se tomaron del borrador disponible para la tomaron del borrador disponible para la versión 4 del formato HTMLversión 4 del formato HTML
dHTML – HTML dinámicodHTML – HTML dinámico
dHTML permite:dHTML permite:• Control sobre los elementos que conforman una página Control sobre los elementos que conforman una página
HTML mediante el DOM (Document Object Model)HTML mediante el DOM (Document Object Model)• Posibilidad de formatear los elementos de la páginaPosibilidad de formatear los elementos de la página• Posibilidad de modificar el formato de los elementos en Posibilidad de modificar el formato de los elementos en
respuesta a acciones realizadas por el usuariorespuesta a acciones realizadas por el usuario• Control de la posición de un elemento u objeto dentro de Control de la posición de un elemento u objeto dentro de
la páginala página• Capacidad de cambiar el contenido de la página una vez Capacidad de cambiar el contenido de la página una vez
ésta ha sido descargada por el navegadorésta ha sido descargada por el navegador
dHTML - HTML dinámicodHTML - HTML dinámico
Problemas de dHTMLProblemas de dHTML• Orientado a la presentación de los documentos Orientado a la presentación de los documentos
y a aspectos ‘visuales’y a aspectos ‘visuales’• No representa el contenido semántico ni la No representa el contenido semántico ni la
lógica de la información que contiene el lógica de la información que contiene el documentodocumento
• Las ‘implementaciones’ de Microsoft y de Las ‘implementaciones’ de Microsoft y de Netscape no son idénticas: las mismas hojas Netscape no son idénticas: las mismas hojas de estilo son interpretadas de forma distinta de estilo son interpretadas de forma distinta por los navegadores, problemas en soporte a por los navegadores, problemas en soporte a lenguajes de script, controles ActiveX, etc.lenguajes de script, controles ActiveX, etc.
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
Su desarrollo comienza en septiembre de Su desarrollo comienza en septiembre de 1996 dirigido por el W3C y con la 1996 dirigido por el W3C y con la participación de importantes empresas: participación de importantes empresas: Microsoft, IBM, Sun, Novell, ArborText, H-P Microsoft, IBM, Sun, Novell, ArborText, H-P etc.etc.
El propósito es:El propósito es:• diseñar un lenguaje de marcas optimizado para diseñar un lenguaje de marcas optimizado para
el WWWel WWW• unir la simplicidad de HTML con la capacidad unir la simplicidad de HTML con la capacidad
expresiva de SGMLexpresiva de SGML Versión 1.0 ratificada en diciembre de 1997Versión 1.0 ratificada en diciembre de 1997
Áreas de aplicación:Áreas de aplicación:• Representación y distribución de documentos e Representación y distribución de documentos e
información textualinformación textual• Intercambio de datos e información Intercambio de datos e información
estructurada a través de Internet y el WWWestructurada a través de Internet y el WWW• Integración de datos procedentes de fuentes Integración de datos procedentes de fuentes
heterogéneasheterogéneas Elimina la ‘barrera’ entre información Elimina la ‘barrera’ entre información
estructurada e información textualestructurada e información textual
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML Perfil de SGML No especifica etiquetas,
sino cómo deben definirse conjuntos de etiquetas aplicables a un tipo de documento
Modelo de hiperenlaces complejo (múltiples destinos, fijos y relativos, etc.)
HTML Aplicación de SGML Conjunto limitado de
etiquetas y un único tipo de documento
Modelo de hiperenlaces simple (unidireccionales y fijos)
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML Gran capacidad para
procesar documentos, el browser es una plataforma para el desarrollo de aplicaciones
Fin de la guerra de los navegadores y etiquetas propietarias
HTML Escasa capacidad
de procesamiento, el browser es un mero visor de páginas
El problema de la ‘no compatibilidad’ y las diferencias entre browsers ha alcanzado un punto en el que la solución es difícil
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML Mayor simplicidad Eliminación de las
etiquetas opcionales Un documento no debe
ser validado obligatoriamente, basta con que esté ‘bien formado’
SGML Gran complejidad que
dificulta su tratamiento e implementación
Validez requerida: todos los documentos deben cumplir las restricciones de su DTD
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML La simplicidad de
XML hace más fácil el desarrollo de aplicaciones de bajo coste
Amplio soporte de la industria informática y más áreas de aplicación
SGML Su complejidad hace
que las aplicaciones informáticas para procesar SGML sean muy costosas
Escaso impacto al margen de sectores muy específicos: editoriales, doc.técnica
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XMLXML• Compatibilidad e Compatibilidad e
integración con integración con HTML (soporte a CSS HTML (soporte a CSS y data-islands)y data-islands)
• Formateo y estilos Formateo y estilos fáciles de aplicar fáciles de aplicar mediante:mediante:
CSSCSS XSLXSL
SGMLSGML• No hay una No hay una
compatibilidad con compatibilidad con HTML definidaHTML definida
• Formateo y estilos Formateo y estilos relativamente relativamente complejos (norma complejos (norma DSSSL)DSSSL)
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML - ÁplicacionesXML - Áplicaciones• RDF - Resource Description FrameWork RDF - Resource Description FrameWork
Catalogación de recursos Internet Catalogación de recursos Internet • CDF - Channel Description FormatCDF - Channel Description Format
Envío de información a través de pushEnvío de información a través de push• OSD - Open Software DescriptionOSD - Open Software Description
Descripción de packs de actualización de softwareDescripción de packs de actualización de software• OFX - Open Financial ExchangeOFX - Open Financial Exchange
Intercambio de datos financieros para aplicaciones Intercambio de datos financieros para aplicaciones contabilidad domésticacontabilidad doméstica
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
XML - ÁplicacionesXML - Áplicaciones• XER - XML Encoding Rules XER - XML Encoding Rules
Codificar mensajes ASN.1 para Z39.50, ILL, etc. Codificar mensajes ASN.1 para Z39.50, ILL, etc. • MARTIF - Machine Readable Terminology Interchange MARTIF - Machine Readable Terminology Interchange
FormatFormat Codificar registros terminológicosCodificar registros terminológicos
• TMX - Translation Memory eXchangeTMX - Translation Memory eXchange Codificar memorias de traducciónCodificar memorias de traducción
• DOCBOOKDOCBOOK DTD para manuales y guías técnicas documentación DTD para manuales y guías técnicas documentación
de softwarede software
XML: eXtensible Markup LanguageXML: eXtensible Markup Language
Hay distintos enfoques y opiniones:Hay distintos enfoques y opiniones:• SGML para documentos y XML para datos y SGML para documentos y XML para datos y
documentos generados ‘on the fly’ sin documentos generados ‘on the fly’ sin persistenciapersistencia
• XML sustituirá a SGML definitivamenteXML sustituirá a SGML definitivamente• XML sustituirá a HTMLXML sustituirá a HTML• ¿Se ha sobreestimado XML?¿Se ha sobreestimado XML?• Problema de falta de estandarizaciónProblema de falta de estandarización
¿El futuro de XML?¿El futuro de XML?
¿El futuro de XML?¿El futuro de XML?
Las conferencias de GCA pasaron a Las conferencias de GCA pasaron a llamarse XML Conference en lugar de SGML llamarse XML Conference en lugar de SGML ConferenceConference
Gartner Group señala a XML como un Gartner Group señala a XML como un medio óptimo para el intercambio y la medio óptimo para el intercambio y la integración de datos en torno a integración de datos en torno a arquitecturas Internet y httparquitecturas Internet y http
Compañías antagónicas trabajaron a favor Compañías antagónicas trabajaron a favor de XML (Microsoft, IBM, Sun, etc.)de XML (Microsoft, IBM, Sun, etc.)
Los fabricantes de bases de datos (Oracle, Los fabricantes de bases de datos (Oracle, Informix, Software AG) se volcaron con XMLInformix, Software AG) se volcaron con XML
xHTMLxHTML
W3c lo hace público en agosto de 1999W3c lo hace público en agosto de 1999 Reformular HTML 4.0, utilizando los mismos Reformular HTML 4.0, utilizando los mismos
elementos y atributos, pero con sintáxis elementos y atributos, pero con sintáxis XMLXML• Uso obligatorio de etiquetas de inicio y de fin, Uso obligatorio de etiquetas de inicio y de fin,
p.ej. <p>...</p>p.ej. <p>...</p>• Sintáxis XML para elementos vacíos:Sintáxis XML para elementos vacíos:• <hr /> en lugar de <hr><hr /> en lugar de <hr>• Valores de atributos entrecomillados (números Valores de atributos entrecomillados (números
también)también)• Nombres de elementos y atributos deben Nombres de elementos y atributos deben
escribirse en minúsculasescribirse en minúsculas
xHTMLxHTML
Se proponen tres DTDs para documentos HTMLSe proponen tres DTDs para documentos HTML• Estricto – para documentos nuevosEstricto – para documentos nuevos• Transición – para documentos ya disponiblesTransición – para documentos ya disponibles• Para documentos con marcos (frames)Para documentos con marcos (frames)
Soporte a espacios de nombres “namespaces”Soporte a espacios de nombres “namespaces” Los elementos se agrupan en módulos: xhtml1-Los elementos se agrupan en módulos: xhtml1-
tables.mod, xhtml1-form.mod, xhtml1-tables.mod, xhtml1-form.mod, xhtml1-linking.mod, etc.linking.mod, etc.
Facilitar el acceso al Web desde otros Facilitar el acceso al Web desde otros dispositivos: móviles, TV, etc.dispositivos: móviles, TV, etc.