Equipos Programas Media Internet Telecomunicaciones Seguridad Base de Datos Programación Calidad Desarrollo Empresa

Introduccion a XML - Presentacion I.N.T.A.

Tabla de Contenido

  1. Conceptos
    1. Sistemas distribuidos
    2. Hiperenlaces
    3. Páginas estáticas
    4. Páginas dinámicas
    5. Historia del desarrollo Web
    6. Programas en tres capas
    7. Tratamiento de la información
      1. Creación y Edición
      2. Captura
      3. Presentación
      4. Formatos
      5. Persistencia de datos
      6. Acceso
      7. Transmisión
      8. Procesamiento
  2. XML: Extensible Markup Language
    1. Introducción
    2. XML vs HTML y texto plano
    3. Componentes
    4. XML: particularidades
    5. XSL: Extensible Style Language
    6. DTD: Document Type Definition
    7. XSD: XML schema
    8. Comunicaciones
      1. Notas
      2. Comunicación Web
      3. HTTP
      4. DOM
      5. Ejemplos DOM API
      6. Ejemplos ADO API
    9. Conclusiones
      1. Alternativas
      2. Recomendaciones
  3. Apéndice
    1. Librerias
    2. Estandares Internacionales
    3. XML Herramientas
    4. XML Metodología
    5. XML Enlaces
    6. XML Referencias Web

Contenido

  • Conceptos

    • Sistemas distribuidos


      • La arquitectura de los sistemas distribuídos está formada por:
        • Un servidor (o varios).
        • Varios clientes conectados al servidor.

      • Hasta ahora se han producido tres genaraciones de sistemas distribuídos:
        • Primera generación (CORBA, COM)
        • Segunda generación (HTML)
        • Tercera generación (XML)
    • Hiperenlaces


      • Los hiperenlaces pueden ser:


        • Internos. Marcadores o named anchors. Llevan a un lugar dentro de la misma página en la que se encuentran.
        • Externos. Llevan a un lugar fuera de la página en la que se encuentran:
          • A otras páginas.
          • A otros archivos (sonido, video, Word, Excel, etc). Pueden requerir de plug-in o un programa específico para su visualización.
    • Páginas estáticas


      • Son aquellas que se sirven al cliente sin que se realice ninguna transformación sobre ellas. Se muestran 'tal cual' están escritas.
      • Su contenido proviene de las actualizaciones manuales realizadas por el administrador del web. Ej: página .htm o .html
      • Estás páginas incluyen texto con formato, hiperenlaces e imágenes u otros archivos multimedia.
    • Páginas dinámicas


      • Páginas dinámicas: sufren una transformación antes de que el contenido se muestre al usuario. Dicha transformación puede realizarse en el servidor o en el cliente, aunque normalmente suele hacerse en el primero.
      • Por ejemplo: página (ASP, PHP, HTML con scripts, etc.) cuyos contenidos (texto, imágenes, media, hiperenlaces, etc.) provienen de la consulta a una base de datos (mySQL, SQLServer, Access).

      • Pueden presentarse en forma de:


        • Informes: Información no modificable extraída de una base de datos o como resultado de una serie de operaciones.
        • Formularios: Permiten introducir información para ser almacenada en una base de datos o para ser tratada en la realización de cálculos, etc.

      • Archivos que se ejecutan en el servidor:


        • CGI: Desde el cliente se pasa información (en forma de parámetros) que se tratará mediante un programa CGI en el servidor.
        • ASP: El código se divide en:
          • Parte estática en html.
          • Parte dinámica en Visual Basic script o Java script.
        • PHP: El codigo se divide en:
          • Parte estática en html.
          • Parte dinámica en PHP.
    • Historia del desarrollo Web

      Generaciones Web

      • Una página web puede estar formada por:


        • Presentación (estructura, estilo).
        • Lógica de negocio (código ejecutable -asp, php, xsl-que procesa los datos).
        • Almacenamiento de datos (contenido).

      • Desarrollo de las generaciones web:


        • En la primera generación de Internet no estaban individualizadas las tres capas, sino que se incluían todas en el mismo archivo o documento.
          Por ejemplo: un archivo HTML incluía el contenido (datos), presentación y programación (scripts de VSBasic o Java) en el mismo documento.


        • En la segunda generación se separan las capas de manera parcial:
          Por ejemplo: en un archivo HTML o en una hoja externa a él se incluye parte de su estilo (hoja de estilo CSS). O en el archivo HTML también se incluyen archivos (scripts ASP, JSP, PHP, etc.) que acceden a la información de una base de datos.


        • En la tercera generación las tres capas estarán separadas de manera total:
          Por ejemplo: en un archivo XML se estructura el contenido de la página o se accede a través de él a la base de datos; con el documento XSL se establece la presentación del contenido, junto con el CSS, y los tres archivos juntos (XML, XSL y CSS, y también los scripts) pueden formar la página HTML.
    • Programas en tres capas

      Ejemplo de un programa de tres capas

      ¿De qué se compone el programa de tres capas?

      • Según el gráfico anterior, un programa de tres capas se compone de:


        • Presentación. Formato en el que se mostrarán los datos al usuario.(html, asp*, php*, xml*, xsl*, etc)
        • Lógica de negocio. Código ejecutable. Es el 'programa' que procesa los datos (asp, php, xsl, etc.)
        • Almacenamiento de datos. Hay cuatro formas de almacenar los datos:
          • Sistemas de archivos jerárquicos (html, gif, jpg, asp, php, xml, etc.)
          • Bases de datos relacionales (RDB).
          • Base de datos orientadas a objetos (ODB).
          • Bases de datos XML (xml, xsl, xsd, dtd).

        * significa: archivos asp, xml, etc. que recibe el cliente, correspondientes a sus homólogos en el servidor, pero con contenido distinto de los del servidor. Su contenido se obtiene al procesar el servidor el archivo asp, php, etc. del mismo nombre.

    • Tratamiento de la información

      • Creación y Edición

        Tipos de editores web

        • Editores con comandos. Por ejemplo: Vi de Unix.
        • Editores WYSWYG (what you see is what you get). Por ejemplo: Microsoft word.
        • Editores con tags (etiquetas). Inicialmente se introducían los tags a mano, pero ahora se editan de manera visual (mediante menús e iconos). Por ejemplo:
          • Editores HTML. La práctica mayoría usan edición visual. Por ejemplo: Frontpage, Dreamweaver, etc.
          • Editores XML. Aún están en la fase en la que la edición visual es muy escasa o inexistente. Por ejemplo: XML Spy.
      • Captura

        Captura de la información

        • Lectura del documento (informático o no).
        • Procesar y guardar la información:


          • Si está escrito en un formato tradicional (papel, etc):

            • Escanear el documento.
            • Subrayar o marcar las partes más importantes.
            • Transcribir directamente el texto en un nuevo archivo informático.

          • Si se trata de un documento informático:

            • Copiar/Cortar la parte del documento que interese a un nuevo archivo.
            • Descargar los archivos y guardarlos en el ordenador.
            • Salvar una o varias páginas web en el ordenador, si no son muchas.
            • Copiar la Web total o parcial con un programa adecuado (por ejemplo: Webzip o programas de FTP).
      • Presentación

        Formas de presentación de la información

        • Forma visual:
          • Documentos 'lineales': sin hiperenlaces (texto plano, Word, Powerpoint, etc.)
          • Hiperdocumentos: con hiperenlaces (HTML, XML, etc.)
          • Dispositivos requeridos para la visualización:
            • Monitor.
            • Televisor.
            • Teléfono móvil.
            • PDA (agenda electrónica).
            • Etc.

        • Forma auditiva:
          • WAV, MP3 u otros archivos de 'audio puro'.
          • Programas 'lectores' de documentos (traducen el texto a voz, y viceversa).
          • Transformación de HTML o XML a audio.

        • Forma de impresión:
          • Postcript.
          • PDF.
      • Formatos

        Tipos de formatos de la información


        Tipo de Formato

        Características del Formato

        Ventajas de su Utilización

        Inconvenientes de su Utilización

        Ejemplo de Formato
        .txt
      • Categoría: Texto.
      • Sin formato o texto básico.
      • Estándar ANSI.
      • Muy usado.
      • Solo texto.
      • adsl1.txt
        .doc
      • Categoría: Texto.
      • Con formato avanzado.
      • Sólo Microsoft Word .
      • Soporta imágenes, tablas, etc.
      • Documentos secuenciales.
      • Readaptado para la web.
      • Estándar de facto.
      • Muy usado.
      • Formato de Microsoft.
      • Hay que editarlo con Word.
      • No hay Ejemplo.
        .xls
      • Categoría: Texto.
      • Tablas avanzadas.
      • Sólo Microsoft Excel.
      • Soporta cálculo.
      • Readaptado para la web.
      • Estándar de facto.
      • Muy usado.
      • Formato de Microsoft.
      • HTML particular.
      • No hay Ejemplo.
        .pdf
      • Categoría: Texto.
      • Con formato avanzado.
      • Sólo Acrobat Reader.
      • Soporta imágenes, tablas, etc.
      • Documentos secuenciales.
      • Basado en Postcript.
      • Estandar documentos(imprimir/visor).
      • Readaptado para la web.
      • Plug-in gratuito
        Adobe Acrobat Reader.
      • Ejemplo
        .htm
      • Categoría: Texto.
      • Con formato avanzado.
      • Soporta imágenes, tablas, etc.
      • Documentos web.
      • Más sobre HTML.
      • Estándar W3C.
      • Soporta 1ª generación Web.
      • Se mezclan datos + formato.
      • No hay Ejemplo.
        .xml, .xsl, .xsd
      • Categoría: Texto.
      • Define la estructura de datos.
      • Separa estructura y formato.
      • XML + XSL.
      • Permite transformaciones.
      • Más sobre XML.
      • Estándar W3C.
      • Soporta 3ª generación Web.
      • Aceptado por todos.
      • No son soportados por todos.
      • Sí Internet Explorer 5.5 y posteriores.
      • Ejemplo
        .asp
      • Categoría: Programación.
      • Usan Interpretador en servidor.
      • Ejecutables en servidor:
      • Usa VBScript, JavaScript.
      • Usa tag especial <%>.
      • En servidores Windows/Linux.
      • Formato de Microsoft.
      • Se mezcla: datos+formato+ejecutable.
      • Bienvenida El Hard
        .php
      • Categoría: Programación.
      • Ejecutables en servidor.
      • Usan Interpretador en servidor.
      • Usa el lenguaje PHP.
      • Ejecutable en Linux/Windows.
      • Gratuito.
      • Mezcla formato+ejecutable.
      • www.php.net Odisea.org
        Java
      • Categoría: Programación.
      • Ejecutables en servidor.
      • Usan Interpretador en servidor.
      • Usa solo lenguaje Java.
      • Formato de SUN.
      • No hay Ejemplo.
        .gif
      • Categoría: Imagen.
      • Dimensiones pequeñas.
      • Creado por Unisys Compuserve.
      • Más sobre GIF.
      • Estandar W3C.
      • Soporta 1ª generación Web.
      • Soporta fondos transparentes.
      • Comprime a modo de film.
      • Incorpora MIDI para sonido.
      • Formato 'entrelazado':
      • Se completa gradualmente.
      • Solo soporta 256 colores.
      • .jpg
      • Categoría: Imagen.
      • Grandes dimensiones.
      • Más sobre JPG..
      • Estanadar W3C.
      • Soporta 1ª generación Web.
      • Más sofisticado que el GIF.
      • Soporta colores de 24 bits.
      • Formato comprimido.
      • Sin formato 'entrelazado'.
      • Si se 'escala' pierde resolución.
      • Gráficos vectoriales
      • Categoría: Imagen.
      • Para navegadores con plug-ins.
      • Para programas específicos.
      • Admiten zoom.
      • Requieren plug-ins.
      • Requieren programa específico.
      • No hay Ejemplo.
        .png
      • Categoría: Imagen.
      • Rasterizadas (pixels).
      • Portable Network Graphics.
      • Reemplaza a jpg.
      • Portable.
      • Formato comprimido.
      • Escala de grises.
      • Imágenes de color verdadero.
      • etc.
      • Estándar W3C.
      • Soporta la 3ª generación.
      • Solo Internet Explorer 6.0.
      • .svg
      • Categoría: Imagen.
      • Scalable Vector Graphics.
      • Imágenes vectorizadas.
      • Formas geométricas.
      • Editable.
      • Admite varias escalas.
      • Permite animación.
      • Estándar W3C.
      • Soporta 3ª generación Web.
      • Actualmente no es soportado.
      • ImagenSVG.svg
        Formatos multimedia
      • Categoría: Imagen/Texto.
      • Para navegadores con plug-ins.
      • Para programas específicos.
      • Gran impacto en el usuario.
      • Fácil asimilación.
      • Requieren plug-ins.
      • Requieren programa específico.
      • Flash
        Otros formatos
      • Categoría: Imagen/Texto.
      • Para navegadores con plug-ins.
      • Para programas específicos.
      • Mejoras del formato.
      • Requieren plug-ins.
      • Requieren programa específico.
      • No hay Ejemplo.
      • Persistencia de datos

        Guardar los datos

        • Una vez recopilada y procesada la información en un archivo, éste se guarda en nuestro ordenador.


        • Los datos se pueden guardar en varios formatos de archivos:
          • Sistema jerárquico de archivos (Sistema de archivos Windows, UNIX, etc.)
          • Base de datos relacional (Access, SQL Server, etc.)
          • Base de datos orientadas a objetos (ODB).
          • Base de datos XML (Tamino).

        • Estos sistemas de archivos permiten que la información quede guardada en la memoria del ordenador de manera persistente, es decir, que aunque se apague el ordenador los datos no se pierden.
      • Acceso

        Acceso a la información

        • Hoy en día hay dos formas de acceder a la información a través del ordenador:
          • Local. Acceso a la información contenida en archivos presentes en nuestro ordenador (en disco duro, CD, etc.)
          • Remoto. Acceso a través de una red (local/Internet).

        • Para procesar la información: XML, XSL.
      • Transmisión

        Formas de transmisión

        • A través de cadenas de caracteres.
        • Archivos de gran tamaño no optimizados para su transmisión (PDF, Word, texto, etc.)
        • Archivos de pequeño tamaño optimizados para su transmisión (HTML, gif, jpg, XML).
        • Streaming: transmisión de información en tiempo real. Se comprime en origen, se envía y se descomprime en destino en 'tiempo real'. Por ejemplo: voz IP (Messenger), videoconferencia, etc.
      • Procesamiento

        Procesar la información

        • Los datos se pueden procesar utilizando diversos programas o lenguajes, que los modifican o los presentan en pantalla bajo una forma determinada:
          • Programas de tratamiento de texto: Word, Frontpage, etc.
          • Programas de tratamiento de imágenes: Adobe Photoshop, Paint, etc.
          • Programas de tratamiento de audio/video.
          • Lenguajes de estructura y formato de la información: html, xml, xsl, css, etc.
          • Lenguajes de programación: Visual Basic, Java, C++, etc.

        • Se puede procesar la información de dos maneras:
          • Local: desde el propio ordenador (por ejemplo, el programa Word).
          • Remoto: desde un ordenador o red remota (por ejemplo, el lenguaje XML, XSL, etc.)
  • XML: Extensible Markup Language

    • Introducción

      Introducción a XML

      • XSL es un lenguaje para hojas de estilo, que es aplicado al documento XML para modificarlo tanto en estructura como en presentación y estilo.


      • Consiste en tres partes:
        • Lenguaje XSLT. Lenguaje de transformaciones que se incluye en el archivo XSL, para modificar la estructura y presentaciíon del documento XML.
        • Lenguaje XPath. Lenguaje usado por XSLT para acceder o referirse a partes de un documento XML, mediante rutas o direcciones absolutas o relativas. También es usado por la espacificación de 'XML Linking'.
        • Lenguaje XSLFO. Es el lenguaje basado en un vocabulario XML para especificar la semántica los objetos de formateo XSL (Formating objects).

      • Una hoja de estilo XSL especifica la representación de una clase de documento XML, describiendo como una instancia de dicha clase es transformada en un documento XML que usa el vocabulario de formateo.
    • XML vs HTML y texto plano

      Ventajas del XML respecto a HTML

      • Características de los tres lenguajes:


        • Texto plano:
          • Las personas no necesitan códigos o marcas (tags) para leer un texto.
            Por ejemplo: obra de teatro.
          • Han aprendido en la escuela a identificar y asignar el significado a los distintos pasajes del texto.

        • Lenguaje HTML:
          • Las marcas (tags) de HTML definen como se representa el texto en el navegador.
          • No añade semántica y por tanto no es posible introducir información sobre el contenido
            Por ejemplo: ¿que texto recita cada actor?

        • Lenguaje XML:
          • Las marcas de XML se han añadido al texto.
          • Un ordenador no puede derivar significado sobre el contenido.
          • Un ordenador puede analizar las marcas e introducir información sobre el contenido.
            Por ejemplo: extraer los actores para elaborar una lista de actores, o enviar las frases a un programa de traducción de texto a voz.
    • Componentes

      Componentes XML

      • El documento o archivo es el componente básico de XML, con extensión .xml, xsl, xsd. Es equivalente, en cierta forma, al módulo en un lenguaje de programación.


      • Clases de documentos XML:
        • XML de datos (con extensión .xml)
        • XML de transformaciones (con extensión .xsl)
        • XML de esquema (con extensión .xsd)

      • Un documento se compone de:


        • Declaración de comienzo:
          • En documentos xml:

            • <?xml version='1.0'?> o también:
              <?xml version='1.0' encoding='ISO-8859-1'?>
              (si queremos que reconozca caracteres latinos).
              <?xml-stylesheet type='text/xsl' href='tablaGeneral.xsl'?>

          • En documentos xsl:

            • <xsl:stylesheet
              xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
              version='1.0'>

        • Comentario:
          • Es el texto que se incluye en el documento, pero que no se procesa (es una aclaración para el usuario del xml).
          • Un comentario comienza con los simbolos: <!--(espacio) y termina con (espacio)-->.
          • El comentario puede tener una linea: <!-- hola -->
          • O puede tener varias lineas:
            • <!--
              Esto es
              un comentario
              de varias líneas
              -->
          • Los comentarios no se pueden anidar, es decir, no puede haber un comentario dentro de otro, porque da error.

        • Los elementos:
          • En un documento XML puede haber uno o más elementos.
          • Un elemento es un nodo del árbol.
          • Por ejemplo:
              <apellido materno='no'>Garcia<appellido>
          • Un elemento o nodo comienza con una etiqueta de comienzo de elemento, y finaliza con una etiqueta de terminación.


          • Un elemento o nodo, se compone de:
            • Nombre:
              • Es lo que aparece dentro de los simbolos < > de la etiqueta.
              • El nombre se obtiene mediante la función (xsl:value-of select) y se copia (xsl:copy-of) en el árbol resultante, con la función name.
              • Por ejemplo: <xsl:value-of select='name(.)'/>
            • Atributos:
              • Son los que aparecen a continuación del nombre y son pares nombre atributo = valor atributo, separados por blancos.
              • Por ejemplo: materno='no'
              • Un atributo de un elemento se obtiene del arbol origen y se copia en el arbol resultante, con el simbolo @ seguido del nombre del atributo.
              • Por ejemplo: <xsl:value-of select='apellido@materno>
              • Un atributo se define (<xsl:attribute name='materno'>) y el próximo elemento de selección lo copia (<xsl:value-of select='apellido' />) junto al elemento en el arbol resultante con: <xsl:attribute name='materno'><xsl:value-of select='apellido' />
            • Texto:
              • Es lo que hay entre las etiquetas de un elemento.
              • Por ejemplo: <apellido>Esto es el TEXTO</apellido>
              • El texto de un nodo se obtiene (select='apellido') y copia (xsl:value-of) en el arbol de salida, con <xsl:value-of select='apellido'>

          • Los elementos pueden ser:
            • Simples:
              • Notación normal: <apellido>López</apellido>
              • Notación resumida: <xsl:value-of select='apellido' />
            • Compuestos:
              • Engloba a varios elementos simples o compuestos.
              • Por ejemplo:
                • <persona>
                  <nombre>Pepe</nombre>
                  <edad>25</edad>
                  </persona>

                  <xsl:template match='/'
                  <html>
                  ...
                  </html>
                  </xsl:template>

        • Declaración de terminación:
          • En documento xml: ninguna. (Aunque hay que cerrar todos los tags de los elementos).
          • En documento xsl: </xsl:stylesheet>.
    • XML: particularidades

      El fichero XML



      • Es auto descriptivo
      • No hace nada, solo contiene datos.
      • Sirve para intercambiar datos.
      • Definimos nuestros propios tag.
      • Cada tag debe cerrarse obligatoriamente, y además debe hacerse por orden.
      • Los tag son sensibles a mayúsculas y minúsculas.
      • Debe tener un tag raíz o root.
      • Los elementos están anidados.
      • No se eliminan automáticamente los espacios en blanco.
      • Si queremos que se reconozcan caracteres latinos la primera línea debe ser <?xml version='1.0' encoding='ISO-8859-1'?>
      • Los caracteres (<), (>) y (') deben representarse como &lt;, &gt; y &quot; en el texto, ya que son caracteres especiales o tokens del XML.
      • Los valores de los atributos: siempre entre comillas.
      • Los saltos de línea: siempre como LF (line feed).
      • Los comentarios van entre los tag <!--(espacio) Comentario (espacio)-->.
      • En el navegador podemos expandir o colapsar los distintos niveles del árbol.


    • XSL: Extensible Style Language

    • DTD: Document Type Definition

      El antiguo esquema del documento

      • Es el esquema de documento que especifica las marcas válidas y la estructura válida para ese documento.

        • DTD es equivalente a la clase en el lenguaje de objetos, xml es la instancia u objeto de la clase DTD.
        • Sus características son:
          • Los DTD deben ser acordados por los usuarios de los documentos.
          • Son archivos opcionales.
          • No son necesarios para entender un documento XML
          • Se utilizan para controlar las herramientas de XML.
          • Verifican la validez de la estructura y las marcas de un documento.
          • Se invocan o referencian en un include en un archivo xml.
          • Un documento está 'well formed' (bien formado) si es sintacticamente correcto.
          • Un documento es 'válido' si es estructuralmente correcto respecto a su DTD.

      Tabla resúmen del DTD


      Descripción Notación Marca Ejemplo Resultado
      Definición de marca <!ELEMENT texto > Marca 'description' <!ELEMENT description ( #PCDATA ) >
      Definición de lista de atributos <!ATTLIST > <!ATTLIST quarter number ( 1 | 2 | 3 | 4 ) #REQUIRED >
      Marca hoja ( #PCDATA )
      EMPTY
      NMTOKEN
      #REQUIRED
      Lista de marcas ( ) Summary se compone de heading, sughead y descrip <!ELEMENT summary (heading, subhead, descrip) >
      <summary>
       <heading>Scootney Publishing</heading>
       <subhead>Regional Sales Report</subhead>
       <descrip>West Sales report</descrip>
      </summary>
      
      uno o más items + ( region+ )
      uno o ninguno ?
    • XSD: XML schema

    • Comunicaciones

      • Notas

        Notas de Ignacio 1

        • Un archivo xml se visualiza en el Explorador según las transformaciones que realice su archivo xsl asociado.
        • Si en el archivo xml no se especifica un archivo xls, el archivo se visualiza en el Explorer tal cual, es decir, no se realiza ninguna transformación.
        • Los tags de usuario se definen en el archivo dtd.
        • El archivo tdt es opcional. Si este no existe, no se pueden verificar los tags y por tanto la validez del archivo xml.
        • Según el dispositivo que acceda a un documento Web, así sera el archivo xsl asociado.
        • Los archivos xml, dtd, xsl residen en el servidor.
        • El usuario que recibe una página xml, tambien recibe el archivo xsl y es el Explorador el que produce el resultado final.
        • El usuario no tiene la posibilidad de poder asignarle en tiempo real un archivo xsl a un archivo xml, para visualizarlo con otro estilo.
        • Si un dispositivo PDA accede a una página web xml, el servidor se encarga de asociarle el archivo xsl correspondiente.
        • Los query a una base se datos se realizan en los archivos xsl.
        • Los archivos xml y dtd, los prepara un usuario sin conocimientos de informática.
        • Los archivos xsl los prepara un programador.
        • Para que salgan los caracteres españoles: ñ, acentos, etc. se debe poner encoding='ISO-8859-1' en el archivo xml, xsl, xsd y dtd.
        • Encoding hay que ponerlo antes que stanalone, de lo contrario da error.
        • Siempre tienen que incluirse estas declaraciones en los archivos,para que funcionen:
      • Comunicación Web

        Enlaces de interés para la comunicación web

        Tabla de la comunicación web

        Comunicación HTML

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página html
        Visualiza información html recibida Sirve la página html, gif, jpg
        Comunicación asp

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página asp sin envio de datos Ejecuta página asp fuente
        Procesa información
        Visualiza información recibida Sirve archivo asp de resultados
        Comunicación asp a base de datos relacional (RDB)

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página asp y envia datos. (formulario) Ejecuta página asp fuente
        Realiza SQL Ejecuta SQL
        Procesa información Sirve resultados
        Visualiza información recibida Sirve archivo asp de resultados
        Comunicación XML sin Procesador XSLT

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página XML sin transformación
        Visualiza información recibida en arbol (Procesador XMLT) Sirve la página XML
        Comunicación XML con Procesador XSLT en cliente

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página XML con transformación (XSL)
        Realiza la transformación (Procesador XSLT) Sirve la página XML y XSL
        Visualiza información de transformación
        Comunicación XML con Procesador XSLT en servidor

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página XML con transformación XSL Realiza la transformación a HTML (API XSLT)
        Visualiza la información Sirve el resultado en html o XML.
        Comunicación asp a base de datos XML

        Cliente

        HTTP

        Servidor Web

        Otros

        Servidor BDatos
        Solicita página asp y envia datos. (formulario) Ejecuta página asp fuente
        Realiza XPath Ejecuta XPath
        Procesa información Sirve resultados XML
        Visualiza información recibida Sirve archivo asp de resultados
        Dos aplicaciones con comunicación de datos XML y acceso RDB y XML
        Solicita página asp y envia datos. (formulario) Ejecuta página asp fuente
        Realiza SQL o SQL*(sql a xml) ADO+SQL o ADO+XML Ejecuta SQL o XML
        Procesa información Sirve resultados
        Sirve archivo asp de resultados a servidor 2
        Servidor 2 Envia datos XML a otra aplicación. Recibe y procesa datos XML de otra aplicación
        Recibe y procesa datos XML de otra aplicación Envia datos XML a otra aplicación.
        Ejecuta página asp fuente con datos dados por Servidor 1
        Realiza XPath Ejecuta XPath
        Procesa información Sirve resultados XML
        Sirve archivo asp de resultados a Servidor 1
        Visualiza información recibida Servidor 1 sirve asp de resultados a cliente
      • HTTP

        El protocolo HTTP

        • HTTP (HiperText Transfer Protocol).
        • Para que se lleve a cabo el protocolo de transferencia se necesita un cliente y un servidor.


          • CLIENTE
            • Obtener los datos de un servidor.
              • Por ejemplo: para transferir los datos de una página html, datos de una base de datos, etc. se establece el código:
              • Get <direccion>?nombre=valor nombre=valor etc.
              • El código sería:
                GET http://www.w3.org/
                GET /Internet/pagina.htm
                GET http://tic2.dyndns.org/APPML/AppMLSrvs/app_htmlform.asp?appname=../InventProg/Programas&id=73

            • Enviar datos a un servidor. (ej.: de un formulario)
              • Por ejemplo: para enviar datos a un formulario, etc. se establece el código:
              • POST <direccion>?nombre=valor nombre=valor etc.
              • El código sería:
                POST http://www.w3.org/
                POST http://tic2.dyndns.org/APPML/AppMLSrvs/app_htmlform.asp?appname=../InventProg/Programas&id=73

          • SERVIDOR
            • Para enviar los datos de un servidor.
              • Por ejemplo: para enviar los datos de una página html, datos de una base de datos, etc. se establece el código:
              • Response <nombre><nombre>
              • El código sería:
                Response <status><cuerpo>
      • DOM

        Procesar el árbol XML

        • DOM: Document Object Model.
        • API para crear en memoria una representación en árbol, de un documento XML.
        • El DOM suministra clases y métodos a una aplicación (por ejemplo, de ASP) para navegar y procesar el árbol.

          • El proceso es el siguiente:
            • Reordenar elementos.
            • Añadir elementos y atributos.
            • Borrar elementos y atributos.
            • Renombrar elementos.
            • etc.
      • Ejemplos DOM API

        Ejemplo 1

        • DOM: Document Object Model.
        • (Comentarios: están escritos con un signo '(espacio) y el comentario, sin ningún signo de cierre. Por ejemplo: ' Esto es un comentario.)


        • Por ejemplo:
          • <html>
              <body>
            
                <script type='text/vbscript'>
            
                txt='<h1>Traversing the node tree</h1>'
                document.write(txt)
            
                set xmlDoc=CreateObject('Microsoft.XMLDOM')
                'Crea un arbol DOM
            
                xmlDoc.async='false'
            
                xmlDoc.load('note.xml')
                ' lee el archivo note.xml y lo pone en el arbol DOM
            
                for each x in xmlDoc.documentElement.childNodes 
                ' barre el arbol DOM y obtiene un nodo
            
                document.write('<b>' & x.nodename & '</b>') 
                ' escribe el nombre del nodo en una página html
            
                document.write(': ')
                document.write(x.text)
                document.write('<br/>')
            
                next
            
                </script>
            
              </body>
            </html>
            
      • Ejemplos ADO API

        Ejemplo 1

        • ADO: ActiveX Data Object.
        • (Comentarios: están escritos con un signo '(espacio) y el comentario, sin ningún signo de cierre. Por ejemplo: ' Esto es un comentario.)


        • Por ejemplo:
          • <html>
              <body>
                <% ' empieza la programación
                set conn=Server.CreateObject('ADODB.Connection')
                conn.Provider='Microsoft.Jet.OLEDB.4.0'
                conn.Open(Server.Mappath('northwind.mdb'))
                set rs = Server.CreateObject('ADODB.recordset')
                rs.Open 'Select * from Customers', conn
            
                do until rs.EOF
                  for each x in rs.Fields
                    Response.Write(x.name)
                    Response.Write(' = ')
                    Response.Write(' = ')
                    Response.Write(x.value & '<br/>')
            
                  next
                    Response.Write('<br />')
                    rs.MoveNext
                loop
            
                rs.close
                conn.close
                %> ' termina la programación
              </body>
            </html>
            
    • Conclusiones

      • Alternativas

        Alternativas XML


        --Alternativa 1--

        --Alternativa 2--

        --Alternativa 3--

        --Alternativa 4--
        Proceso de captura Información:
        libros
        revistas
        navegación web
        Salvado de páginas HTML, pdf
        y Copia de Web
        Salvado de páginas HTML, pdf
        y Copia de Web
        Salvado de páginas HTML, pdf
        y Copia de Web
        Herramientas Captura Microsoft Explorer Microsoft Explorer,
        Webzip
        Microsoft Explorer,
        Webzip
        Microsoft Explorer,
        Webzip
        Proceso de elaboración Redacción en texto formateado Redacción en HTML Redacción en XML.
        XSL para obtener semiautomaticamente HTML
        Proceso de contenidos automático.
        Proceso de instalación
        y configuración subcontratado.
        Herramientas:
        edición
        producción
        servicio
        Microsoft Word Microsoft Word
        Frontpage
        Dreamweaver
        Notepad,
        XML Spy,
        Microsoft XML Processor
        Germinus Content Management
        INTA/Subcontrata Word/- HTML / Captura XML / XSL-XSD XML / XSL-XSD
        Formato de producción Documento Word HTML XML XML
        Formato entrega Documento Word HTML HTML HTML / XML
        Soportes para usuario Papel CD_ROM CD_ROM Servidores Web-RDB-XML DB.
      • Recomendaciones

        Recomendaciones sobre las alternativas

        • Aprender las tecnologías y evaluar las alternativas 3 y 4.
        • Desarrollar las próximas entregas de las alternativas 3 y 4.


          • Alternativa 3 (antes del 2003):
            • Capturar mediante HTML,PDF o copia web, usando Microsfot Explorer o Webzip.
            • Utilizar XML y XSL para obtener semiautomáticamente HTML.
            • Herramientas de edición, producción y servicio:Notepad, XML Spy, Microsoft XML Processor.
            • Lenguajes (INTA): XML, XSL y XSD.
            • Producir los documentos en formato XML.
            • Presentar los documentos en formato HTML.
            • El mejor soporte para el usuario es el CD-ROM.

          • Alternativa 4 (a partir del 2003):
            • Capturar mediante HTML,PDF o copia web, usando Microsfot Explorer o Webzip.
            • Procesos: contenidos automáticos, instalación y configuración subcontratado.
            • Herramientas de edición, producción y servicio:Germinus Content Management.
            • Lenguajes (INTA): XML, XSL y XSD.
            • Producir los documentos en formato XML.
            • Presentar los documentos en formato XML y HTML.
            • El mejor soporte para el usuario es el Servidores Web-RDB-XML DB..
  • Apéndice


Página generada automáticamente desde la Base de Datos: XML/ el 28/3/2008 13:15:11