• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introducción xml
 

Introducción xml

on

  • 3,023 views

Lenguajes Introducción XML, L

Lenguajes Introducción XML, L

Statistics

Views

Total Views
3,023
Views on SlideShare
2,990
Embed Views
33

Actions

Likes
0
Downloads
129
Comments
0

2 Embeds 33

http://ingenieria.umariana.edu.co 30
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introducción xml Introducción xml Presentation Transcript

    • 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