SlideShare una empresa de Scribd logo
  Lenguajes para la estructuración de documentos: Introducción a XML Eduardo Peis Universidad  de Granada
Índice 1.  El estándar matriz: SGML (Standard Generalized Markup Language) 2. La alternativa: XML 3. La “familia” de especificaciones 4. Vocabularios 5. Viviendo con contenidos: la “Web semántica” 6. Recursos
1. El estándar matriz: SGML  (Standard Generalized Markup  Language)
SGML (ISO 8879-1986) – Standard Generalized Markup Language Punto de partida: la edición electrónica El procesamiento de textos WYSIWYG Lenguajes de etiquetado Procedimentales:  Troff / TeX / LaTeX… Descriptivos: SCRIBE / GML SGML Etiquetado generalizado Separa formato de estilo Independiente de plataformas y sistemas Etiquetado descriptivo Tipos de documentos Independencia de los datos
SGML: sintaxis básica (1) modelo de documento <!SGML “ISO 8879:1986” charset baseset “ISO 646-1983//charset International Reference Version (IRV)//ESC 2/5 4/0”> <!DOCTYPE biblioteca system “c:/sgml/biblioteca.dtd”>  <biblioteca>   <!-- comienzo del registro de un libro --> <libro> <titulo>Los corsarios vacilantes</titulo> <autor>Pompeyo Mañas <email>pomp &#46; mcu.es</email> </autor> <editorial>Labor</editorial> <cubierta tipo=”blanda”></cubierta> <categoría clase=”noficción”></categoría> <isbn>84-045-87498-0</isbn> <nota número=”5”></nota> <comentarios>Libro reservado</comentarios> </libro> <!– más registros aquí --> </biblioteca> declaración SGML tipo de documento entidad de sistema elementos contenido (#PCDATA ) comentarios SGML atributos referencia de entidad
SGML: sintaxis básica (2) DTD –Document Type Definition- <!DOCTYPE biblioteca [ <!ENTITY @  “&#46;”> <!ELEMENT biblioteca - - (libro+)> <!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)> <!ELEMENT título – O (#PCDATA)> <!ELEMENT autor – O (#PCDATA, email)> <!ELEMENT email – O (#PCDATA)> <!ELEMENT editorial – O (#PCDATA)> <!ELEMENT cubierta – O EMPTY> <!ATTLIST cubierta tipo (blanda | dura) “blanda”> <!ELEMENT categoría – O EMPTY> <!ATTLIST categoría clase (ficción | fantasía | cficción | misterio | terror | noficción |  histórico | biografía) “ficción” > <!ELEMENT isbn – O (#PCDATA)> <!ELEMENT nota – O EMPTY> <!ATTLIST nota número (1 | 2 | 3 | 4 | 5) #REQUIRED> <!ELEMENT comentarios – O (#PCDATA)> ]> declaración de tipo de documento declaraciones de elementos declaraciones de listas de atributos declaración de entidad
SGML: sintaxis básica (2.1) declaración de elementos Indicadores de aparición <!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría,  isbn, nota, comentarios?)> reglas de minimización modelo de contenido conectores identificador genérico clave SGML EMPTY elemento vacío #PCDATA cualquier cadena de caracteres en cualquier orden & o uno o el otro | ambos y en ese orden , conectores Opcional y repetible (0 o más veces) * opcional (0 o 1 vez) ? necesario y repetible (1 o más veces) + indicadores de aparición indicadores de aparición opcional o obligatoria etiqueta - 1ª posición etiqueta inicio 2ª posición etiqueta fin   claves SGML para modelos de contenido
SGML: sintaxis básica (2.2) declaraciones de lista de atributos <nombre nacionalidad=“SP” sexo=“V”>Eduardo Peis</nombre> nombre de atributo <!ATTLIST nombre nacionalidad (AU | AS | BG |…| SP | NZ) “SP” sexo (V | H) #REQUIRED> elemento al que cualifican nombre de atributo AttrName posibles valores AttrType valor por defecto Default especificado default último especificado #CURRENT opcional #IMPLIED obligatorio #REQUIRED caracteres numéricos cualquier cadena de caracteres datos de caracteres no analizables puntero a algún otro elemento identificador único NUMBER NMTOKEN CDATA IDREF ID valor de atributo
SGML: sintaxis básica (2.3) declaraciones de entidades <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr;  ]> de parámetro <!DOCTYPE texto [ <!ENTITY lfp “liga de fútbol profesional”> ]> <texto>el hecho fue estudiado por la  &lfp;  en previsión de posibles sanciones</texto> entidad general interna <!ENTITY miscosas SYSTEM “ http://www.ugr.es/ ~epeis/miscosas.sgm”> general externa analizada <!ENTITY logo SYSTEM “ http://www.ugr.es/ ~epeis/logo.gif”> no analizada <!ENTITY @ “&#46;”> de carácter “ &quot; ‘ &apos; > &gt; < &lt; & &amp; entidades predefinidas
SGML: software Parsers  analizadores Compiladores Editores / procesadores Formateadores Conversores Gestión de datos Es tal la potencialidad de SGML que no es posible su explotación con el software de red disponible en la actualidad
2. La alternativa: XML
SGML SGML XML SGML HTML EAD CDF MathML HTML EAD CDF MathML HTML
El usurpador: HTML HTML es, en realidad, un DTD SGML Problemas: Define más la presentación que el contenido Escasas flexibilidad y extensibilidad No es fácilmente procesable por “máquinas” Problemas de internacionalización Estructura caótica Interpretación ambigua según el software Sólo tiene un uso: páginas Web La convergencia: XHTML
HTML XML <table> <tr> <td>título</td> <td>autor</td> <td>precio</td> </tr> <tr> <td>Pensar</td> <td>B. Ortega</td> <td>42</td> </tr> <tr> <td>La leña</td> <td>M. Lao</td> <td>53</td> </tr> </table> <libros> <libro> <titulo>título</titulo> <autor>autor</autor> <precio>precio</precio> </libro> <libro> <titulo>Pensar</titulo> <autor>B. Oña</autor> <precio>42</precio> </libro> <libro> <titulo>La leña</titulo> <autor>M. Lao</autor> <precio>53</precio> </libro> </libro>
Principales diferencias SGML/XML Documentos XML  well formed :   sin DTD Instrucciones de procesamiento Declaraciones de elementos. Modelos de contenido: Conector “&” no permitido Prohibidas las “exception” No se utilizan los indicadores de minimización. Uso generalizado de elementos vacíos Secciones “cdata” Notation declarations Los espacios en blanco, cambios de línea o “retornos” son significativos <?xml version=“1.0” encoding=“ISO-8859-1” standalone=“yes”?> <Elemento_ASP> <![CDATA[   <FORM ACTION=“<% = Request (“SCRIPT_NAME”) %>” METHOD=“POST”>  ]]> </Elemento_ASP> <!NOTATION GIF SYSTEM “Iexplore.exe”>
Documentos XML: (1) Well-Formed Cumplen estrictamente la especificación (Versión 1.0) Estructura jerárquica de los elementos Estrictamente jerárquica (árbol) Correctamente anidados No superposición Sólo un elemento raiz Etiquetas Siempre etiquetas de inicio y de fin “ Case-sensitive” Comienzo de GI’s: Un carácter alfabético no acentuado Signo de “subrayado” o “guión bajo”  Sin espacios Elementos “vacíos”: sintaxis especial <img src=“….”/> Atributos Valor de atributo entre comillas dobles (“) o simples (‘)
Documentos XML: (2) Validación y definición XML  well formed  + DTD =  valid XML XML Schemas Sintaxis XML Tipos de datos asociados a elementos (validación de contenido) Modelo de datos abierto: vocabularios extensibles relaciones de herencia integración de Namespaces Combinación lógica de atributos <Schema xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> <AttributeType name=“id” dt:type=“string” required=“yes” /> <ElementType name=“nombre” content=“textOnly” /> <ElementType name=“persona” content=“mixed” /> <attribute type=“id” /> <element type=“nombre” /> </ElementType> <ElementType name=“documento” content=“eltOnly”> <element type=“persona” /> </ElementType> </Schema>
3. La “familia” de  especificaciones
“ Familia” de especificaciones. La “sopa de letras” XML XLink Namespaces XSL DOM XPointer XPath RDF SAX XSLT XSL-fo XML Query Schema DTD XML Encription XML Signature XML Base Web Ontology Semantic Web CSS
XSL (1): XSLT + XPath Árbol de origen Búsqueda de plantilla Patrón de localización Transformación de nodo de origen en nodo resultante ¿Hay más plantillas? NO SI Plantilla Dar formato a árbol resultante Mostrar árbol resultante XSLT XPath Filtros documento XML árbol origen hoja de estilo XSL transformación árbol resultante formato XSLT XSL-fo
XSL (2) <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <xsl:stylesheet version=&quot;1.0&quot;  xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot; result-ns=&quot;&quot;> <xsl:template match=&quot;/&quot;> <HTML> <HEAD> <TITLE> <xsl:apply-templates select=&quot;/normas//Título&quot; /> </TITLE> </HEAD> <BODY> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;normas.css&quot; /> <H1><xsl:apply-templates select=&quot;/normas/Título&quot; /></H1> <xsl:apply-templates select=&quot;/normas/norma&quot; /> </BODY> </HTML> </xsl:template> <xsl:template match=&quot;norma[Observación]&quot;> <P>Esta norma incluye un elemento &quot;Observación&quot;:<BR /> <B><xsl:value-of /></B></P> </xsl:template> </xsl:stylesheet> elementos XSLT filtros XSL patrones de localización XPath prólogo Namespaces operadores
XML Linking and Addressing Language XLink (XML Linking Language) enlaces externos entre documentos XML se apoya en XPointer (gestionar partes) XPointer (XML Pointer Language) controla los enlaces internos se apoya en XPath Enlaces simples o extendidos (fuera de línea y multidireccionales) Anclaje a cualquier elemento Referencia a un punto específico de un documento XML (XPointer) Variabilidad de procesado “ actuate” (cómo se activará) “ show” (cómo se mostrará)… Descripción en un documento que no forma parte del vínculo
Lenguajes de consulta: XML Query XQuery Modelo de secuencia de nodos de Xpath 2.0 Resultado: secuencia de nodos –sin raiz común- Cláusulas de selección con patrón, filtro y constructor Inclusión estructural, inclusión posicional y orden estructural Operadores y funciones de texto para la búsqueda de patrones Falta: búsqueda texto libre, pesos, proximidad. XQL’99 XQL’98 XML QL SQL QUILT LOREL OQL Xpath 1.0 Xpath 2.0 XSLT patrones XSL
Interfaces software. DOM API. Interfaz genérica descrita en IDL Independiente del lenguaje Independiente del fabricante Implementación para el lenguaje deseado Java, C++, Perl, Python,.... Modelo basado en objetos (arbóreo):   Interfaces y objetos para representar y manipular un documento  Semántica (comportamiento y atributos)  Relaciones y colaboraciones entre interfaces y objetos Otra posibilidad: SAX (basada en eventos)
4. Vocabularios. Algunas  aplicaciones sectoriales
Vocabularios WML SMIL P3P CDF SVG VML 3DML MathML WML VoxML VISA Invoice Specification ICE XMLNews IEEE Standards DTD TEI PSI OIM VocML RML WAP XDNL GEML GAME OFX MDDL XMP VRML EAD
Voz interactiva: VoxML Servidor Web pasos diálogo pasos diálogo Archivo VoxML Archivo VoxML pasos diálogo Archivo VoxML
Gráficos vectoriales: VML Vocabularios: PGML (Precision Graphic Markup Language) VML (Vectors Markup Language) SVG (Scalable Vector Graphics) VML se basa en rutas que describen líneas y curvas conectadas Elementos principales: shape:  elemento de gráfico de vectores group:   combina formas VML DOM CSS2 Namespaces
Multimedia: SMIL Relaciones físicas entre objetos multimedia y sincronía Presentación dividida en regiones rectangulares Espacios físicos separados para audio, video, imágenes y texto Adecuación a los parámetros del sistema local <smil> <head> <meta name=&quot;title&quot; content=&quot;WDVL Demo&quot; /> <meta name=&quot;author&quot; content=&quot;jrule@ruleweb.com&quot; /> <meta name=&quot;copyright&quot; content=&quot;©1998&quot; /> <layout type=&quot;text/smil-basic-layout&quot;> <region id = &quot;VideoChannel“ title = &quot;VideoChannel&quot; left = &quot;0“ top = &quot;0&quot; height = &quot;120&quot; width = &quot;160&quot; background-color = &quot;#888888&quot; fit = &quot;fill&quot;/> <region id = &quot;PixChannel”...
Otras posibles aplicaciones Integración de bases de datos distribuidas, modificando contenido y estructura Transferencia (con un subprograma JAVA) de una parte significativa de la carga del proceso del servidor al cliente Web Aplicaciones que precisen que el cliente Web presente diferentes versiones de los mismos datos a diferentes usuarios Aplicaciones en las que agentes Web adapten la búsqueda de información a las necesidades de usuarios individuales Sincronía de actualizaciones de vistas en portales …
5. Viviendo con contenidos: la  “Web semántica”
 
La “Web semántica” Unicode URI XML + NS + XMLSchema RDF + RDFSchema Firma digital Ontologías vocabularios Lógica Pruebas Confianza SIGNIFICADOS sintaxis DATOS DATOS REGLAS
Expresando significado Contenido web actual diseñado para lectura humana La Web semántica como un espacio Hiperconceptual (XLink) El URI como identificador de objetos Añadir semántica a la Web Ontologías Etiquetado descriptivo (XML) Unicode
Representación del conocimiento La base sintáctica de la Web semántica Documentos y estructura lógica (XML/DTD’s/XMLSchema) Lenguaje único para los datos y las reglas Exportación e importación (XMLNamespaces) Hiperdocumentos con etiquetas semánticas Tecnologías XML Creación de lenguajes de etiquetado descriptivos propios Separación de contenido y estilo  RDF/RDFSchema
Descripción de recursos: RDF/RDFSchema Modelo básico para establecer asertos (RDF) Descripción de recursos orientada a objetos: Tripletes sujeto –recurso- (URI), predicado –propiedad- (URI) y objeto –valor- (URI o literal) Interoperabilidad en descripción de recursos Relaciones –clases y objetos- (RDFSchema) Describe jerarquías de clases http://www.ugr.es/ ~epeis/Peis Eduardo Peis Jorge Fernández rdf: Statement s: Creador rdf: subject rdf:t ype rdf: object rdf: predicate a: atribuidoA “ reified statement”
Capa lógica (1): Ontologías Colecciones de información.  Mejora de la precisión en la recuperación Relaciones de dependencia Relaciones de equivalencia Relaciones de asociación Servicios Web W2W (Web site to Web site) Taxonomía Reglas de inferencia
Capa lógica (2): Agentes software Intercambio de “pruebas” escritas en el lenguaje unificado de la Web semántica firmas digitales service discovery intercambio de ontologías desarrollar “por sí mismos” nuevas capacidades de “razonamiento” “ cadenas de valor” extensión al dominio físico descripción de capacidades funcionales Composite Capability/Preference Profile (CC/PP)
6. Recursos
Tan sólo algunos recursos Enlaces a herramientas XML http://www.xmlsoftware.com Buenos tutoriales, herramientas y demos http:www.microsoft.com/xml Borradores, tecnologías descargables, tutoriales… http://www.ibm.com/xml Recursos para desarrolladores. Contiene la especificación XML 1.0 comentada por Tim Bray http://www.xml.com El “sitio” por excelencia http://www.oasis-open/cover/sgml-xml.html Web del World Wide Web Consortium, donde se desarrollan, se oficializan y se distribuyen las especificaciones http://www.w3.org Traducción del manual de Goldfarb Goldfarb, C.; Prescod, P. (1999) Manual de XML. Madrid [etc.]: Prentice Hall

Más contenido relacionado

DOCX
Ensayo Dtd
PPS
Busqueda Informacion
PPT
Curso Html Basico
PPT
curso de html
PPT
curso de html
PPT
Html Bas
PPT
Introducción sgml
Ensayo Dtd
Busqueda Informacion
Curso Html Basico
curso de html
curso de html
Html Bas
Introducción sgml

La actualidad más candente (6)

PDF
Datos En La Web - Clase 1
PPT
Diseño de páginas Web con HTML
PPT
Mini Manual Html
ODP
PPT
Html
 
PPTX
Datos En La Web - Clase 1
Diseño de páginas Web con HTML
Mini Manual Html
Html
 
Publicidad

Similar a Introducción xml (20)

PPTX
XML en .NET
PPTX
ODP
Document type definitions (DTD)
PPT
XML de A a Z
PPTX
Presentacion xml
PPT
Manual XML
PPT
04.estructura de los documentos w3 c esquemas
PPT
PPT
Datos y metadatos, de Francisca Hernández Carrascal
PPT
Datos y metadatos, Francisca Hernández Carrascal
PPS
¿Qué es la Web Semántica?
PPT
PPT
Html5.
PPTX
Ingeniería web
PPT
Xml On Rails
ODP
Introduccion a Python
PPT
Qué es xhtml
XML en .NET
Document type definitions (DTD)
XML de A a Z
Presentacion xml
Manual XML
04.estructura de los documentos w3 c esquemas
Datos y metadatos, de Francisca Hernández Carrascal
Datos y metadatos, Francisca Hernández Carrascal
¿Qué es la Web Semántica?
Html5.
Ingeniería web
Xml On Rails
Introduccion a Python
Qué es xhtml
Publicidad

Más de Philippe-Jean Bunau-Varilla (7)

PPT
Nuevosparadisgmasa
PPT
Ead aplicaciones prácticas
PPT
Caracterízación de EAD
PDF
Alejandro Delgado Gómez - Introducción a Encoded Archival Description (EAD): ...
PDF
PPT
Archivos Electrónicos
Nuevosparadisgmasa
Ead aplicaciones prácticas
Caracterízación de EAD
Alejandro Delgado Gómez - Introducción a Encoded Archival Description (EAD): ...
Archivos Electrónicos

Introducción xml

  • 1. Lenguajes para la estructuración de documentos: Introducción a XML Eduardo Peis Universidad de Granada
  • 2. Índice 1. El estándar matriz: SGML (Standard Generalized Markup Language) 2. La alternativa: XML 3. La “familia” de especificaciones 4. Vocabularios 5. Viviendo con contenidos: la “Web semántica” 6. Recursos
  • 3. 1. El estándar matriz: SGML (Standard Generalized Markup Language)
  • 4. SGML (ISO 8879-1986) – Standard Generalized Markup Language Punto de partida: la edición electrónica El procesamiento de textos WYSIWYG Lenguajes de etiquetado Procedimentales: Troff / TeX / LaTeX… Descriptivos: SCRIBE / GML SGML Etiquetado generalizado Separa formato de estilo Independiente de plataformas y sistemas Etiquetado descriptivo Tipos de documentos Independencia de los datos
  • 5. SGML: sintaxis básica (1) modelo de documento <!SGML “ISO 8879:1986” charset baseset “ISO 646-1983//charset International Reference Version (IRV)//ESC 2/5 4/0”> <!DOCTYPE biblioteca system “c:/sgml/biblioteca.dtd”> <biblioteca>   <!-- comienzo del registro de un libro --> <libro> <titulo>Los corsarios vacilantes</titulo> <autor>Pompeyo Mañas <email>pomp &#46; mcu.es</email> </autor> <editorial>Labor</editorial> <cubierta tipo=”blanda”></cubierta> <categoría clase=”noficción”></categoría> <isbn>84-045-87498-0</isbn> <nota número=”5”></nota> <comentarios>Libro reservado</comentarios> </libro> <!– más registros aquí --> </biblioteca> declaración SGML tipo de documento entidad de sistema elementos contenido (#PCDATA ) comentarios SGML atributos referencia de entidad
  • 6. SGML: sintaxis básica (2) DTD –Document Type Definition- <!DOCTYPE biblioteca [ <!ENTITY @ “&#46;”> <!ELEMENT biblioteca - - (libro+)> <!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)> <!ELEMENT título – O (#PCDATA)> <!ELEMENT autor – O (#PCDATA, email)> <!ELEMENT email – O (#PCDATA)> <!ELEMENT editorial – O (#PCDATA)> <!ELEMENT cubierta – O EMPTY> <!ATTLIST cubierta tipo (blanda | dura) “blanda”> <!ELEMENT categoría – O EMPTY> <!ATTLIST categoría clase (ficción | fantasía | cficción | misterio | terror | noficción | histórico | biografía) “ficción” > <!ELEMENT isbn – O (#PCDATA)> <!ELEMENT nota – O EMPTY> <!ATTLIST nota número (1 | 2 | 3 | 4 | 5) #REQUIRED> <!ELEMENT comentarios – O (#PCDATA)> ]> declaración de tipo de documento declaraciones de elementos declaraciones de listas de atributos declaración de entidad
  • 7. SGML: sintaxis básica (2.1) declaración de elementos Indicadores de aparición <!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)> reglas de minimización modelo de contenido conectores identificador genérico clave SGML EMPTY elemento vacío #PCDATA cualquier cadena de caracteres en cualquier orden & o uno o el otro | ambos y en ese orden , conectores Opcional y repetible (0 o más veces) * opcional (0 o 1 vez) ? necesario y repetible (1 o más veces) + indicadores de aparición indicadores de aparición opcional o obligatoria etiqueta - 1ª posición etiqueta inicio 2ª posición etiqueta fin claves SGML para modelos de contenido
  • 8. SGML: sintaxis básica (2.2) declaraciones de lista de atributos <nombre nacionalidad=“SP” sexo=“V”>Eduardo Peis</nombre> nombre de atributo <!ATTLIST nombre nacionalidad (AU | AS | BG |…| SP | NZ) “SP” sexo (V | H) #REQUIRED> elemento al que cualifican nombre de atributo AttrName posibles valores AttrType valor por defecto Default especificado default último especificado #CURRENT opcional #IMPLIED obligatorio #REQUIRED caracteres numéricos cualquier cadena de caracteres datos de caracteres no analizables puntero a algún otro elemento identificador único NUMBER NMTOKEN CDATA IDREF ID valor de atributo
  • 9. SGML: sintaxis básica (2.3) declaraciones de entidades <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr; ]> de parámetro <!DOCTYPE texto [ <!ENTITY lfp “liga de fútbol profesional”> ]> <texto>el hecho fue estudiado por la &lfp; en previsión de posibles sanciones</texto> entidad general interna <!ENTITY miscosas SYSTEM “ http://www.ugr.es/ ~epeis/miscosas.sgm”> general externa analizada <!ENTITY logo SYSTEM “ http://www.ugr.es/ ~epeis/logo.gif”> no analizada <!ENTITY @ “&#46;”> de carácter “ &quot; ‘ &apos; > &gt; < &lt; & &amp; entidades predefinidas
  • 10. SGML: software Parsers analizadores Compiladores Editores / procesadores Formateadores Conversores Gestión de datos Es tal la potencialidad de SGML que no es posible su explotación con el software de red disponible en la actualidad
  • 12. SGML SGML XML SGML HTML EAD CDF MathML HTML EAD CDF MathML HTML
  • 13. El usurpador: HTML HTML es, en realidad, un DTD SGML Problemas: Define más la presentación que el contenido Escasas flexibilidad y extensibilidad No es fácilmente procesable por “máquinas” Problemas de internacionalización Estructura caótica Interpretación ambigua según el software Sólo tiene un uso: páginas Web La convergencia: XHTML
  • 14. HTML XML <table> <tr> <td>título</td> <td>autor</td> <td>precio</td> </tr> <tr> <td>Pensar</td> <td>B. Ortega</td> <td>42</td> </tr> <tr> <td>La leña</td> <td>M. Lao</td> <td>53</td> </tr> </table> <libros> <libro> <titulo>título</titulo> <autor>autor</autor> <precio>precio</precio> </libro> <libro> <titulo>Pensar</titulo> <autor>B. Oña</autor> <precio>42</precio> </libro> <libro> <titulo>La leña</titulo> <autor>M. Lao</autor> <precio>53</precio> </libro> </libro>
  • 15. Principales diferencias SGML/XML Documentos XML well formed : sin DTD Instrucciones de procesamiento Declaraciones de elementos. Modelos de contenido: Conector “&” no permitido Prohibidas las “exception” No se utilizan los indicadores de minimización. Uso generalizado de elementos vacíos Secciones “cdata” Notation declarations Los espacios en blanco, cambios de línea o “retornos” son significativos <?xml version=“1.0” encoding=“ISO-8859-1” standalone=“yes”?> <Elemento_ASP> <![CDATA[ <FORM ACTION=“<% = Request (“SCRIPT_NAME”) %>” METHOD=“POST”> ]]> </Elemento_ASP> <!NOTATION GIF SYSTEM “Iexplore.exe”>
  • 16. Documentos XML: (1) Well-Formed Cumplen estrictamente la especificación (Versión 1.0) Estructura jerárquica de los elementos Estrictamente jerárquica (árbol) Correctamente anidados No superposición Sólo un elemento raiz Etiquetas Siempre etiquetas de inicio y de fin “ Case-sensitive” Comienzo de GI’s: Un carácter alfabético no acentuado Signo de “subrayado” o “guión bajo” Sin espacios Elementos “vacíos”: sintaxis especial <img src=“….”/> Atributos Valor de atributo entre comillas dobles (“) o simples (‘)
  • 17. Documentos XML: (2) Validación y definición XML well formed + DTD = valid XML XML Schemas Sintaxis XML Tipos de datos asociados a elementos (validación de contenido) Modelo de datos abierto: vocabularios extensibles relaciones de herencia integración de Namespaces Combinación lógica de atributos <Schema xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> <AttributeType name=“id” dt:type=“string” required=“yes” /> <ElementType name=“nombre” content=“textOnly” /> <ElementType name=“persona” content=“mixed” /> <attribute type=“id” /> <element type=“nombre” /> </ElementType> <ElementType name=“documento” content=“eltOnly”> <element type=“persona” /> </ElementType> </Schema>
  • 18. 3. La “familia” de especificaciones
  • 19. “ Familia” de especificaciones. La “sopa de letras” XML XLink Namespaces XSL DOM XPointer XPath RDF SAX XSLT XSL-fo XML Query Schema DTD XML Encription XML Signature XML Base Web Ontology Semantic Web CSS
  • 20. XSL (1): XSLT + XPath Árbol de origen Búsqueda de plantilla Patrón de localización Transformación de nodo de origen en nodo resultante ¿Hay más plantillas? NO SI Plantilla Dar formato a árbol resultante Mostrar árbol resultante XSLT XPath Filtros documento XML árbol origen hoja de estilo XSL transformación árbol resultante formato XSLT XSL-fo
  • 21. XSL (2) <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot; result-ns=&quot;&quot;> <xsl:template match=&quot;/&quot;> <HTML> <HEAD> <TITLE> <xsl:apply-templates select=&quot;/normas//Título&quot; /> </TITLE> </HEAD> <BODY> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;normas.css&quot; /> <H1><xsl:apply-templates select=&quot;/normas/Título&quot; /></H1> <xsl:apply-templates select=&quot;/normas/norma&quot; /> </BODY> </HTML> </xsl:template> <xsl:template match=&quot;norma[Observación]&quot;> <P>Esta norma incluye un elemento &quot;Observación&quot;:<BR /> <B><xsl:value-of /></B></P> </xsl:template> </xsl:stylesheet> elementos XSLT filtros XSL patrones de localización XPath prólogo Namespaces operadores
  • 22. XML Linking and Addressing Language XLink (XML Linking Language) enlaces externos entre documentos XML se apoya en XPointer (gestionar partes) XPointer (XML Pointer Language) controla los enlaces internos se apoya en XPath Enlaces simples o extendidos (fuera de línea y multidireccionales) Anclaje a cualquier elemento Referencia a un punto específico de un documento XML (XPointer) Variabilidad de procesado “ actuate” (cómo se activará) “ show” (cómo se mostrará)… Descripción en un documento que no forma parte del vínculo
  • 23. Lenguajes de consulta: XML Query XQuery Modelo de secuencia de nodos de Xpath 2.0 Resultado: secuencia de nodos –sin raiz común- Cláusulas de selección con patrón, filtro y constructor Inclusión estructural, inclusión posicional y orden estructural Operadores y funciones de texto para la búsqueda de patrones Falta: búsqueda texto libre, pesos, proximidad. XQL’99 XQL’98 XML QL SQL QUILT LOREL OQL Xpath 1.0 Xpath 2.0 XSLT patrones XSL
  • 24. Interfaces software. DOM API. Interfaz genérica descrita en IDL Independiente del lenguaje Independiente del fabricante Implementación para el lenguaje deseado Java, C++, Perl, Python,.... Modelo basado en objetos (arbóreo): Interfaces y objetos para representar y manipular un documento Semántica (comportamiento y atributos) Relaciones y colaboraciones entre interfaces y objetos Otra posibilidad: SAX (basada en eventos)
  • 25. 4. Vocabularios. Algunas aplicaciones sectoriales
  • 26. Vocabularios WML SMIL P3P CDF SVG VML 3DML MathML WML VoxML VISA Invoice Specification ICE XMLNews IEEE Standards DTD TEI PSI OIM VocML RML WAP XDNL GEML GAME OFX MDDL XMP VRML EAD
  • 27. Voz interactiva: VoxML Servidor Web pasos diálogo pasos diálogo Archivo VoxML Archivo VoxML pasos diálogo Archivo VoxML
  • 28. Gráficos vectoriales: VML Vocabularios: PGML (Precision Graphic Markup Language) VML (Vectors Markup Language) SVG (Scalable Vector Graphics) VML se basa en rutas que describen líneas y curvas conectadas Elementos principales: shape: elemento de gráfico de vectores group: combina formas VML DOM CSS2 Namespaces
  • 29. Multimedia: SMIL Relaciones físicas entre objetos multimedia y sincronía Presentación dividida en regiones rectangulares Espacios físicos separados para audio, video, imágenes y texto Adecuación a los parámetros del sistema local <smil> <head> <meta name=&quot;title&quot; content=&quot;WDVL Demo&quot; /> <meta name=&quot;author&quot; content=&quot;jrule@ruleweb.com&quot; /> <meta name=&quot;copyright&quot; content=&quot;©1998&quot; /> <layout type=&quot;text/smil-basic-layout&quot;> <region id = &quot;VideoChannel“ title = &quot;VideoChannel&quot; left = &quot;0“ top = &quot;0&quot; height = &quot;120&quot; width = &quot;160&quot; background-color = &quot;#888888&quot; fit = &quot;fill&quot;/> <region id = &quot;PixChannel”...
  • 30. Otras posibles aplicaciones Integración de bases de datos distribuidas, modificando contenido y estructura Transferencia (con un subprograma JAVA) de una parte significativa de la carga del proceso del servidor al cliente Web Aplicaciones que precisen que el cliente Web presente diferentes versiones de los mismos datos a diferentes usuarios Aplicaciones en las que agentes Web adapten la búsqueda de información a las necesidades de usuarios individuales Sincronía de actualizaciones de vistas en portales …
  • 31. 5. Viviendo con contenidos: la “Web semántica”
  • 32.  
  • 33. La “Web semántica” Unicode URI XML + NS + XMLSchema RDF + RDFSchema Firma digital Ontologías vocabularios Lógica Pruebas Confianza SIGNIFICADOS sintaxis DATOS DATOS REGLAS
  • 34. Expresando significado Contenido web actual diseñado para lectura humana La Web semántica como un espacio Hiperconceptual (XLink) El URI como identificador de objetos Añadir semántica a la Web Ontologías Etiquetado descriptivo (XML) Unicode
  • 35. Representación del conocimiento La base sintáctica de la Web semántica Documentos y estructura lógica (XML/DTD’s/XMLSchema) Lenguaje único para los datos y las reglas Exportación e importación (XMLNamespaces) Hiperdocumentos con etiquetas semánticas Tecnologías XML Creación de lenguajes de etiquetado descriptivos propios Separación de contenido y estilo RDF/RDFSchema
  • 36. Descripción de recursos: RDF/RDFSchema Modelo básico para establecer asertos (RDF) Descripción de recursos orientada a objetos: Tripletes sujeto –recurso- (URI), predicado –propiedad- (URI) y objeto –valor- (URI o literal) Interoperabilidad en descripción de recursos Relaciones –clases y objetos- (RDFSchema) Describe jerarquías de clases http://www.ugr.es/ ~epeis/Peis Eduardo Peis Jorge Fernández rdf: Statement s: Creador rdf: subject rdf:t ype rdf: object rdf: predicate a: atribuidoA “ reified statement”
  • 37. Capa lógica (1): Ontologías Colecciones de información. Mejora de la precisión en la recuperación Relaciones de dependencia Relaciones de equivalencia Relaciones de asociación Servicios Web W2W (Web site to Web site) Taxonomía Reglas de inferencia
  • 38. Capa lógica (2): Agentes software Intercambio de “pruebas” escritas en el lenguaje unificado de la Web semántica firmas digitales service discovery intercambio de ontologías desarrollar “por sí mismos” nuevas capacidades de “razonamiento” “ cadenas de valor” extensión al dominio físico descripción de capacidades funcionales Composite Capability/Preference Profile (CC/PP)
  • 40. Tan sólo algunos recursos Enlaces a herramientas XML http://www.xmlsoftware.com Buenos tutoriales, herramientas y demos http:www.microsoft.com/xml Borradores, tecnologías descargables, tutoriales… http://www.ibm.com/xml Recursos para desarrolladores. Contiene la especificación XML 1.0 comentada por Tim Bray http://www.xml.com El “sitio” por excelencia http://www.oasis-open/cover/sgml-xml.html Web del World Wide Web Consortium, donde se desarrollan, se oficializan y se distribuyen las especificaciones http://www.w3.org Traducción del manual de Goldfarb Goldfarb, C.; Prescod, P. (1999) Manual de XML. Madrid [etc.]: Prentice Hall