Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva XML: The eXtensible Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Rafael C. Carrasco Sintaxis XMLSchema RELAX NG Departamento de Lenguajes y Sistemas Inform´aticos.Universidad de Alicante Sem´antica Xtandards 7 de febrero de 2008 XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML La importancia de los est´andares

Est´andares y metainforma- ci´on Aspecto y estructura XML es un est´andar (ISO 8879 simplificado) Prospectiva Especificaci´on Estructura l´ogica XML, como otros est´anda- Estructura f´ısica Hojas de estilo res, Sintaxis 1 reduce costes de XMLSchema RELAX NG producci´on Sem´antica 2 facilita la preservaci´on Xtandards XPath a largo plazo. XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML (eXtensible Markup Language) es un est´andar que permite a˜nadir metainformaci´on a los textos.

Diferencias entre XML y ASCII

Est´andares y metainforma- ci´on Aspecto y ASCII (American Standard Code for Information estructura Prospectiva Interchange) es un est´andar (desde 1963) para Especificaci´on almacenar textos (informaci´on)en clave binaria: Estructura l´ogica Estructura f´ısica 100100110111 Nuestro editor Hojas de estilo 010011011100 ⇐ ASCII ⇒ “dibuja” el texto Sintaxis XMLSchema 1010. . . en la pantalla RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Diferencias entre XML y ASCII

Est´andares y metainforma- ci´on Aspecto y ASCII (American Standard Code for Information estructura Prospectiva Interchange) es un est´andar (desde 1963) para Especificaci´on almacenar textos (informaci´on)en clave binaria: Estructura l´ogica Estructura f´ısica 100100110111 Nuestro editor Hojas de estilo 010011011100 ⇐ ASCII ⇒ “dibuja” el texto Sintaxis XMLSchema 1010. . . en la pantalla RELAX NG Sem´antica XML (eXtensible Markup Language) es un est´andar

Xtandards que permite a˜nadir metainformaci´on a los textos. XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ¿Qu´ees la metainformaci´on?

La metainformaci´on es informaci´onsobre la informaci´on,esto es, sobre el contenido. Por ejemplo, una ficha catalogr´aficaes Est´andares y metainforma- metainformaci´on: ci´on Aspecto y estructura Prospectiva 155.2 Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo NUTes Nutlin, Joseph Sintaxis XMLSchema La estructura de la personalidad / Joseph Nutlin. RELAX NG Buenos Aires : Kapelusz, 1973. Sem´antica

Xtandards XPath 237 p. : il.- -(Biblioteca de Psicolog´ıaContempor´anea;27) XInclude XQuery XLink 1.- PSICOLOGIA 2.- PERSONALIDAD Procesamiento SAX Y DOM libxml2 MathML Pero hay metainformaci´onimpl´ıcitaen: 1 el ´ındicede un libro; 2 el tipo de letra usado; 3 la maquetaci´on.

¿Donde hay metainformaci´on?

Est´andares y metainforma- ci´on Aspecto y estructura Tradicionalmente la metainformaci´onera externa (p. ej. ficha Prospectiva catalogr´afica). Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ¿Donde hay metainformaci´on?

Est´andares y metainforma- ci´on Aspecto y estructura Tradicionalmente la metainformaci´onera externa (p. ej. ficha Prospectiva catalogr´afica). Especificaci´on Estructura l´ogica Pero hay metainformaci´onimpl´ıcitaen: Estructura f´ısica Hojas de estilo 1 el ´ındicede un libro; Sintaxis XMLSchema 2 el tipo de letra usado; RELAX NG 3 Sem´antica la maquetaci´on.

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ¿Qu´emetainformaci´onimpl´ıcitacontiene esta imagen?

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Textos con XML

XML dice: la metainformaci´onse hace expl´ıcitamediante Est´andares y metainforma- marcas, esto es, texto a˜nadidoentre llaves angulares. ci´on Aspecto y estructura Prospectiva Especificaci´on Do~naPerfecta Estructura l´ogica Benito P´erezGald´os Estructura f´ısica Hojas de estilo Sintaxis .... XMLSchema RELAX NG Sem´antica Do~naPerfecta, como mujer de su ´epoca,....

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 distinguir qu´eparte del contenido es promovida a metainformaci´on,facilitando as´ısu explotaci´on(podremos, por ejemplo, localizar los comentarios del editor sobre el personaje.).

Textos con XML

Est´andares y metainforma- XML es especialmente adecuado para colecciones de textos, ci´on Aspecto y pues permite estructura Prospectiva 1 integrar la metainformaci´onen el mismo documento Especificaci´on Estructura l´ogica evitando inconsistencias (p.ej., el autor es identificado con Estructura f´ısica Hojas de estilo el nombre con el que aparece en el libro); Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Textos con XML

Est´andares y metainforma- XML es especialmente adecuado para colecciones de textos, ci´on Aspecto y pues permite estructura Prospectiva 1 integrar la metainformaci´onen el mismo documento Especificaci´on Estructura l´ogica evitando inconsistencias (p.ej., el autor es identificado con Estructura f´ısica Hojas de estilo el nombre con el que aparece en el libro); Sintaxis 2 XMLSchema distinguir qu´eparte del contenido es promovida a RELAX NG metainformaci´on,facilitando as´ısu explotaci´on(podremos, Sem´antica por ejemplo, localizar los comentarios del editor sobre el Xtandards XPath personaje.). XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML HTML (el formato de los documentos de internet) tiene un conjunto de etiquetas fijo (head, body, p,. . . ) que se usan para determinar el aspecto de los documentos de internet.

XML no es HTML

Est´andares y metainforma- ci´on XML permite utilizar un vocabulario propio Aspecto y estructura Prospectiva Especificaci´on Por ejemplo: Estructura l´ogica Estructura f´ısica author, title, . . . para obras literarias; Hojas de estilo Sintaxis calle, c´odigopostal, . . . para una colecci´onde XMLSchema RELAX NG direcciones. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML no es HTML

Est´andares y metainforma- ci´on XML permite utilizar un vocabulario propio Aspecto y estructura Prospectiva Especificaci´on Por ejemplo: Estructura l´ogica Estructura f´ısica author, title, . . . para obras literarias; Hojas de estilo Sintaxis calle, c´odigopostal, . . . para una colecci´onde XMLSchema RELAX NG direcciones. Sem´antica HTML (el formato de los documentos de internet) tiene un Xtandards conjunto de etiquetas fijo (head, body, p,. . . ) que se usan para XPath XInclude determinar el aspecto de los documentos de internet. XQuery XLink Procesamiento SAX Y DOM libxml2 MathML SGML es muy potente pero tambi´enmuy complejo: no ha sufrido modificaciones desde su creaci´onen 1986. HTML sigue la norma SGML pero no sus principios. XHTML es HTML conforme a XML.

Relaci´onentre XML, SGML y HTML

Est´andares y metainforma- ci´on Aspecto y estructura XML sigue el est´andar SGML (Standard Generalized Prospectiva Especificaci´on Markup Language, ISO8879). Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML HTML sigue la norma SGML pero no sus principios. XHTML es HTML conforme a XML.

Relaci´onentre XML, SGML y HTML

Est´andares y metainforma- ci´on Aspecto y estructura XML sigue el est´andar SGML (Standard Generalized Prospectiva Especificaci´on Markup Language, ISO8879). Estructura l´ogica Estructura f´ısica SGML es muy potente pero tambi´enmuy complejo: no ha Hojas de estilo sufrido modificaciones desde su creaci´onen 1986. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Relaci´onentre XML, SGML y HTML

Est´andares y metainforma- ci´on Aspecto y estructura XML sigue el est´andar SGML (Standard Generalized Prospectiva Especificaci´on Markup Language, ISO8879). Estructura l´ogica Estructura f´ısica SGML es muy potente pero tambi´enmuy complejo: no ha Hojas de estilo sufrido modificaciones desde su creaci´onen 1986. Sintaxis XMLSchema RELAX NG HTML sigue la norma SGML pero no sus principios. Sem´antica XHTML es HTML conforme a XML.

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Relaci´onentre XML, SGML y HTML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML no es metainformaci´onestructurada

Est´andares y metainforma- Las bases de datos funcionan como las fichas catalogr´aficas: ci´on contienen informaci´onmuy estructurada por lo que Aspecto y estructura Prospectiva se deben dise˜nar cuidadosamente desde el principio; Especificaci´on Estructura l´ogica es dif´ıcilintegrar nuevos registros; Estructura f´ısica Hojas de estilo no permiten manejar con comodidad textos de longitud Sintaxis variable. XMLSchema RELAX NG Sem´antica XML ocupa un lugar intermedio entre el texto plano Xtandards y las bases de datos XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML no determina el aspecto

Est´andares y metainforma- Una de las virtudes de XML es la separaci´onentre el dise˜no ci´on Aspecto y l´ogicoy el dise˜node presentaci´on(tipograf´ıa,gr´aficosetc). estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Formato Esto es un aviso Esto es un aviso Hojas de estilo Sintaxis XMLSchema RELAX NG Estructura Esto es un Esto es un aviso Sem´antica aviso Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 realizar b´usquedaselaboradas: p. ej. Sevilla en un pie de imagen; 3 cambiar el formato o estilo de la presentaci´onpara todos los documentos a un tiempo.

Documento XML

HTML PDF e-Book ´Indices ···

Ventajas del marcado estructural

El marcado estructural permite: Est´andares y metainforma- 1 separar las tareas del editor y del tip´ografo; ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 cambiar el formato o estilo de la presentaci´onpara todos los documentos a un tiempo.

Documento XML

HTML PDF e-Book ´Indices ···

Ventajas del marcado estructural

El marcado estructural permite: Est´andares y metainforma- 1 separar las tareas del editor y del tip´ografo; ci´on Aspecto y 2 estructura realizar b´usquedaselaboradas: p. ej. Sevilla en un pie de Prospectiva imagen; Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ventajas del marcado estructural

El marcado estructural permite: Est´andares y metainforma- 1 separar las tareas del editor y del tip´ografo; ci´on Aspecto y 2 estructura realizar b´usquedaselaboradas: p. ej. Sevilla en un pie de Prospectiva imagen; Especificaci´on Estructura l´ogica 3 cambiar el formato o estilo de la presentaci´onpara todos Estructura f´ısica Hojas de estilo los documentos a un tiempo. Sintaxis XMLSchema RELAX NG Documento XML Sem´antica

Xtandards XPath XInclude ··· XQuery HTML PDF e-Book ´Indices XLink Procesamiento SAX Y DOM libxml2 MathML Ventajas del marcado estructural

Si incluimos metainformaci´onsobre el idioma del texto, el Est´andares y metainforma- editor podr´adecidir autom´aticamentela divisi´onsil´abica ci´on Aspecto y adecuada seg´unel tama˜node la l´ınea. estructura Prospectiva Especificaci´on Estructura l´ogica La expresi´on propri- Estructura f´ısica Hojas de estilo etary se suele tra- Sintaxis ducir incorrectamen- XMLSchema RELAX NG te al castellano co- Sem´antica mo propietario cuan-

Xtandards do significa “de mar- XPath ca, comercial”. XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ventajas del marcado estructural

Est´andares y Los formatos WYSIWYG: metainforma- ci´on 1 Dificultan integrar documentos con estilos diferentes. Aspecto y estructura Prospectiva 2 Permiten proliferaci´onde aspectos que pueden ser Especificaci´on ignorados. Estructura l´ogica Estructura f´ısica 3 Hojas de estilo Ocupan m´asespacio y la informaci´onsobre aspecto se Sintaxis repite. XMLSchema RELAX NG 4 No permiten explotar la metainformaci´onque el aspecto Sem´antica contiene (almacenada en forma binaria). Xtandards XPath 5 Depende de compa˜n´ıas para recuperar documentos XInclude XQuery deteriorados o antiguos. XLink Procesamiento SAX Y DOM libxml2 MathML 1 El inter´esde establecer sistemas compatibles (est´andar) de intercambio de informaci´on. 2 El aumento de capacidad de procesamiento de los sistemas actuales. 3 El aumento de la interconectividad (Internet).

Presente y futuro del XML

Est´andares y metainforma- ci´on Aspecto y estructura ¿Por qu´eXML ahora? Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 El aumento de capacidad de procesamiento de los sistemas actuales. 3 El aumento de la interconectividad (Internet).

Presente y futuro del XML

Est´andares y metainforma- ci´on Aspecto y estructura ¿Por qu´eXML ahora? Prospectiva 1 El inter´esde establecer sistemas compatibles (est´andar) de Especificaci´on Estructura l´ogica intercambio de informaci´on. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 El aumento de la interconectividad (Internet).

Presente y futuro del XML

Est´andares y metainforma- ci´on Aspecto y estructura ¿Por qu´eXML ahora? Prospectiva 1 El inter´esde establecer sistemas compatibles (est´andar) de Especificaci´on Estructura l´ogica intercambio de informaci´on. Estructura f´ısica Hojas de estilo 2 El aumento de capacidad de procesamiento de los sistemas Sintaxis XMLSchema actuales. RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Presente y futuro del XML

Est´andares y metainforma- ci´on Aspecto y estructura ¿Por qu´eXML ahora? Prospectiva 1 El inter´esde establecer sistemas compatibles (est´andar) de Especificaci´on Estructura l´ogica intercambio de informaci´on. Estructura f´ısica Hojas de estilo 2 El aumento de capacidad de procesamiento de los sistemas Sintaxis XMLSchema actuales. RELAX NG 3 Sem´antica El aumento de la interconectividad (Internet).

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 1 Es sencillo de aprender. 2 Hay herramientas y programas baratos. 3 Es legible por humanos. 4 Admite internacionalizaci´on(Unicode). 5 Contribuye a la preservaci´on. Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 Hay herramientas y programas baratos. 3 Es legible por humanos. 4 Admite internacionalizaci´on(Unicode). 5 Contribuye a la preservaci´on. Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 Es legible por humanos. 4 Admite internacionalizaci´on(Unicode). 5 Contribuye a la preservaci´on. Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on 2 Estructura l´ogica Hay herramientas y programas baratos. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 4 Admite internacionalizaci´on(Unicode). 5 Contribuye a la preservaci´on. Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on 2 Estructura l´ogica Hay herramientas y programas baratos. Estructura f´ısica Hojas de estilo 3 Es legible por humanos. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 5 Contribuye a la preservaci´on. Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on 2 Estructura l´ogica Hay herramientas y programas baratos. Estructura f´ısica Hojas de estilo 3 Es legible por humanos. Sintaxis 4 XMLSchema Admite internacionalizaci´on(Unicode). RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Un ejemplo: colecci´onde referencias bibliogr´aficas.

Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on 2 Estructura l´ogica Hay herramientas y programas baratos. Estructura f´ısica Hojas de estilo 3 Es legible por humanos. Sintaxis 4 XMLSchema Admite internacionalizaci´on(Unicode). RELAX NG 5 Contribuye a la preservaci´on. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Presente y futuro del XML/2

Est´andares y metainforma- ci´on ¿Merece la pena la inversi´on? Aspecto y estructura Prospectiva 1 Es sencillo de aprender. Especificaci´on 2 Estructura l´ogica Hay herramientas y programas baratos. Estructura f´ısica Hojas de estilo 3 Es legible por humanos. Sintaxis 4 XMLSchema Admite internacionalizaci´on(Unicode). RELAX NG 5 Contribuye a la preservaci´on. Sem´antica Xtandards Un ejemplo: colecci´onde referencias bibliogr´aficas. XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 Requiere preproceso de los ficheros. 3 El an´alisisde ´arboles es m´aslento que el de texto plano.

Inconvenientes del XML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Por contra: Especificaci´on 1 Estructura l´ogica La informaci´onocupa m´asespacio. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 El an´alisisde ´arboles es m´aslento que el de texto plano.

Inconvenientes del XML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Por contra: Especificaci´on 1 Estructura l´ogica La informaci´onocupa m´asespacio. Estructura f´ısica Hojas de estilo 2 Requiere preproceso de los ficheros. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Inconvenientes del XML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Por contra: Especificaci´on 1 Estructura l´ogica La informaci´onocupa m´asespacio. Estructura f´ısica Hojas de estilo 2 Requiere preproceso de los ficheros. Sintaxis XMLSchema 3 El an´alisisde ´arboles es m´aslento que el de texto plano. RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 1 En los sistemas de informaci´on permite compartir y reutilizar contenidos (por ejemplo, SCORM). 2 En e-bussiness sirve para representar transacciones comerciales. 3 Simplifica comunicaci´onentre sistemas para la computaci´ondistribuida (SOAP, etc.). 4 Permitir´aa˜nadirsignificado a los contenidos y construir la llamada WWW sem´antica.

XML en la actualidad

Est´andares y metainforma- El futuro inmediato: ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 En e-bussiness sirve para representar transacciones comerciales. 3 Simplifica comunicaci´onentre sistemas para la computaci´ondistribuida (SOAP, etc.). 4 Permitir´aa˜nadirsignificado a los contenidos y construir la llamada WWW sem´antica.

XML en la actualidad

Est´andares y metainforma- El futuro inmediato: ci´on Aspecto y 1 estructura En los sistemas de informaci´on permite compartir y Prospectiva reutilizar contenidos (por ejemplo, SCORM). Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 Simplifica comunicaci´onentre sistemas para la computaci´ondistribuida (SOAP, etc.). 4 Permitir´aa˜nadirsignificado a los contenidos y construir la llamada WWW sem´antica.

XML en la actualidad

Est´andares y metainforma- El futuro inmediato: ci´on Aspecto y 1 estructura En los sistemas de informaci´on permite compartir y Prospectiva reutilizar contenidos (por ejemplo, SCORM). Especificaci´on Estructura l´ogica 2 En e-bussiness sirve para representar transacciones Estructura f´ısica Hojas de estilo comerciales. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 4 Permitir´aa˜nadirsignificado a los contenidos y construir la llamada WWW sem´antica.

XML en la actualidad

Est´andares y metainforma- El futuro inmediato: ci´on Aspecto y 1 estructura En los sistemas de informaci´on permite compartir y Prospectiva reutilizar contenidos (por ejemplo, SCORM). Especificaci´on Estructura l´ogica 2 En e-bussiness sirve para representar transacciones Estructura f´ısica Hojas de estilo comerciales. Sintaxis 3 XMLSchema Simplifica comunicaci´onentre sistemas para la RELAX NG computaci´ondistribuida (SOAP, etc.). Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML en la actualidad

Est´andares y metainforma- El futuro inmediato: ci´on Aspecto y 1 estructura En los sistemas de informaci´on permite compartir y Prospectiva reutilizar contenidos (por ejemplo, SCORM). Especificaci´on Estructura l´ogica 2 En e-bussiness sirve para representar transacciones Estructura f´ısica Hojas de estilo comerciales. Sintaxis 3 XMLSchema Simplifica comunicaci´onentre sistemas para la RELAX NG computaci´ondistribuida (SOAP, etc.). Sem´antica 4 Xtandards Permitir´aa˜nadirsignificado a los contenidos y construir la XPath XInclude llamada WWW sem´antica. XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML bien construido

Est´andares y Un documento de XML bien construido s´olopuede contener: metainforma- ci´on 1 Texto: Aquella ma˜nana... Aspecto y estructura 2 Pares de etiquetas: Prospectiva Especificaci´on ... Estructura l´ogica 3 Estructura f´ısica Instrucciones para el procesador: Hojas de estilo Sintaxis XMLSchema 4 Comentarios y declaraciones: RELAX NG Sem´antica

Xtandards XPath 5 XInclude Referencias a entidades predefinidas: XQuery XLink Welcome to &xml;. Procesamiento SAX Y DOM libxml2 MathML 2 Se distingue nombres en min´usculay may´uscula. 3 Se debe respetar el anidamiento. 4 Hay un s´oloelemento ra´ız.

XML bien construido

Est´andares y metainforma- ci´on Aspecto y estructura Adem´as,en el XML bien construido: Prospectiva Especificaci´on 1 Toda etiqueta abierta debe cerrarse. Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 3 Se debe respetar el anidamiento. 4 Hay un s´oloelemento ra´ız.

XML bien construido

Est´andares y metainforma- ci´on Aspecto y estructura Adem´as,en el XML bien construido: Prospectiva Especificaci´on 1 Toda etiqueta abierta debe cerrarse. Estructura l´ogica Estructura f´ısica 2 Se distingue nombres en min´usculay may´uscula. Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 4 Hay un s´oloelemento ra´ız.

XML bien construido

Est´andares y metainforma- ci´on Aspecto y estructura Adem´as,en el XML bien construido: Prospectiva Especificaci´on 1 Toda etiqueta abierta debe cerrarse. Estructura l´ogica Estructura f´ısica 2 Se distingue nombres en min´usculay may´uscula. Hojas de estilo Sintaxis 3 Se debe respetar el anidamiento. XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML bien construido

Est´andares y metainforma- ci´on Aspecto y estructura Adem´as,en el XML bien construido: Prospectiva Especificaci´on 1 Toda etiqueta abierta debe cerrarse. Estructura l´ogica Estructura f´ısica 2 Se distingue nombres en min´usculay may´uscula. Hojas de estilo Sintaxis 3 Se debe respetar el anidamiento. XMLSchema RELAX NG 4 Hay un s´oloelemento ra´ız. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Podemos determinar qu´eelementos pueden aparecer dentro de otro. Tambi´enel orden o si son opcionales.

XML v´alido

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on XML permite especificar el contenido de cada ele- Estructura l´ogica mento mediante un esquema de marcado Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML v´alido

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on XML permite especificar el contenido de cada ele- Estructura l´ogica mento mediante un esquema de marcado Estructura f´ısica Hojas de estilo Sintaxis Podemos determinar qu´eelementos pueden aparecer dentro de XMLSchema RELAX NG otro. Tambi´enel orden o si son opcionales. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML No deben confundirse el an´alisissint´actico(valida- ci´on) y el procesamiento de un documento, pues pueden realizarse independientemente.

XML v´alido

Est´andares y metainforma- ci´on Que un documento sea XML bien construido no Aspecto y estructura Prospectiva implica que sea v´alido sint´acticamente.Esto depen- Especificaci´on der´ade las normas sint´acticas (esquema) a las que Estructura l´ogica Estructura f´ısica se adhiera. Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML v´alido

Est´andares y metainforma- ci´on Que un documento sea XML bien construido no Aspecto y estructura Prospectiva implica que sea v´alido sint´acticamente.Esto depen- Especificaci´on der´ade las normas sint´acticas (esquema) a las que Estructura l´ogica Estructura f´ısica se adhiera. Hojas de estilo Sintaxis XMLSchema No deben confundirse el an´alisissint´actico(valida- RELAX NG Sem´antica ci´on) y el procesamiento de un documento, pues

Xtandards pueden realizarse independientemente. XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML v´alidoy bien construido

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva

Especificaci´on Estructura l´ogica T. Berners-Lee, J. Hendler & O. Lassila Estructura f´ısica Hojas de estilo Sintaxis The semantic web XMLSchema RELAX NG Scientific American Sem´antica 2001

Xtandards

XPath XInclude XQuery XLink Procesamiento Ejercicio: se˜nalatexto, etiquetas, referencias, instrucciones y SAX Y DOM declaraciones en el documento. libxml2 MathML Instrucciones para el procesador

Est´andares y metainforma- ci´on Aspecto y estructura Las instrucciones para el procesador pasan informaci´ona las Prospectiva Especificaci´on aplicaciones: Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: elementos

Un par de etiquetas define un elemento cuyo contenido puede Est´andares y metainforma- ser ci´on Aspecto y texto: estructura Prospectiva Contenido de un p´arrafo Especificaci´on Estructura l´ogica elementos: Estructura f´ısica Hojas de estilo Sintaxis

blablabla...
XMLSchema RELAX NG
blablabla...
Sem´antica Xtandards mixto: XPath XInclude Texto con pie XQuery XLink vac´ıo: (se recomienda escribir

). Procesamiento SAX Y DOM libxml2 MathML Etiquetas: estructura l´ogica

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Las etiquetas definen los elementos que, a su vez, definen la Especificaci´on Estructura l´ogica estructura l´ogica del documento. Estructura f´ısica Hojas de estilo Los elementos deben estar completamente contenidos en otros Sintaxis (prohibido ). XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: estructura l´ogica

book

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva cover chapter chapter Especificaci´on Estructura l´ogica Estructura f´ısica title author section section Hojas de estilo section section section Sintaxis XMLSchema footnote RELAX NG book Sem´antica chapter Xtandards cover section chapter XPath title XInclude section section XQuery author XLink section section Procesamiento footnote SAX Y DOM libxml2 MathML Etiquetas: estructura l´ogica

La estructura jer´arquica permite recursividad:

Est´andares y metainforma- list ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis item item item XMLSchema RELAX NG #PCDATA #PCDATA Sem´antica #PCDATA list Xtandards XPath XInclude item item XQuery XLink #PCDATA #PCDATA Procesamiento SAX Y DOM libxml2 MathML Etiquetas: estructura l´ogica

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica ¿Puede un elemento vac´ıotener espacios en blanco? Estructura f´ısica Hojas de estilo Ayuda Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: atributos

Est´andares y metainforma- ci´on Aspecto y Es posible guardar metainformaci´onen forma de atributos: estructura Prospectiva Especificaci´on ... Estructura l´ogica Estructura f´ısica Hojas de estilo Siempre entrecomillados, pues pueden contener espacios Sintaxis en blanco. XMLSchema RELAX NG No pueden repetirse en el mismo elemento. Sem´antica Se puede especificar (d´ebilmente)el tipo de los atributos. Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Si las cadenas de texto van a ser muy largas. Si pueden tener estructura. Si puede haber m´asde un atributo del mismo tipo (p.ej., varios autores). Por contra, permiten incluir informaci´onvol´atilsin tener que redise˜nar la DTD.

Etiquetas: elementos y atributos

Est´andares y metainforma- ci´on Si bien los atributos no aumentan el tama˜node la estructura, Aspecto y estructura ¿cu´andoes preferible usar elementos en vez de atributos? Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Si pueden tener estructura. Si puede haber m´asde un atributo del mismo tipo (p.ej., varios autores). Por contra, permiten incluir informaci´onvol´atilsin tener que redise˜nar la DTD.

Etiquetas: elementos y atributos

Est´andares y metainforma- ci´on Si bien los atributos no aumentan el tama˜node la estructura, Aspecto y estructura ¿cu´andoes preferible usar elementos en vez de atributos? Prospectiva Especificaci´on Si las cadenas de texto van a ser muy largas. Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Si puede haber m´asde un atributo del mismo tipo (p.ej., varios autores). Por contra, permiten incluir informaci´onvol´atilsin tener que redise˜nar la DTD.

Etiquetas: elementos y atributos

Est´andares y metainforma- ci´on Si bien los atributos no aumentan el tama˜node la estructura, Aspecto y estructura ¿cu´andoes preferible usar elementos en vez de atributos? Prospectiva Especificaci´on Si las cadenas de texto van a ser muy largas. Estructura l´ogica Estructura f´ısica Si pueden tener estructura. Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: elementos y atributos

Est´andares y metainforma- ci´on Si bien los atributos no aumentan el tama˜node la estructura, Aspecto y estructura ¿cu´andoes preferible usar elementos en vez de atributos? Prospectiva Especificaci´on Si las cadenas de texto van a ser muy largas. Estructura l´ogica Estructura f´ısica Si pueden tener estructura. Hojas de estilo Sintaxis Si puede haber m´asde un atributo del mismo tipo (p.ej., XMLSchema RELAX NG varios autores). Sem´antica Por contra, permiten incluir informaci´onvol´atilsin tener que Xtandards XPath redise˜nar la DTD. XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: tipos de atributos

Est´andares y metainforma- Reservados: xml:lang, xml:space,... ci´on Aspecto y estructura CDATA: character data (cadenas de caracteres). Prospectiva Especificaci´on NMTOKEN, NMTOKENS: como el anterior, pero Estructura l´ogica restringido a nombres v´alidos. Estructura f´ısica Hojas de estilo ID, IDREF, IDREFS: hiperv´ınculos. Sintaxis XMLSchema ENTITY, ENTITIES: referencia a una entidad (p.ej., RELAX NG Sem´antica imagen externa). Xtandards NOTATION: el elemento contiene otro tipo de datos XPath XInclude (p.ej., GIF). XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Etiquetas: tipos de atributos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica ¿Se admiten referencias hacia adelante y hacia atr´as? Estructura f´ısica Hojas de estilo Ayuda Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Comentarios y declaraciones

Est´andares y metainforma- ci´on Aspecto y estructura Comentarios: Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Declaraciones (instrucciones para el analizador): Hojas de estilo Sintaxis [CDATA], [INCLUDE], [IGNORE] XMLSchema DOCTYPE, ELEMENT, ATTLIST RELAX NG Sem´antica ENTITY, NOTATION

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Declaraciones

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva CDATA marca zonas que no son XML: Especificaci´on Estructura l´ogica ]]> Estructura f´ısica Hojas de estilo IGNORE, INCLUDE marcan partes condicionales del Sintaxis XMLSchema documento: RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ENTITY, NOTATION: entidades para hacer referencia a ellas. Definen la estructura f´ısica.

Declaraciones

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva DOCTYPE, ELEMENT, ATTLIST: usadas en la Document Especificaci´on Estructura l´ogica Type Definition o DTD para definir la estructura l´ogica. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Declaraciones

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva DOCTYPE, ELEMENT, ATTLIST: usadas en la Document Especificaci´on Estructura l´ogica Type Definition o DTD para definir la estructura l´ogica. Estructura f´ısica Hojas de estilo ENTITY, NOTATION: entidades para hacer referencia a Sintaxis XMLSchema ellas. Definen la estructura f´ısica. RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Estructura l´ogicay f´ısica

Los elementos definen la estructura l´ogica,las entidades la estructura f´ısica. Est´andares y metainforma- book ci´on Aspecto y estructura Prospectiva Especificaci´on page page page Estructura l´ogica Estructura f´ısica Hojas de estilo pageheader pageheader pageheader Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML La DTD especifica: 1 qu´eetiquetas se pueden utilizar y 2 d´ondepueden aparecer dichas etiquetas.

XML v´alido

Est´andares y metainforma- ci´on Aspecto y estructura Document Type Definition (DTD): es el conjunto de reglas Prospectiva gramaticales que debe obedecer el documento para ser XML Especificaci´on Estructura l´ogica v´alido. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML v´alido

Est´andares y metainforma- ci´on Aspecto y estructura Document Type Definition (DTD): es el conjunto de reglas Prospectiva gramaticales que debe obedecer el documento para ser XML Especificaci´on Estructura l´ogica v´alido. Estructura f´ısica Hojas de estilo La DTD especifica: Sintaxis 1 XMLSchema qu´eetiquetas se pueden utilizar y RELAX NG 2 d´ondepueden aparecer dichas etiquetas. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML incluir una DTD; la etiqueta del elemento ra´ızdebe ser la definida por DOCTYPE; ajustarse en su contenido a lo permitido por la DTD.

Documentos v´alidos

Est´andares y metainforma- ci´on Aspecto y Para que un documento sea v´alido sint´acticamentedebe: estructura Prospectiva estar bien construido; Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML la etiqueta del elemento ra´ızdebe ser la definida por DOCTYPE; ajustarse en su contenido a lo permitido por la DTD.

Documentos v´alidos

Est´andares y metainforma- ci´on Aspecto y Para que un documento sea v´alido sint´acticamentedebe: estructura Prospectiva estar bien construido; Especificaci´on Estructura l´ogica Estructura f´ısica incluir una DTD; Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ajustarse en su contenido a lo permitido por la DTD.

Documentos v´alidos

Est´andares y metainforma- ci´on Aspecto y Para que un documento sea v´alido sint´acticamentedebe: estructura Prospectiva estar bien construido; Especificaci´on Estructura l´ogica Estructura f´ısica incluir una DTD; Hojas de estilo la etiqueta del elemento ra´ızdebe ser la definida por Sintaxis XMLSchema DOCTYPE; RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Documentos v´alidos

Est´andares y metainforma- ci´on Aspecto y Para que un documento sea v´alido sint´acticamentedebe: estructura Prospectiva estar bien construido; Especificaci´on Estructura l´ogica Estructura f´ısica incluir una DTD; Hojas de estilo la etiqueta del elemento ra´ızdebe ser la definida por Sintaxis XMLSchema DOCTYPE; RELAX NG Sem´antica ajustarse en su contenido a lo permitido por la DTD.

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Documentos v´alidos

Est´andares y metainforma- ci´on Aspecto y Para que un documento sea v´alido sint´acticamentedebe: estructura Prospectiva estar bien construido; Especificaci´on Estructura l´ogica Estructura f´ısica incluir una DTD; Hojas de estilo la etiqueta del elemento ra´ızdebe ser la definida por Sintaxis XMLSchema DOCTYPE; RELAX NG Sem´antica ajustarse en su contenido a lo permitido por la DTD.

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD y estructura l´ogica

Est´andares y metainforma- ci´on La DTD puede ser Aspecto y estructura Prospectiva externa: Especificaci´on Estructura l´ogica Estructura f´ısica interna: Hojas de estilo Sintaxis ...]> XMLSchema RELAX NG con parte interna y externa: Sem´antica XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML El uso de DTD externas: Reduce el espacio que ocupan los documentos. Normaliza los documentos. Evita errores.

DTD externa

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Las declaraciones internas reescriben las externas Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD externa

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Las declaraciones internas reescriben las externas Especificaci´on Estructura l´ogica Estructura f´ısica El uso de DTD externas: Hojas de estilo Sintaxis Reduce el espacio que ocupan los documentos. XMLSchema RELAX NG Normaliza los documentos. Sem´antica Evita errores. Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD: ejemplo

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD: modelos de contenido

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva , seguido de Especificaci´on | o Estructura l´ogica Estructura f´ısica ? opcional Hojas de estilo Sintaxis + una o m´asveces XMLSchema * tantos como se quiera (incluso ninguno) RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejercicio

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica ¿Importa en qu´eorden se definan los elementos? Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejercicio

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Construye (parte de) una DTD para guardar bibliograf´ıa. Especificaci´on Puedes consultar . Valida un fichero Estructura l´ogica http://bibtexml.sf.net Estructura f´ısica Hojas de estilo XML con la DTD. Sintaxis Escribe las ventajas e inconvenientes de usar un formato XML XMLSchema RELAX NG v´alidoen vez de bibtex. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD y modelos de contenido

Est´andares y metainforma- ci´on Aspecto y estructura Los modelos de contenido pueden ser: Prospectiva Especificaci´on de elementos: Estructura l´ogica Estructura f´ısica de texto: Hojas de estilo Sintaxis vac´ıos: XMLSchema RELAX NG mixtos: Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD y modelos de contenido

Los modelos de contenido mixto tienen fuertes restricciones: Est´andares y metainforma- "(#PCDATA" ("|" elementName)* ")*" ci´on Aspecto y Por ejemplo: estructura Prospectiva Especificaci´on (#PCDATA | element1 | element2 )* Estructura l´ogica Estructura f´ısica Hojas de estilo Adem´as: Sintaxis XMLSchema En el est´andar SGML, los modelos de contenido RELAX NG Sem´antica deben ser no ambiguos.

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DTD y atributos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on ATTLIST permite restringir el tipo de atributos que puede tener Estructura l´ogica Estructura f´ısica un elemento. Por ejemplo, Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Tipos de atributos

Est´andares y metainforma- #REQUIRED : obligatorio. ci´on Aspecto y #IMPLIED : opcional. estructura Prospectiva # FIXED : fijo, constante. Especificaci´on Estructura l´ogica enumerado : opciones limitadas. Estructura f´ısica Hojas de estilo default : valor por defecto. Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Estructura f´ısica:referencias

Est´andares y metainforma- ci´on Aspecto y estructura Algunas entidades est´anpredefinidas: < denota “<”. Prospectiva Especificaci´on Otras se definen mediante una declaraci´on dentro de la Estructura l´ogica Estructura f´ısica DTD: Hojas de estilo Sintaxis XMLSchema Para usarlas despu´es: El &xml; es divertido RELAX NG Sem´antica ¿Se puede usar una entidad antes de definirla? Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Estructura f´ısica:referencias

Est´andares y metainforma- ci´on Aspecto y estructura Las entidades permiten: Prospectiva Especificaci´on Evitar repeticiones (y errores) de informaci´on. Estructura l´ogica Estructura f´ısica Hojas de estilo Subdividir la informaci´onen fragmentos (o ficheros) Sintaxis diferentes. XMLSchema RELAX NG Utilizar formatos distintos (no XML) [no recomendado]. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Referencias y entidades

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Una referencia puede referirse a una entidad: Especificaci´on interna (si est´aantes en el mismo documento), Estructura l´ogica Estructura f´ısica Hojas de estilo externas (si est´aen otro fichero). Sintaxis En caso de que la entidad se encuentre definida m´asde una XMLSchema RELAX NG vez, s´olose considerar´ala primera. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Referencias y entidades

Est´andares y metainforma- ci´on Aspecto y estructura Las entidades se pueden ser: Prospectiva Especificaci´on Un car´acter o cadena de texto (predefinida o no). Estructura l´ogica Estructura f´ısica Hojas de estilo Una parte de la DTD (entidad par´ametro). Sintaxis Externa con contenido XML. XMLSchema RELAX NG Externa con contenido binario. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Entidades predefinidas y de car´acter

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva < se refiere a “<”. Especificaci´on > se refiere a “>”. Estructura l´ogica Estructura f´ısica Hojas de estilo & se refiere a “&”. Sintaxis " se refiere a las comillas. XMLSchema RELAX NG © se refiere a “ c ”. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Entidades texto y par´ametro

Est´andares y metainforma- ci´on Aspecto y estructura Texto (se definen en la DTD y se usan en el texto): Prospectiva Especificaci´on Estructura l´ogica El &xml; es divertido. Estructura f´ısica Hojas de estilo Par´ametro (se definen y usan s´olodentro de la DTD): Sintaxis XMLSchema RELAX NG Sem´antica

Est´andares y metainforma- ci´on Las entidades externas pueden ser XML o binarias. Si son XML Aspecto y estructura (y locales), se usan como sigue: Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Atentamente, Sem´antica &signat; Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Entidades binarias

Est´andares y Algunos autores cren que las entidades binarias no deben metainforma- ci´on usarse en XML. Aspecto y estructura Prospectiva Es preciso determinar la aplicaci´onque las va a tratar Especificaci´on mediante NOTATION: Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis Se define una entidad de tipo NDATA (Notational Data): XMLSchema RELAX NG Sem´antica Y se usa en elementos vac´ıosque admitan atributos de Xtandards tipo entidad. XPath XInclude XQuery El DLSI pertenece a la XLink Procesamiento SAX Y DOM libxml2 MathML Uso de entidades p´ublicas

Est´andares y metainforma- ci´on Aspecto y estructura XML permite el uso de entidades y de DTD p´ublicasmediante Prospectiva el uso de la palabra PUBLIC seguida de un Formal Public Especificaci´on Identifier (FPI) y un URI: Estructura l´ogica Estructura f´ısica Hojas de estilo Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Entidades externas: ejemplo de uso

Est´andares y metainforma- ci´on Especificaci´on Estructura l´ogica %ISOlat1; Estructura f´ısica Hojas de estilo Sintaxis Sem´antica --> Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Formal Public Identifiers

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on ISO La DTD es un est´andar aprobado ISO. Estructura l´ogica Estructura f´ısica + La DTD es un est´andar aprobado no ISO. Hojas de estilo − La DTD es un est´andar no aprobado. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Espacios de nombres

Est´andares y metainforma- Los espacios de nombres permiten que un documento tenga ci´on partes que siguen una DTD y partes que sigan otra. Aspecto y estructura Prospectiva Hojas de estilo Sintaxis XMLSchema ... RELAX NG Sem´antica Xtandards Por ejemplo, si queremos escribir un documento en XHTML XPath XInclude con partes en MathML; o XSLT que genera XHTML. XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Espacios de nombres

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva El uso de espacios de nombres genera XML bien constru´ıdoy Especificaci´on puede ser procesado por un procesador que no entienda Estructura l´ogica Estructura f´ısica Hojas de estilo espacios de nombres. Sintaxis Por contra, el uso de distintos espacios de nombres dificulta la XMLSchema RELAX NG validaci´onde los documentos. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XSLT

Est´andares y metainforma- ci´on Aspecto y estructura CSS = Cascading Style Sheets. Permite definir el aspecto Prospectiva Especificaci´on con el que se presentar´adel documento. Estructura l´ogica Estructura f´ısica XSL = XML Stylesheet Language. Permite definir Hojas de estilo formatos. Es como el CSS de XML, aunque m´aspotente. Sintaxis XMLSchema XSLT = XSL Transformation. Permite transformar XML RELAX NG Sem´antica en XML (p.ej. XHTML).

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Uso de CSS

Est´andares y metainforma- bibtex.xml: ci´on Aspecto y estructura Prospectiva css"?> Especificaci´on Estructura l´ogica Estructura f´ısica bibtex.css: Hojas de estilo Sintaxis XMLSchema * { font-family: verdana; font-size:10pt; display:block; } RELAX NG journal:before { content:"Reference: "; } Sem´antica proceedings editor:before { content:"("; } Xtandards proceedings editor:after { content:" editor)"; } XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Uso de XSLT

bibtex.xml:

Est´andares y metainforma- ci´on xsl"?> Aspecto y estructura Prospectiva bibtex.xsl: Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Uso de XSLT con CSS

Est´andares y metainforma- ci´on Aspecto y Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG href="bibtex.css" type="text/css" Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Un ejemplo de XSLT

Est´andares y References metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema , RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Un ejemplo de XSLT output

Est´andares y metainforma- ci´on Aspecto y References estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica The semantic web Hojas de estilo T. Berners-Lee et al. Sintaxis XMLSchema Scientific American RELAX NG 2001 Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XSLT y XHTML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Se puede definir el espacio de nombres xsl en un documento Especificaci´on Estructura l´ogica XHTML e incluir instrucciones de XSLT. As´ı,al menos, el Estructura f´ısica Hojas de estilo analizador nos valida todas las partes del documento del Sintaxis espacio . XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejercicio

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Escribe un fichero xhtml que incorpore una cabecera (esto es, Estructura f´ısica Hojas de estilo otro fichero v´alidode xml). Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Est´andares relacionados con XML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Procesamiento de texto XML Especificaci´on Validaci´on DTD, XMLSchema, Relax NG Estructura l´ogica Estructura f´ısica Navegaci´on XPath, XLink Hojas de estilo Sintaxis Query XQuery XMLSchema RELAX NG Transformaci´on XSLT Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Permite especificar tipos de datos (DTD= 10, Schema> 44). Es abierto (permite usar elementos sin definir); MS ha prometido seguir el est´andar.

Tanto DTD como XMLSchema o RELAXNG son esquemas (schemata = plural de schema)

XML Schema

Est´andares y Es XML ⇒ metainforma- ci´on No necesita herramientas espec´ıficaspara edici´on,o Aspecto y validaci´on. estructura Prospectiva Tiene DTD (?) y Schema (!). Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Es abierto (permite usar elementos sin definir); MS ha prometido seguir el est´andar.

Tanto DTD como XMLSchema o RELAXNG son esquemas (schemata = plural de schema)

XML Schema

Est´andares y Es XML ⇒ metainforma- ci´on No necesita herramientas espec´ıficaspara edici´on,o Aspecto y validaci´on. estructura Prospectiva Tiene DTD (?) y Schema (!). Especificaci´on Estructura l´ogica Permite especificar tipos de datos (DTD= 10, Estructura f´ısica Hojas de estilo Schema> 44). Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML MS ha prometido seguir el est´andar.

Tanto DTD como XMLSchema o RELAXNG son esquemas (schemata = plural de schema)

XML Schema

Est´andares y Es XML ⇒ metainforma- ci´on No necesita herramientas espec´ıficaspara edici´on,o Aspecto y validaci´on. estructura Prospectiva Tiene DTD (?) y Schema (!). Especificaci´on Estructura l´ogica Permite especificar tipos de datos (DTD= 10, Estructura f´ısica Hojas de estilo Schema> 44). Sintaxis Es abierto (permite usar elementos sin definir); XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Tanto DTD como XMLSchema o RELAXNG son esquemas (schemata = plural de schema)

XML Schema

Est´andares y Es XML ⇒ metainforma- ci´on No necesita herramientas espec´ıficaspara edici´on,o Aspecto y validaci´on. estructura Prospectiva Tiene DTD (?) y Schema (!). Especificaci´on Estructura l´ogica Permite especificar tipos de datos (DTD= 10, Estructura f´ısica Hojas de estilo Schema> 44). Sintaxis Es abierto (permite usar elementos sin definir); XMLSchema RELAX NG MS ha prometido seguir el est´andar. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema

Est´andares y Es XML ⇒ metainforma- ci´on No necesita herramientas espec´ıficaspara edici´on,o Aspecto y validaci´on. estructura Prospectiva Tiene DTD (?) y Schema (!). Especificaci´on Estructura l´ogica Permite especificar tipos de datos (DTD= 10, Estructura f´ısica Hojas de estilo Schema> 44). Sintaxis Es abierto (permite usar elementos sin definir); XMLSchema RELAX NG MS ha prometido seguir el est´andar. Sem´antica

Xtandards XPath Tanto DTD como XMLSchema o RELAXNG son XInclude XQuery esquemas (schemata = plural de schema) XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema

Est´andares y metainforma- ci´on ¿C´omose vincula un XMLSchema a un documento XML? Aspecto y estructura Prospectiva Hojas de estilo Sintaxis El espacio xsi permite usar el atributo xsi:schemaLocation en el XMLSchema RELAX NG documento XML, aunque no est´epermitido por el esquema. El Sem´antica espacio de nombres xsi s´olodeclara los atributos “namespace” Xtandards y “schemaLocation”. XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on El espacio de nombres del XMLSchema es usualmente xsd: Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura Los elementos se declaran mediante xsd:element: Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo y los atributos mediante xsd:attribute Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: definici´onde tipos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva De los tipos b´asicospueden derivarse nuevos tipos, simples o Especificaci´on Estructura l´ogica complejos. Estructura f´ısica Hojas de estilo Los tipos simples se definen mediante xsd:simpleType y los Sintaxis complejos con xsd:complexType XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML simpleType: elementos que continen s´olotexto; complexType: elementos con subelementos o atributos; 2 Declaraci´onde contenidos: element, group; attribute, attributeGroup.

XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML complexType: elementos con subelementos o atributos; 2 Declaraci´onde contenidos: element, group; attribute, attributeGroup.

XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on simpleType: elementos que continen s´olotexto; Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML 2 Declaraci´onde contenidos: element, group; attribute, attributeGroup.

XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on simpleType: elementos que continen s´olotexto; Estructura l´ogica complexType: elementos con subelementos o atributos; Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML element, group; attribute, attributeGroup.

XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on simpleType: elementos que continen s´olotexto; Estructura l´ogica complexType: elementos con subelementos o atributos; Estructura f´ısica Hojas de estilo 2 Declaraci´onde contenidos: Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML attribute, attributeGroup.

XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on simpleType: elementos que continen s´olotexto; Estructura l´ogica complexType: elementos con subelementos o atributos; Estructura f´ısica Hojas de estilo 2 Declaraci´onde contenidos: Sintaxis XMLSchema element, group; RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: contenido b´asico

Est´andares y metainforma- ci´on Aspecto y estructura 1 Definici´onde tipos de contenido: Prospectiva Especificaci´on simpleType: elementos que continen s´olotexto; Estructura l´ogica complexType: elementos con subelementos o atributos; Estructura f´ısica Hojas de estilo 2 Declaraci´onde contenidos: Sintaxis XMLSchema element, group; RELAX NG attribute, attributeGroup. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: definici´onde tipos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Primitivos Derivados Estructura l´ogica Estructura f´ısica Built-in Si Si Hojas de estilo User-defined No Si Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: Tipos primitivos

Est´andares y metainforma- ci´on string, boolean, decimal, float, double Aspecto y estructura duration, dateTime, time, date Prospectiva Especificaci´on gYearMonth, gYear, gMonthDay, gDay, gMonth Estructura l´ogica hexBinary, base64Binary Estructura f´ısica Hojas de estilo anyURI Sintaxis QName XMLSchema RELAX NG NOTATION Sem´antica

Xtandards g= Gregoriano XPath XInclude 100=1.0E2, pero existe forma can´onica XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XMLSchema: Tipos derivados

Est´andares y metainforma- ci´on Aspecto y estructura normalizedString, token, Name, NCName Prospectiva language, NMTOKEN, NMTOKENS Especificaci´on ID, IDREF, IDREFS, ENTITY, ENTITIES Estructura l´ogica Estructura f´ısica integer Hojas de estilo nonNegativeInteger, positiveInteger, nonPositiveInteger, negativeInteger Sintaxis XMLSchema long, int, short RELAX NG unsignedLong, unsignedInt, unsignedShort Sem´antica byte, unsignedByte Xtandards XPath XInclude normalizedString: sin espacios en blanco XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: Derivaci´onde tipos por restricci´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: Derivaci´onde tipos por restricci´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: Derivaci´onde tipos por restricci´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo .... Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejemplos: NMTOKENS, IDREFS, ENTITIES.

XML Schema: Derivaci´onde tipos por listas

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis 8 10.5 12 XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onde tipos complejos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onde tipos complejos

Est´andares y metainforma- ci´on Observaciones: Aspecto y estructura En la definici´onanterior aparecen subelementos y Prospectiva Especificaci´on atributos (ISBN). Estructura l´ogica Estructura f´ısica El atributo ref de xsd:element permite evitar Hojas de estilo Sintaxis redefiniciones. XMLSchema RELAX NG Un elemento puede tener el mismo nombre y distinto tipo Sem´antica en dos definiciones de complexType distintas (sensibilidad Xtandards al contexto). XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onde tipos complejos

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Adem´asde xsd:sequence, tenemos xsd:union. Estructura l´ogica Estructura f´ısica Para los operadores de repetici´onse usan dos atributos Hojas de estilo opcionales de sequence y union: minOccurs y maxOccurs Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejercicio

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Transforma el modelo de contenido (A|(B,C?))* en una Estructura f´ısica Hojas de estilo definic´onmediante XMLSchema. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Ejercicio

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Transformaci´onde DTD en XML Schema

Est´andares y metainforma- * minOccurrs=0 maxOcurrs=unbounded ci´on Aspecto y + minOccurrs=1 maxOcurrs=unbounded estructura Prospectiva ? minOccurrs=0 maxOcurrs=1 Especificaci´on Estructura l´ogica , xsd:sequence Estructura f´ısica Hojas de estilo | xsd:choice Sintaxis () no hay XMLSchema RELAX NG X xsd:element Sem´antica %X; xsd:group ref="X" Xtandards XPath XInclude Los atributos minOccurrs y maxOccurrs son opcionales de XQuery XLink group, sequence o choice. Procesamiento SAX Y DOM libxml2 MathML Tambi´enexisten los grupos de elementos:

...

XML Schema: entidades par´ametro

Est´andares y Los grupos de atributos permiten modularizar las definiciones metainforma- ci´on de atributos y se usan como las entidades par´ametrode una Aspecto y estructura DTD: Prospectiva Especificaci´on ... Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: entidades par´ametro

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica ¿Qu´ediferencia hay entre referenciar un elemento y un grupo Estructura f´ısica Hojas de estilo en un modelo de contenido? Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onmediante uni´on

Est´andares y metainforma- ci´on Aspecto y La definici´ondel atributo occurs es la siguiente: estructura Prospectiva Especificaci´on Estructura l´ogica Sintaxis XMLSchema .... RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onmediante uni´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onmediante extensi´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: derivaci´onmediante extensi´on

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Helen Zoe Hojas de estilo 47 Eden Street Sintaxis XMLSchema Cambridge RELAX NG CB1 1JR Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML Schema: sensibilidad al contexto

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Un buen ejemplo por Sperberg-McQueen. Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Basado en la teor´ıagramatical: sensible al contexto. Permite especificar tipos de datos (como XML Schema). Es m´aspotente que las DTD o XML Schema. No permite valores por defecto (salvo que se combine con DTD). Permite usar espacios de nombres. Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Permite especificar tipos de datos (como XML Schema). Es m´aspotente que las DTD o XML Schema. No permite valores por defecto (salvo que se combine con DTD). Permite usar espacios de nombres. Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Es m´aspotente que las DTD o XML Schema. No permite valores por defecto (salvo que se combine con DTD). Permite usar espacios de nombres. Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML No permite valores por defecto (salvo que se combine con DTD). Permite usar espacios de nombres. Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Es m´aspotente que las DTD o XML Schema. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Permite usar espacios de nombres. Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Es m´aspotente que las DTD o XML Schema. Estructura f´ısica Hojas de estilo No permite valores por defecto (salvo que se combine con Sintaxis DTD). XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Permite contenido sin orden. Los modelos de contenido pueden ser ambiguos e incluir atributos. No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Es m´aspotente que las DTD o XML Schema. Estructura f´ısica Hojas de estilo No permite valores por defecto (salvo que se combine con Sintaxis DTD). XMLSchema RELAX NG Permite usar espacios de nombres. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML No permite entidades ni NOTATION.

RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Es m´aspotente que las DTD o XML Schema. Estructura f´ısica Hojas de estilo No permite valores por defecto (salvo que se combine con Sintaxis DTD). XMLSchema RELAX NG Permite usar espacios de nombres. Sem´antica

Xtandards Permite contenido sin orden. Los modelos de contenido XPath pueden ser ambiguos e incluir atributos. XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG

Est´andares y Es XML y se aprende r´apidamente. metainforma- ci´on Basado en la teor´ıagramatical: sensible al contexto. Aspecto y estructura Prospectiva Permite especificar tipos de datos (como XML Schema). Especificaci´on Estructura l´ogica Es m´aspotente que las DTD o XML Schema. Estructura f´ısica Hojas de estilo No permite valores por defecto (salvo que se combine con Sintaxis DTD). XMLSchema RELAX NG Permite usar espacios de nombres. Sem´antica

Xtandards Permite contenido sin orden. Los modelos de contenido XPath pueden ser ambiguos e incluir atributos. XInclude XQuery XLink No permite entidades ni NOTATION. Procesamiento SAX Y DOM libxml2 MathML RELAX NG: ejemplo

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG: ejemplo

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG: sintaxis compacta

Est´andares y James Clark ha inventado una notaci´oncompacta (estilo DTD) metainforma- ci´on para RelaxNG: Aspecto y estructura Prospectiva element addressBook { Especificaci´on element card { Estructura l´ogica Estructura f´ısica (element name { text } Hojas de estilo | (element givenName { text }, Sintaxis element familyName { text })), XMLSchema RELAX NG element email { text }, Sem´antica element note { text }? Xtandards }* XPath XInclude } XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG y lenguajes de ´arboles

Permite definir modelos de contenido dependientes del Est´andares y contexto. metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude ... XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG y lenguajes de ´arboles

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RELAX NG y lenguajes de ´arboles

Est´andares y metainforma- ci´on Aspecto y estructura En sintaxis compacta: Prospectiva Especificaci´on start = element doc { parWithoutFNotes, parWithFNotes* } Estructura l´ogica Estructura f´ısica Hojas de estilo parWithoutFNotes = element para { text } Sintaxis XMLSchema RELAX NG parWithFNotes = element para { mixed { fnote* } } Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Hay que localizar cines, pel´ıculasy precios; filtrar bases de datos (www.imdb.com), revistas, p´aginaspersonales, etc.

XML y relaciones sem´anticas

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Un ordenador no comprende al informaci´onque procesa. Por Especificaci´on ello, comprar una entrada para la pel´ıcula“Star wars” requiere Estructura l´ogica Estructura f´ısica un esfuerzo considerable. Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML y relaciones sem´anticas

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Un ordenador no comprende al informaci´onque procesa. Por Especificaci´on ello, comprar una entrada para la pel´ıcula“Star wars” requiere Estructura l´ogica Estructura f´ısica un esfuerzo considerable. Hojas de estilo Sintaxis Hay que localizar cines, pel´ıculasy precios; filtrar bases de XMLSchema RELAX NG datos (www.imdb.com), revistas, p´aginaspersonales, etc. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML y relaciones sem´anticas

Est´andares y metainforma- ci´on Aspecto y El RDF (Resource Description Format) es un forma- estructura Prospectiva to para la descripci´onde documentos de Internet. Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo 1 Es una aplicaci´ondel XML (las “fichas” de Internet). Sintaxis XMLSchema 2 Se suele usar en las bibliotecas digitales con el vocabulario RELAX NG de Dublin Core (Dublin, Ohio). Sem´antica Xtandards 3 Pretende a˜nadirsignificado (interoperabilidad) a Internet. XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XML y relaciones sem´anticas

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva ¿Por qu´eno usar simplemente un vocabulario de XML? Especificaci´on 1 El orden no es importante en la metainformaci´onsobre Estructura l´ogica Estructura f´ısica autor, fecha de publicaci´onetc. Hojas de estilo Sintaxis 2 Debe ser abierto para adaptarse a la metainformaci´on XMLSchema RELAX NG disponible. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML puede representarse como una relaci´on

purl.org/dc/elements/1.1/:subject www.cervantesvitual.com −−−−−−−−−−−−−−−−−−−−−→ Spanish literature

RDF y Dublin Core

Est´andares y metainforma- RDF describe propiedades de un recurso o relaciones entre ci´on Aspecto y ellos. Por ejemplo, estructura Prospectiva El tema de http://www.cervantesvitual.com es Especificaci´on Estructura l´ogica la literatura hisp´anica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RDF y Dublin Core

Est´andares y metainforma- RDF describe propiedades de un recurso o relaciones entre ci´on Aspecto y ellos. Por ejemplo, estructura Prospectiva El tema de http://www.cervantesvitual.com es Especificaci´on Estructura l´ogica la literatura hisp´anica Estructura f´ısica Hojas de estilo Sintaxis puede representarse como una relaci´on XMLSchema RELAX NG Sem´antica

Xtandards purl.org/dc/elements/1.1/:subject XPath www.cervantesvitual.com −−−−−−−−−−−−−−−−−−−−−→ Spanish literature XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RDF y Dublin Core

Est´andares y metainforma- ci´on Aspecto y estructura Estructura l´ogica Sintaxis Literature XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML title type subject format description identifier creator source publisher language contributors relation date coverage rights

RDF y Dublin Core

Est´andares y Dublin Core( http://dublincore.org/) es un metainforma- ci´on est´andar para metadatos basado en RDF Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML RDF y Dublin Core

Est´andares y Dublin Core( http://dublincore.org/) es un metainforma- ci´on est´andar para metadatos basado en RDF Aspecto y estructura Prospectiva Especificaci´on title type Estructura l´ogica Estructura f´ısica subject format Hojas de estilo description identifier Sintaxis XMLSchema creator source RELAX NG publisher language Sem´antica

Xtandards contributors relation XPath date coverage XInclude XQuery rights XLink Procesamiento SAX Y DOM libxml2 MathML XPath

Est´andares y metainforma- XPath permite identificar elementos del documento XML. ci´on Aspecto y Aqu´ıpuedes encontrar algunos ejemplos. estructura Prospectiva Especificaci´on XPathExpression xp = Estructura l´ogica XPathFactory.newInstance().newXPath(); Estructura f´ısica Hojas de estilo NodeList nodes = Sintaxis (NodeList)xp.evaluate(path, doc.getDocumentElement(), XMLSchema RELAX NG XPathConstants.NODESET ); Sem´antica for (int k = 0; k < nodes.getLength(); ++k)

Xtandards System.out.println( nodes.item(k) ); XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XPath

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Permite seleccionar los nodos con un cierto contenido: Estructura l´ogica Estructura f´ısica Hojas de estilo ’//year[child::text()="2005"]’ Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XInclude

Est´andares y metainforma- ci´on Aspecto y estructura Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Si b.xml es ‘‘’’, entonces xmllint --xinclude a.xml Sintaxis XMLSchema produce RELAX NG Sem´antica Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XQuery

Est´andares y metainforma- ci´on Aspecto y estructura Expresiones FLWOR (For, Let, Where, Order by, Return): Prospectiva Especificaci´on for $x in doc("books.xml")/bookstore/book Estructura l´ogica Estructura f´ısica where $x/price>30 Hojas de estilo order by $x/title Sintaxis return $x/title XMLSchema RELAX NG Sem´antica No es XML! Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XQuery

Est´andares y metainforma- ci´on Aspecto y estructura Permite bloques condicionales e inserci´onde etiquetas: Prospectiva Especificaci´on Estructura l´ogica for $x in doc("books.xml")/bookstore/book Estructura f´ısica Hojas de estilo return if ($x/@category="CHILDREN") Sintaxis then {data($x/title)} XMLSchema else {data($x/title)} RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XLink y XPointer

Est´andares y metainforma- XLink permite v´ınculosgeneralizados: ci´on Aspecto y estructura Prospectiva Sem´antica

Xtandards XPointer permite denotar elementos: en este caso aqu´elcon XPath atributo id="Index". XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XLink y XPointer

Est´andares y metainforma- Xlink permitir´aembeber im´agenes ci´on Aspecto y estructura Prospectiva Sem´antica A´unno es posible embeber imagenes con XLink Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML XLink y XPointer

Est´andares y metainforma- ci´on Aspecto y Una opci´ondistinta: estructura Prospectiva Especificaci´on Estructura l´ogica De momento es posible usar este truco Estructura f´ısica Hojas de estilo Sintaxis y definir en images.css: XMLSchema RELAX NG logoUA:after {content:url(logoUA.png) } Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Herramientas: Java

Est´andares y metainforma- ci´on Aspecto y estructura Java tiene clases para manipular y validar validar XML (DTD y Prospectiva Especificaci´on RelaxNG). Estructura l´ogica Estructura f´ısica Tambi´enincluye expresiones XPath. Hojas de estilo Escribe un programa en Java que lea el nombre de un Sintaxis XMLSchema documento XML y una expresi´onXPath y escriba los RELAX NG subdocumentos (si hay) que casan con la expresi´on. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML An´alisis

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva 1 SAX (Simple API for XML) es un conjunto de Especificaci´on Estructura l´ogica procedimientos para procesar secuencial XML. Estructura f´ısica Hojas de estilo 2 DOM () es un conjunto de Sintaxis XMLSchema procedimientos para manipular ´arboles. RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ¿SAX o DOM?

Est´andares y metainforma- ci´on random access time Aspecto y estructura Prospectiva Especificaci´on SAX Estructura l´ogica Estructura f´ısica Hojas de estilo DOM Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards space XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML ¿SAX o DOM?

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica SAX es r´apidopara leer, pero no permite acceso aleatorio. Estructura f´ısica Hojas de estilo DOM permite escribir, pero requiere m´asmemoria. Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Implementa un programa (Java) que extraiga el texto de un fichero XML.

SAX

Est´andares y metainforma- El programador de aplicaciones SAX s´olodebe implementar ci´on Aspecto y funciones del tipo: estructura Prospectiva Especificaci´on public void Estructura l´ogica endElement (String URI, String localName, String qName) Estructura f´ısica Hojas de estilo throws SAXException { Sintaxis System.out.println("") XMLSchema RELAX NG } Sem´antica Las no implementadas no hacen nada. Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML SAX

Est´andares y private XMLReader getXMLReader() { metainforma- ci´on XMLReader reader = null; Aspecto y try { estructura Prospectiva reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); Especificaci´on Estructura l´ogica reader.setContentHandler( this ); Estructura f´ısica } catch (Exception x) { Hojas de estilo System.err.println( x.getMessage() ); Sintaxis } XMLSchema return reader; RELAX NG } Sem´antica Xtandards public String getText( String fileName ) { XPath XMLReader reader = getXMLReader(); XInclude XQuery try { reader.parse(fileName); } XLink Procesamiento SAX Y DOM libxml2 MathML DOM est´adescrito de forma “neutral” respecto a los lenguajes (IDL), pero contiene especificaci´onpara Java. Escribe un programa que escriba el ´arbol de un documento XML.

DOM

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva DOM no es una estructura de datos ni un formato Especificaci´on de almacenamiento Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML Escribe un programa que escriba el ´arbol de un documento XML.

DOM

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva DOM no es una estructura de datos ni un formato Especificaci´on de almacenamiento Estructura l´ogica Estructura f´ısica Hojas de estilo DOM est´adescrito de forma “neutral” respecto a los lenguajes Sintaxis XMLSchema (IDL), pero contiene especificaci´onpara Java. RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DOM

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva DOM no es una estructura de datos ni un formato Especificaci´on de almacenamiento Estructura l´ogica Estructura f´ısica Hojas de estilo DOM est´adescrito de forma “neutral” respecto a los lenguajes Sintaxis XMLSchema (IDL), pero contiene especificaci´onpara Java. RELAX NG Escribe un programa que escriba el ´arbol de un documento Sem´antica XML. Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML DOM

Est´andares y metainforma- ci´on DocumentBuilderFactory dbf = Aspecto y estructura DocumentBuilderFactory.newInstance(); Prospectiva DocumentBuilder builder; Especificaci´on try { Estructura l´ogica builder = dbf.newDocumentBuilder(); Estructura f´ısica doc = builder.parse( fileName ); Hojas de estilo } Sintaxis ... XMLSchema RELAX NG NodeList children = node.getChildNodes(); Sem´antica int len = children.getLength(); for ( int i = 0; i < len; ++i ) Xtandards printTree( children.item(i) ); XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML libxml2

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva libxml es un conjunto de funciones de c´odigoabierto en C que Especificaci´on implementan Estructura l´ogica Estructura f´ısica el est´andar XML; Hojas de estilo Sintaxis XPath, XPointer, Xinclude; XMLSchema RELAX NG Relax NG, W3C Schemas. Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML libxml2

typedef enum { XML_ELEMENT_NODE= 1, XML_ATTRIBUTE_NODE= 2, Est´andares y metainforma- XML_TEXT_NODE= 3, ci´on XML_CDATA_SECTION_NODE= 4, Aspecto y XML_ENTITY_REF_NODE= 5, estructura Prospectiva XML_ENTITY_NODE= 6, Especificaci´on XML_PI_NODE= 7, Estructura l´ogica XML_COMMENT_NODE= 8, Estructura f´ısica XML_DOCUMENT_NODE= 9, Hojas de estilo XML_DOCUMENT_TYPE_NODE= 10, Sintaxis XML_DOCUMENT_FRAG_NODE= 11, XMLSchema RELAX NG XML_NOTATION_NODE= 12, XML_HTML_DOCUMENT_NODE= 13, Sem´antica XML_DTD_NODE= 14, Xtandards XML_ELEMENT_DECL= 15, XPath XInclude XML_ATTRIBUTE_DECL= 16, XQuery XML_ENTITY_DECL= 17, XLink XML_NAMESPACE_DECL= 18, Procesamiento XML_XINCLUDE_START= 19, SAX Y DOM XML_XINCLUDE_END= 20 libxml2 } xmlElementType; MathML libxml2

Est´andares y struct xmlNode { metainforma- void *_private; /* application data */ ci´on Aspecto y xmlElementType type; /* type number, must be second ! */ estructura Prospectiva const xmlChar *name; /* the name of the node, or the entity */ Especificaci´on struct _xmlNode *children; /* parent->childs link */ Estructura l´ogica Estructura f´ısica struct _xmlNode *last; /* last child link */ Hojas de estilo struct _xmlNode *parent; /* child->parent link */ Sintaxis struct _xmlNode *next; /* next sibling link */ XMLSchema RELAX NG struct _xmlNode *prev; /* previous sibling link */ Sem´antica struct _xmlDoc *doc; /* the containing document */ Xtandards XPath XInclude xmlChar *content; /* the content */ XQuery struct _xmlAttr *properties;/* properties list */ XLink Procesamiento } SAX Y DOM libxml2 MathML libxml2

Est´andares y metainforma- ci´on Aspecto y struct xmlElementContent { estructura Prospectiva xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ Especificaci´on xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ Estructura l´ogica const xmlChar *name; /* Element name */ Estructura f´ısica Hojas de estilo struct _xmlElementContent *c1; /* first child */ Sintaxis struct _xmlElementContent *c2; /* second child */ XMLSchema RELAX NG struct _xmlElementContent *parent; /* parent */ Sem´antica const xmlChar *prefix; /* Element name */ Xtandards }; XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML libxml2

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML MathML

Est´andares y metainforma- ci´on MathML Aspecto y estructura Prospectiva Permite mostrar contenido matem´atico(sin usar dibujos). Especificaci´on Estructura l´ogica requiere una hoja de estilo XSLT. Estructura f´ısica Hojas de estilo Sintaxis XMLSchema RELAX NG

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML MathML

Elementos: Est´andares y metainforma- mi: identificador (p.ej. variables). ci´on Aspecto y mn: n´umero(p.ej. 3). estructura Prospectiva mo: operador (p.ej. +). Especificaci´on Estructura l´ogica mrow, mfenced: agrupa elementos horizontalmente Estructura f´ısica Hojas de estilo munder, mover: agrupaci´onvertical Sintaxis XMLSchema RELAX NG msqrt: ra´ızcuadrada (n hijos). Sem´antica mfrac: quebrado (2 hijos, numerador y denominador). Xtandards XPath msub, msup: base con sub´ındiceo super´ındice. XInclude XQuery mtable, mtr, mtd: tablas y matrices XLink Procesamiento mfenced + mtable: f´ormualascon casos SAX Y DOM libxml2 MathML MathML

Est´andares y metainforma- x ci´on Aspecto y = estructura Prospectiva Especificaci´on Estructura l´ogica Estructura f´ısica ( Hojas de estilo a Sintaxis + XMLSchema RELAX NG b Sem´antica ) Xtandards XPath XInclude 2 XQuery XLink Procesamiento SAX Y DOM libxml2 MathML MathML

Est´andares y metainforma- |x|= ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica x Estructura f´ısica Hojas de estilo si x>0 Sintaxis XMLSchema RELAX NG -x Sem´antica en caso contrario Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML

Est´andares y metainforma- ci´on Aspecto y estructura Prospectiva Especificaci´on Estructura l´ogica Informaci´onadicional: Estructura f´ısica Hojas de estilo http://www.dlsi.ua.es/asignaturas/doctorado/mt Sintaxis XMLSchema RELAX NG Sem´antica

Xtandards XPath XInclude XQuery XLink Procesamiento SAX Y DOM libxml2 MathML