SlideShare una empresa de Scribd logo
1 de 95
JORNADAS FORMATIVAS METAMAC I


INTRODUCCIÓN A XML
Nociones básicas
JORNADAS FORMATIVAS METAMAC I


INTRODUCCIÓN A XML
Nociones básicas

@istac_es
http://www.slideshare.net/istac
Índice
   Introducción

   SGML

   HTML

   Hacia un nuevo lenguaje

   XML
INTRODUCCIÓN
Introducción


Publicación de documentos
     Publicar un documento en Internet consiste en aplicar a unos contenidos (texto, imágenes,
      video, audio…) una serie de formatos para que puedan ser visualizados por un navegador.

     La existencia de distintos formatos origina la llamada "Paradoja de la compatibilidad"




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Introducción


Paradoja de la compatibilidad




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Introducción


El camino hacia la normalización




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Introducción


El camino hacia la normalización
     Los formatos se complementan

     La evolución ha favorecido a los formatos:
        Simples
        Con mayores posibilidades de interacción entre aplicaciones e intercambio de información




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
SGML
SGML


¿Qué es SGML?




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Introducción


¿Qué es SGML?
     Se basa en el "marcado descriptivo" o "generalizado", que indica cómo se deben intercalar
      marcas en un documento para diferenciar sus componentes estructurales.

     Las marcas NO señalan cómo se debe presentar el documento en pantalla ni cómo se tiene
      que formatear el documento al imprimirlo.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HTML
HTML


¿Qué es HTML?




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HTML


El ursurpador: HTML
     HTML es en realidad SGML




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
SGML


¿Qué es SGML?




                                                      HTML


 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HTML


HTML: Lo bueno
     El hipertexto funciona (es navegable)

     Es multiplataforma

     Tiene una curva de aprendizaje muy plana

     Es barato (muchos editores, visores, verificadores,… tanto gratuitos como comerciales).

     Base de información grande.

     Los navegadores son baratos, sencillos de construir y de usar y poderosos.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HTML


HTML: Lo malo
     Herramienta pobre de presentación:
        Poco control de espaciado
        Problemas con el control de guiones, justificación y otras manipulaciones del texto.
        El uso de columnas es problemático

     Herramienta pobre de marcado
        No se pueden agregar etiquetas nuevas
        No es modular, poca oportunidad de reciclar
        Hay demasiado código inválido publicado actualmente

     Es una representación de un documento, no de información.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HTML


Resumen de problemas de HTML
     Define más la presentación que el contenido

     Escasa 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




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
HACIA UN NUEVO LENGUAJE
Hacia un nuevo lenguaje


Se requiere algo nuevo
     Barato, veloz y sencillo:
        Para crear documentos
        Para procesar documentos
        Para presentar documentos

     Extensible:
        Un conjunto de reglas, no un conjunto de etiquetas

     Compatible con HTML:
        Debe tener una manera sencilla de convertir en y desde HTML

     Capaz de representar información en cualquier forma, no solo documentos.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Hacia un nuevo lenguaje


Requisitos del nuevo lenguaje
     Debe ser utilizable a través de Internet.

     Debe soportar muchos escenarios de aplicación.

     Debe ser compatible con el SGML.

     Los programas que procesen documentos en este lenguaje tienen que ser fáciles de
      crear.

     Los documentos en este lenguaje deben ser legibles por los humanos y razonablemente
      claros.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Hacia un nuevo lenguaje


Requisitos del nuevo lenguaje
     El diseño con este lenguaje debe ser rápido

     El diseño de documentos en este lenguaje debe ser formal y conciso.

     Los documentos en este lenguaje deben ser fáciles de crear




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Hacia un nuevo lenguaje


Requisitos del nuevo lenguaje




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Hacia un nuevo lenguaje


Requisitos del nuevo lenguaje




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML
XML
Introducción
XML: Introducción


¿Qué es XML?




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


¿Qué es XML?




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


¿Qué es XML?
     Un metalenguaje de marcado

     Una sintaxis utilizada para crear lenguajes declarativos

     Una recomendación técnica del W3C
        Es un estándar del W3C, no de una compañía

     Multiplataforma, simple, fácil de aprender
        Es fácil de construir herramientas para XML.

     Libre (¡y gratuito!)




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


¿Qué NO es XML?
     Un lenguaje de marcado
        NO: Es un estándar que especifica una sintaxis para crear lenguajes de marcado.

     Sólo para la web
        NO: Puede ser usado para describir y comunicar cualquier información estructurada

     Un invento de una compañía
        NO: XML es un estándar creado por el W3C y soportado por compañías e instituciones de todo el
         mundo.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


¿Para qué sirve XML?
     Representación y distribución de documentos e información textual

     Intercambio de datos e información estructurada a través de Internet

     Integración de datos procedentes de fuentes heterogéneas




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


Ejemplo:

                                           Cliente


                                  Nombre             Dirección


                                                          Calle


                                                         Ciudad


                                                      CodigoPostal



 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


Ejemplo:
        <Cliente ID = "HVet948756">
            <Nombre>Hospital Veterinario Hermit</Nombre>
            <Dirección verificada="si">
                     <Calle>La Carrera 15</Calle>
                     <Ciudad>La Laguna</Ciudad>
                     <CodigoPostal>38200</CodigoPostal>
            </Direccion>
        </Cliente>


                                                          •
                                                          •
                                                          •




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML


HTML vs XML



  <table>                                             <libros>
     <tr>                                                <libro>
        <td>XML Schema</td>                                 <titulo>XML Schema</titulo>
        <td>Eric van der Vlist</td>                         <autor>Eric van der
        <td>369</td>                                     Vlist</autor>
        <td>41,57</td>                                      <paginas>369</paginas>
     </tr>                                                  <precio>41,57</precio>
     <tr>                                                </libro>
        …                                                <libro>
     </tr>                                                  …
  </table>                                               </libro>
                                                      </libros>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


El XML sirve para…
     Hacer publicación electrónica independiente del medio.

     Crear protocolos para el intercambio de datos entre miembros de una communidad.

     Facilitar el procesamiento de datos usando software barato.

     Permite a las personas visualizar la información de la manera que quieran.

     Proporcionar metadatos que mejoran la calidad de la búsqueda de información.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Introducción


Dos versiones
     XML bien formado:
        Las etiquetas de inicio y final coinciden
        Los elementos vacíos tienen una forma especial.
        Los atributos van entrecomillados


     XML válido:
        Es código bien formado con funciones adicionales.
        Se adhiere a una estructura predefinida dictada por un esquema




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML
Sintaxis
XML: Sintaxis


Un documento XML es …
     Una colección de piezas llamdas "entidades"

     Texto y etiquetas en Unicode.

     Válido, o por lo menos bien formado

     Representa una jerarquía de datos




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Jerarquía de datos
                                            Empleado



                           Localización     Identificación   Cargo



                                División      Nombre


                                                   Primer
                             Departamento
                                                  apellido


                                                  Segundo
                                 Oficina
                                                  apellido


                                                 Nombre de
                                                   pila



 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Creando documentos bien formados…
     Un único elemento raíz

     Los elementos en la raíz aparecen secuencialmente o anidados.

     Todos los elementos tienen una etiqueta de inicio y una de final.
        Inicia con <Nombre_elemento>
        Termina con </Nombre_elemento>
        Los elementos vacios inician y terminan con <Nombre_elemento/>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Etiquetas
     El XML diferencia entre mayúsculas y minúsculas.
        <Libro> ≠ <libro> ≠ <LIBRO> ≠ <LiBrO>

     Los nombres de elementos:
        Deben comenzar con una letra, subrayado o dos puntos (:).
        Los caracteres siguientes pueden ser letras, números, puntos, guiones, subrayados o dos puntos.
        El nombre “XML” y sus variaciones están reservadas.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


La declaración XML
     Dice: "¡Soy un documento XML!"

     Tiene partes específicas:

      <?xml     version="1.0"      encoding="" standalone=""   ?>


    Apertura      Versión         Codificación   Doc. Independiente Fin
                                                       (yes / no)


     Cada entidad XML que no esté en UTF-8 o UTF-16 debe contener la declaración de
      codificación (encoding).




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Ejemplos de declaraciones XML
     (ninguna)

     <?xml version="1.0"?>

     <?xml version="1.0" encoding ="UTF-8"?>

     <?xml version="1.0" standalone = "yes"?>

     <?xml version="1.0" encoding ="UTF-8" standalone = "no"?>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Ejemplos bien formados I

          <Bienvenida> ¡Hola mundo! </Bienvenida>        Ejemplo 01

          <?xml version="1.0"?>
          <Configuracion>
             <Impresora>
                <Nombre>HP LaserJet 5SI</Nombre>
                <Controlador>hplj5si.dll</Controlador>
                <Opciones>
                                                         Ejemplo 02
                   <AlimentadorSobres/>
                   <Scanner/>
                </Opciones>
             </Impresora>
          </Configuracion>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Ejemplo mal formado

          <?xml version=1.0?>
          <Configuracion>
                <Impresora>
                   <Nombre>HP LaserJet 5SI</Controlador>
                   <Controlador>hplj5si.dll</Nombre>
                   <Opciones>
                      <AlimentadorSobres>
                      <Scanner/>
                   </Opciones
                </Impresora>
          </configuracion>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Entidades carácter
     Para documentos bien formados:
       >   &gt ;    (mayor que)
       <   &lt ;    (menor que)
       &   &amp;    (ampersand)
       „   &apos;   (apóstrofe)
       “   &quot;   (comillas dobles)

     Ejemplo:
        Nombre=“Mario Moreno &apos;Cantinflas&apos;”




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Atributos
     Propiedades (adjetivos)

     Contienen información acerca del elemento.
        Información sobre gráficos
        Fechas, nombres, colores, …

     Aparecen en la etiqueta de inicio

       <Nombre_elemento Nombre_atributo=‚valor‛>
       <Nombre_elemento Nombre_atributo=‘valor’>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Ejemplo con atributos

      <?xml version="1.0"?>
      <Configuracion>
          <Impresora local="si">
                <Nombre>HP LaserJet 5SI</Nombre>
                <Controlador Instalado="si">hplj5si.dll</Controlador>
                <Opciones>
                   <AlimentadorSobres/>
                   <Scanner/>
                   <Color Colores="256"/>
                </Opciones>
          </Impresora>
      </Configuracion>



 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


La necesidad de guias de uso y estilo
     Si quieremos que todos en nuestra organización (personas y máquinas) usen las mismas
      etiquetas de la misma manera, entonces necesitaremos...

     Guías de uso y estilo para las estructuras de datos:
          Listas de etiquetas válidas
          Relaciones entre etiquetas
          Valores predeterminados para los atributos
          Tipos de datos que no sean XML estandarizados




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Reglas: La DTD del XML
     Una Definición de Tipo de Documento (DTD) permite:
          Definir un conjunto específico de etiquetas con relaciones específicas.
          Definir valores predeterminados para los atributos.
          Definir entidades de texto y binarias adicionales junto con sus notaciones.
          Indicar el elemento raíz




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


El control de la DTD
     La DTD proporciona:
        Una sintaxis formal que sirve de guía a un intérprete / analizador (parser)
        La habilidad de definir valores predeterminados para los atributos.
        Especificaciones para la estructura.


     Una DTD es una buena manera (pero no la única) de controlar la creación de datos.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Sintaxis


Ejemplo
            <?xml version="1.0"?>
            <!DOCTYPE clima [
            <!--       Nombre    Modelo contenido    -->
            <!ELEMENT clima     (ciudad+)                  >
            <!ELEMENT ciudad    (nombre, reporte)          >
            <!ELEMENT nombre    (#PCDATA)                  >
            <!ELEMENT reporte   (alta, baja, precip?)      >
            <!ELEMENT alta      (#PCDATA)                  >
            <!ELEMENT baja      (#PCDATA)                  >
            <!ELEMENT precip    EMPTY                      >
            <!ATTLIST precip    total_dia      CDATA       #REQUIRED
                 tipo      (lluvia | nieve)    "lluvia"
                 fuerza    (ligera | fuerte)   #IMPLIED    >
            ]>
            <clima>
               <ciudad>
                  <nombre>Mexico DF</nombre>
                  <reporte>
                     <alta>27</alta>
                     <baja>18</baja>
                     <precip total_dia="0" tipo="lluvia"   fuerza="ligera"/>
                  </reporte>
               </ciudad>
               <ciudad>
                  <nombre>Monterrey</nombre>
                  <reporte>
                     <alta>42</alta>
                     <baja>36</baja>
                     <precip total_dia="0" tipo="lluvia"   fuerza="fuerte"/>
                  </reporte>
               </ciudad>
            </clima>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML
Esquemas (XSD)
XML: Esquemas (XSD)


Introducción a Esquemas XML
     Los esquemas son una alternativa a los DTD basada en XML.

     Un esquema define la estructura de un documento XML.

     Un esquema se denomina XSD (XML Schema Definition)

     Define atributos que pueden aparecer en un documento

     Define cuales de los elementos son elementos hijos

     Define el orden de los elementos hijos




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Introducción a esquemas XML
     Define el número de elementos hijos.

     Define si un elemento está vacío o si tiene texto.

     Define los tipos de datos para los elementos y los atributos.

     Define valores por defecto o fijos para elementos y atributos.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


XSD vs DTD
     Los esquemas son más ricos y útiles que los DTD.

     Los esquemas se escriben en XML.

     Los esquemas soportan tipos de datos.

     Los esquemas soportan espacio de nombres.

     Los esquemas son más utilizados que los DTDs y los reemplazarán.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Mapa conceptual
                                         XSD



                         Elemento raíz              Tipos



              Simples                                                     Complejos



                                       Para                                                             Referencia a los
               Restricciones                                               Indicadores
                                    elementos…                                                               tipos



               Derivaciones                    Vacíos       De orden      De ocurrencia    De grupo             Directa


                                           Que sólo
               Valores fijos y
                                          contienen               All          minOccurs        group          Anónima
                por defecto
                                          elementos


                                         Con sólo texto         Choice         maxOccurs                      Por nombre



                                          Con texto y
                                                               Sequence                                      Por referencia
                                          elementos




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Partes de un esquema
     Elemento raíz

     Tipos simples

     Tipos complejos




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Partes de un esquema: Elemento raíz


             <?xml version="1.0"?>
             <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
             …
             </xsd:schema>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Partes de un esquema: Tipos Simples
     Describen elementos XML que sólo tienen texto.


       <nombre>Mahy Yánez</nombre>                       XML


       <xsd:element name=‚nombre‛ type=‚xsd:string‛/>    XSD




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Partes de un esquema: Tipos Complejos
     Describen elementos XML que contienen elementos y/o atributos y/o texto.

        <propietario>
           <nombre>Mahy Yánez</nombre>
           <email>mahy@gmail.com</email>
                                                                                 XML
        </propietario>


        <xsd:complexType name=‚propietario‛>
           <xsd:sequence>
                 <xsd:element name=‚nombre‛ type=‚xsd:string‛/>
                 <xsd:element name=‚email‛ type=‚xsd:string‛/>
                                                                                 XSD
           </xsd:sequence>
        <xsd:complexType>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos simples
     Básicos

     Restricciones

     Derivaciones

     Valores fijos y por defecto




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos simples: Básicos
     string

     integer

     decimal

     float

     boolean

     time

     date

     ID

     NMTOKEN


    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Simples: Restricciones

     <value>99.99</value>                             XML

     <xsd:simpleType name=‘value’>
        <xsd:restriction base=‘xsd:decimal’>
              <xsd:precision value=‘4’/>
              <xsd:scale value=‘1’/>                  XSD
              <xsd:minInclusive value=’97.0’/>
              <xsd:maxInclusive value=‘105.0’/>
        <xsd:restriction/>
     </xsd:simpleType>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Simples: Derivaciones
     Tipo derivado
       <xsd:simpleType name=‘healthBodytemp’>
          <xsd:restriction base=‘bodytemp’>
                <xsd:maxInclusive value=‘99.5’/>
          <zsd:restriction/>
       </xsd:simpleType>




     Derivado por numeración
       <xsd:simpleType name=‘miSemana’>
          <xsd:restriction base=‘xsd:string’>
                <xsd:enumeration value=‘lunes’/>
                <xsd:enumeration value=‘martes’/>
                …
          <zsd:restriction/>
       </xsd:simpleType>


    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos simples: valores fijos y por defecto
     Valor por defecto
        Se le asigna al elemento si no se especifica otro valor.

            <xsd:element name=‘color’ type=‘xsd:string’ default=‘blanco’/>




     Valor fijado
        Se le asigna automáticamente al elemento
            <xsd:element name=‘color’ type=‘xsd:string’ fixed=‘blanco’/>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos complejos
     Para elementos vacíos

     Para elementos que sólo contienen elementos

     Para elementos que sólo contienen textos

     Para elementos con textos y elementos




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Complejos: Para elementos vacíos

     <img src=‚xmlj.gif‛ alt =‚Icono de programando en Java‛/>   XML

     <xsd:element name = ‚img‛>
         <xsd:complexType>
                <xsd:attribute name=‚src‛ type=‚xsd:NMTOKEN‛/>
                                                                 XSD
                <xsd:attribute name=‚alt‛ type=‚xsd:string‛/>
         </xsd:complexType>
     </xsd:element>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Complejos: Para elementos que sólo contienen elementos

     <persona>
        <nombre>Rita</nombre>
        <apellido>Diaz</apellido>                                    XML
     </persona>


     <xsd:element name = ‚persona‛>
        <xsd:complexType>
              <xsd:sequence>
                 <xsd:element name=‚nombre‛ type =‚xsd:string‛/>     XSD
                 <xsd:element name=‚apellido‛ type =‚xsd:string‛/>
              </xsd:sequence>
        </xsd:complexType>
     </xsd:element>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Complejos: Para elementos que sólo contienen textos

     <mostrarTamanio pais=‚francia‛>35</mostrarTamanio>              XML

     <xsd:element name = ‚mostrarTamanio‛>
        <xsd:complexType>
              <xsd:simpleContent>
                  <xsd:extension base=‚xsd:integer‛>
                     <xsd:attribte name=‚pais‛ type=‚xsd:string‛/>   XSD
                  </xsd:extension>
              </xsd:simpleContent>
        </xsd:complexType>
     </xsd:element>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Tipos Complejos: Para elementos con texto y elementos

     <p>Esto es texto <b>resaltado</b></p>                        XML

     <xsd:complexType name=‚textoResaltado‛ mixed=‚true‛>
        <xsd:sequence>
              <xsd:element name=‚b‛ type=‚xsd:string‛
                          minOccurs=‚0‛ maxOccurs=‚unbounded‛/>
        </xsd:sequence>                                           XSD
     </xsd:complexType>

     <xsd:element name=‚p‛ type=‚textoResaltado‛>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos
     De orden

     De ocurrencia

     De grupo




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos: de Orden
     All
        Los elementos hijos pueden aparecer en cualquier orden pero sólo una vez

            <xsd:element name=‚persona‛>
               <xsd:complexType>
                     <xsd:all>
                        <xsd:element name=‚nombre‛ type=‚xsd:string‛/>
                        <xsd:element name=‚apellidos‛ type=‚xsd:string‛/>
                      </xsd:all>
               </xsd:complexType>
            </xsd:element>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos: de Orden
     Choice
        Los elementos hijos pueden aparecer uno u otro

           <xsd:complexType name=‚itemTipo‛>
              <xsd:sequence>
                    <xsd:element ref=‚PRODUCTO‛/>
                   <xsd:element ref=‚NUMERO‛/>
                    <xsd:choice>
                              <xsd:element ref=‚PRECIO‛/>
                              <xsd:element ref=‚MUESTRA‛/>
                    </xsd:choice>
              </xsd:sequence>
           </xsd:complexType>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos: de Orden
     Sequence
        Los elementos hijos deben aparecer en el orden indicado

           <xsd:complexType name=‚libro‛>
              <xsd:sequence>
                    <xsd:element name=‚titulo‛/>
                   <xsd:element name=‚autor‛/>
                    <xsd:element name=‚editorial‛/>
              </xsd:sequence>
           </xsd:complexType>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos: de Ocurrencia
     minOccurs y maxOccurs
        Indican la frecuencia de los elementos, por defecto 1.

             <xsd:complexType name=‚persona‛>
                <xsd:complexType>
                   <xsd:sequence>
                      <xsd:element name=‚nombreCompleto‛ type=‚xsd:string‛/>
                      <xsd:element name=‚apodo‛ type=‚xsd:string
                                   maxOccurs=‚10‛ minOccurs=‚0‛/>
                   </xsd:sequence>
                </xsd:complecType>
             </xsd:complexType>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Indicadores de tipos complejos: de Grupo
     Group
        Permiten declarar conjuntos de elementos

              (PRODUCTO, NUMERO, (PRECIO | MUESTRA))     XML

              <xsd:group name=‚grupoEleccion‛>
                 <xsd:choice>
                       <xsd:element ref=‚PRECIO‛/>
                       <xsd:element ref=‚MUESTRA‛/>      XSD
                 </xsd:choice>
              </xsd:group>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Referencia a los tipos
     Directa

     Anónima

     Por nombre

     Por referencia




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Referencia a los tipos: Directa

     <xsd:element name=‚nombre‛ type=‚xsd:string‛/>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Referencia a los tipos: Anónima


      <xsd:element name=‚propietario‛>
         <xsd:complexType>
            <xsd:sequence>
               <xsd:element name=‚nombre‛ type=‚xsd:string‛/>
               <xsd:element name=‚email‛ type=‚xsd:string‛/>
            </xsd:sequence>
         </xsd:complexType>
      </xsd:element>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Referencia a los tipos: por Nombre

    <xsd:complexType nombre=‚registro‛>
       <xsd:sequence>
             <xsd:element nombre=‚nombre‛ type=‚xsd:string‛/>
             <xsd:element nombre=‚email‛ type=‚xsd:string‛/>
       </xsd:sequence>
    </xsd:complexType>


    <xsd:element name=‚propietario‛ type=‚registro‛/>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Atributos
     Pueden declararse atributos con valor fijo y por defecto.

          <xsd:attribute name=‚idioma‛ type=‚xsd:string‛ default=‚SP‛/>
          <xsd:attribute name=‚idioma‛ type=‚xsd:string‛ fixed=‚SP‛/>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Atributos
     Su uso puede ser opcional (por defecto) u obligatorio.


        <xsd:attribute name=“idioma” type=“xsd:string” use=“optional”/>
        <xsd:attribute name=“idioma” type=“xsd:string” use=“required”/>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Atributos
     Se pueden aplicar restrcicciones como a los tipos simples

       <xsd:attribute name=‚semana‛>
          <xsd:restriction base=‚xsd:string‛>
                <xsd:enumeration value=‚lunes‛>
                <xsd:enumeration value=‚martes‛>
                …
          </xsd:restriccion>
       </xsd:attribute>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Esquemas (XSD)


Grupos de Atributos

    <xsd:attributeGroup name=‚atributosImagen‛>
       <xsd:attribute nombre=‚alto‛ type=‚xsd:string‛/>
       <xsd:attribute nombre=‚largo‛ type=‚xsd:string‛/>
       <xsd:attribute nombre=‚src‛ type=‚xsd:string‛ use=‚required‛/>
       <xsd:attribute nombre=‚nombre‛ type=‚xsd:string‛ use=‚required‛/>
    </xsd:attributeGroup>


    <xsd:element name=‚imagen‛>
       <xsd:complexType>
             <xsd:attributeGroup ref=‚atributosImagen‛>
       </xsd:complexType>
    </xsd:element>




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML
XSL
XML: XSL


¿Por qué XSL?
     HTML: Formato sin estructura
        Lenguaje e composición
        No extensible

     XML: Estructura sin formato
        Define los elementos.
        Crea una estructura jerárquica de un conjunto de información




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: XSL


XSL
     Un lenguaje para expresar hojas de estilo

     Proporciona semántica de visualización para el XML
        Relaciona elementos XML con HTML o con otros lenguajes de formato (PDF, LaTeX, PostScript,
         …).
        Soporte funcional para CSS.
           • Simple, sintaxis conocida.
           • Los principiantes pueden aprender rápido.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: XSL


¿Cómo funciona el XSL?

                                 XSL
                                              Arbol resultado   Intérprete
 Arbol fuente                                   (xmlsn:fo)
    (XML)




                                Transform.                      Intérprete
                                   XSL




Hoja de estilo                                                  Intérprete
 (xmlns:xsl)




 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: XSL


XML + XSL
     Un documento XML referencia a un documento XSL por medio de un fragmento de código
      como este:


                 <?xml-stylsheet type=‚text/xsl‛ href=‚clima.xsl‛?>




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML
Aplicaciones
XML: Aplicaciones


Aplicaciones XML
     RDF: Resource Description Framework
        Catalogación de recursos de Internet

     CDF: Channel Description Format
        Envío de información mediante el método push

     OSD: Open Software Description
        Descripción de paquetes de actualización de software

     OFX: Open Financial Exchange
        Intercambio de datos financieros para aplicaciones de contabilidad doméstica




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
XML: Aplicaciones


Aplicaciones XML
     XER: XML Encoding Rules
        Codificación de mensajes

     MARTIF: Machine Readable Terminology Interchange Format
        Codificar registros terminológicos

     TMX: Translation Memory eXchange
        Codificar Memorias de traducción

     DOCBOOK:
        DTD para manuales y guías técnicas de documentación de software.




    JORNADAS FORMATIVAS METAMAC I – Introducción a XML
Para más información …

                            XML based technologies used in SDMX (vídeo
                             Eurostat)
GRACIAS POR SU
ATENCIÓN
@istac_es
http://www.slideshare.net/istac

Más contenido relacionado

La actualidad más candente

La actualidad más candente (13)

Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFS
 
DOM and SAX
DOM and SAXDOM and SAX
DOM and SAX
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
Active server pages
Active server pagesActive server pages
Active server pages
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Presentacion: Usando Archimate
Presentacion: Usando ArchimatePresentacion: Usando Archimate
Presentacion: Usando Archimate
 
Xml
XmlXml
Xml
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Enhanced ER(database)
Enhanced ER(database)Enhanced ER(database)
Enhanced ER(database)
 
Database Design for News App
Database Design for News AppDatabase Design for News App
Database Design for News App
 
Ordbms
OrdbmsOrdbms
Ordbms
 
Odbms concepts
Odbms conceptsOdbms concepts
Odbms concepts
 

Destacado

Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...
Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...
Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...Instituto Canario de Estadística (ISTAC)
 
La estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteLa estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteInstituto Canario de Estadística (ISTAC)
 

Destacado (13)

SDXM: 08 Publicación de datos y metadatos mediante SDMX
SDXM: 08 Publicación de datos y metadatos mediante SDMXSDXM: 08 Publicación de datos y metadatos mediante SDMX
SDXM: 08 Publicación de datos y metadatos mediante SDMX
 
SDMX: 05 Listas de código (Code List)
SDMX: 05 Listas de código (Code List)SDMX: 05 Listas de código (Code List)
SDMX: 05 Listas de código (Code List)
 
SDMX: 09 Herramientas SDMX
SDMX: 09 Herramientas SDMXSDMX: 09 Herramientas SDMX
SDMX: 09 Herramientas SDMX
 
SDMX: 03 Introducción al SDMX
SDMX: 03 Introducción al SDMXSDMX: 03 Introducción al SDMX
SDMX: 03 Introducción al SDMX
 
SDMX: 01 introducción a los metadatos
SDMX: 01 introducción a los metadatos  SDMX: 01 introducción a los metadatos
SDMX: 01 introducción a los metadatos
 
SDMX: 07 Registro SDMX
SDMX: 07 Registro SDMXSDMX: 07 Registro SDMX
SDMX: 07 Registro SDMX
 
Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...
Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...
Infraestructura de difusión de datos y metadatos  estadísticos del ISTAC en e...
 
SDXM: 06 Metadatos referenciales (MSD)
SDXM: 06 Metadatos referenciales (MSD)SDXM: 06 Metadatos referenciales (MSD)
SDXM: 06 Metadatos referenciales (MSD)
 
OPEN DATA EN CANARIAS. La estadística como showcase. #fi2
OPEN DATA EN CANARIAS. La estadística como showcase. #fi2OPEN DATA EN CANARIAS. La estadística como showcase. #fi2
OPEN DATA EN CANARIAS. La estadística como showcase. #fi2
 
SDMX: 10 Relación de SDMX con otros estándares
SDMX: 10 Relación de SDMX con otros estándaresSDMX: 10 Relación de SDMX con otros estándares
SDMX: 10 Relación de SDMX con otros estándares
 
SDMX: 04 SDMX y los metadatos estructurales
SDMX: 04 SDMX y los metadatos estructuralesSDMX: 04 SDMX y los metadatos estructurales
SDMX: 04 SDMX y los metadatos estructurales
 
SDMX:11 Arquitecturas
SDMX:11 Arquitecturas SDMX:11 Arquitecturas
SDMX:11 Arquitecturas
 
La estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteLa estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parte
 

Similar a XML Jornadas formativas introducción nociones básicas

Similar a XML Jornadas formativas introducción nociones básicas (20)

Tutorial XML
Tutorial XMLTutorial XML
Tutorial XML
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentacion
PresentacionPresentacion
Presentacion
 
Trabajo xml
Trabajo xmlTrabajo xml
Trabajo xml
 
Diferencias entre XML y HTML
Diferencias entre XML y HTMLDiferencias entre XML y HTML
Diferencias entre XML y HTML
 
Xml presentacin
Xml presentacinXml presentacin
Xml presentacin
 
HTML
HTMLHTML
HTML
 
Quintanilla cabrera html
Quintanilla cabrera htmlQuintanilla cabrera html
Quintanilla cabrera html
 
Lenguaje XML
Lenguaje XMLLenguaje XML
Lenguaje XML
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Presentación1 viviana
Presentación1 vivianaPresentación1 viviana
Presentación1 viviana
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Fundamentos XML
Fundamentos XMLFundamentos XML
Fundamentos XML
 
Diferencia entre html y xml
Diferencia entre html y xmlDiferencia entre html y xml
Diferencia entre html y xml
 
Htm ltlalti
Htm ltlaltiHtm ltlalti
Htm ltlalti
 
XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semántica
 
Evelyn deber
Evelyn deberEvelyn deber
Evelyn deber
 

Más de Instituto Canario de Estadística (ISTAC)

[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividadInstituto Canario de Estadística (ISTAC)
 
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Instituto Canario de Estadística (ISTAC)
 
La estadística pública en la evaluación de políticas: Introducción a la esta...
La estadística pública en la evaluación  de políticas: Introducción a la esta...La estadística pública en la evaluación  de políticas: Introducción a la esta...
La estadística pública en la evaluación de políticas: Introducción a la esta...Instituto Canario de Estadística (ISTAC)
 
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Instituto Canario de Estadística (ISTAC)
 
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasCasos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasInstituto Canario de Estadística (ISTAC)
 
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...Instituto Canario de Estadística (ISTAC)
 
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaSISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaInstituto Canario de Estadística (ISTAC)
 

Más de Instituto Canario de Estadística (ISTAC) (20)

Sistema de Datos Integrados (iDatos) - capacidades analíticas
Sistema de Datos Integrados (iDatos) - capacidades analíticasSistema de Datos Integrados (iDatos) - capacidades analíticas
Sistema de Datos Integrados (iDatos) - capacidades analíticas
 
Turismo Canarias 2018. Islas
Turismo Canarias 2018. IslasTurismo Canarias 2018. Islas
Turismo Canarias 2018. Islas
 
Crecimiento vegetativo
Crecimiento vegetativoCrecimiento vegetativo
Crecimiento vegetativo
 
Indicadores para politicas publicas
Indicadores para politicas publicasIndicadores para politicas publicas
Indicadores para politicas publicas
 
Presentacion chatbot istac
Presentacion chatbot istacPresentacion chatbot istac
Presentacion chatbot istac
 
[Jecas2018] entorno de computo estadistico en e datos
[Jecas2018] entorno de computo estadistico en e datos[Jecas2018] entorno de computo estadistico en e datos
[Jecas2018] entorno de computo estadistico en e datos
 
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
 
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
 
[Jecas2018] marco de estadistica espacial de canarias
[Jecas2018] marco de estadistica espacial de canarias[Jecas2018] marco de estadistica espacial de canarias
[Jecas2018] marco de estadistica espacial de canarias
 
Matrimonios. 2015
Matrimonios. 2015Matrimonios. 2015
Matrimonios. 2015
 
Nombres más comunes entre recién nacidos. 2016
Nombres más comunes entre recién nacidos. 2016Nombres más comunes entre recién nacidos. 2016
Nombres más comunes entre recién nacidos. 2016
 
201807 gobcan jordanas datos abiertos
201807  gobcan   jordanas datos abiertos 201807  gobcan   jordanas datos abiertos
201807 gobcan jordanas datos abiertos
 
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
 
La estadística pública en la evaluación de políticas: Introducción a la esta...
La estadística pública en la evaluación  de políticas: Introducción a la esta...La estadística pública en la evaluación  de políticas: Introducción a la esta...
La estadística pública en la evaluación de políticas: Introducción a la esta...
 
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
 
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasCasos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
 
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
 
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaSISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
 
Entidades y núcleos turísticos. estadísticas asociadas
Entidades y núcleos turísticos. estadísticas asociadasEntidades y núcleos turísticos. estadísticas asociadas
Entidades y núcleos turísticos. estadísticas asociadas
 
Jornada OpenData La Palma: Generando valor y transparencia
Jornada OpenData La Palma: Generando valor y transparenciaJornada OpenData La Palma: Generando valor y transparencia
Jornada OpenData La Palma: Generando valor y transparencia
 

XML Jornadas formativas introducción nociones básicas

  • 1. JORNADAS FORMATIVAS METAMAC I INTRODUCCIÓN A XML Nociones básicas
  • 2. JORNADAS FORMATIVAS METAMAC I INTRODUCCIÓN A XML Nociones básicas @istac_es http://www.slideshare.net/istac
  • 3. Índice  Introducción  SGML  HTML  Hacia un nuevo lenguaje  XML
  • 5. Introducción Publicación de documentos  Publicar un documento en Internet consiste en aplicar a unos contenidos (texto, imágenes, video, audio…) una serie de formatos para que puedan ser visualizados por un navegador.  La existencia de distintos formatos origina la llamada "Paradoja de la compatibilidad" JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 6. Introducción Paradoja de la compatibilidad JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 7. Introducción El camino hacia la normalización JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 8. Introducción El camino hacia la normalización  Los formatos se complementan  La evolución ha favorecido a los formatos:  Simples  Con mayores posibilidades de interacción entre aplicaciones e intercambio de información JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 10. SGML ¿Qué es SGML? JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 11. Introducción ¿Qué es SGML?  Se basa en el "marcado descriptivo" o "generalizado", que indica cómo se deben intercalar marcas en un documento para diferenciar sus componentes estructurales.  Las marcas NO señalan cómo se debe presentar el documento en pantalla ni cómo se tiene que formatear el documento al imprimirlo. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 12. HTML
  • 13. HTML ¿Qué es HTML? JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 14. HTML El ursurpador: HTML  HTML es en realidad SGML JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 15. SGML ¿Qué es SGML? HTML JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 16. HTML HTML: Lo bueno  El hipertexto funciona (es navegable)  Es multiplataforma  Tiene una curva de aprendizaje muy plana  Es barato (muchos editores, visores, verificadores,… tanto gratuitos como comerciales).  Base de información grande.  Los navegadores son baratos, sencillos de construir y de usar y poderosos. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 17. HTML HTML: Lo malo  Herramienta pobre de presentación:  Poco control de espaciado  Problemas con el control de guiones, justificación y otras manipulaciones del texto.  El uso de columnas es problemático  Herramienta pobre de marcado  No se pueden agregar etiquetas nuevas  No es modular, poca oportunidad de reciclar  Hay demasiado código inválido publicado actualmente  Es una representación de un documento, no de información. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 18. HTML Resumen de problemas de HTML  Define más la presentación que el contenido  Escasa 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 JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 19. HACIA UN NUEVO LENGUAJE
  • 20. Hacia un nuevo lenguaje Se requiere algo nuevo  Barato, veloz y sencillo:  Para crear documentos  Para procesar documentos  Para presentar documentos  Extensible:  Un conjunto de reglas, no un conjunto de etiquetas  Compatible con HTML:  Debe tener una manera sencilla de convertir en y desde HTML  Capaz de representar información en cualquier forma, no solo documentos. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 21. Hacia un nuevo lenguaje Requisitos del nuevo lenguaje  Debe ser utilizable a través de Internet.  Debe soportar muchos escenarios de aplicación.  Debe ser compatible con el SGML.  Los programas que procesen documentos en este lenguaje tienen que ser fáciles de crear.  Los documentos en este lenguaje deben ser legibles por los humanos y razonablemente claros. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 22. Hacia un nuevo lenguaje Requisitos del nuevo lenguaje  El diseño con este lenguaje debe ser rápido  El diseño de documentos en este lenguaje debe ser formal y conciso.  Los documentos en este lenguaje deben ser fáciles de crear JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 23. Hacia un nuevo lenguaje Requisitos del nuevo lenguaje JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 24. Hacia un nuevo lenguaje Requisitos del nuevo lenguaje JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 25. XML
  • 27. XML: Introducción ¿Qué es XML? JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 28. XML: Introducción ¿Qué es XML? JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 29. XML: Introducción ¿Qué es XML?  Un metalenguaje de marcado  Una sintaxis utilizada para crear lenguajes declarativos  Una recomendación técnica del W3C  Es un estándar del W3C, no de una compañía  Multiplataforma, simple, fácil de aprender  Es fácil de construir herramientas para XML.  Libre (¡y gratuito!) JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 30. XML: Introducción ¿Qué NO es XML?  Un lenguaje de marcado  NO: Es un estándar que especifica una sintaxis para crear lenguajes de marcado.  Sólo para la web  NO: Puede ser usado para describir y comunicar cualquier información estructurada  Un invento de una compañía  NO: XML es un estándar creado por el W3C y soportado por compañías e instituciones de todo el mundo. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 31. XML: Introducción ¿Para qué sirve XML?  Representación y distribución de documentos e información textual  Intercambio de datos e información estructurada a través de Internet  Integración de datos procedentes de fuentes heterogéneas JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 32. XML: Introducción Ejemplo: Cliente Nombre Dirección Calle Ciudad CodigoPostal JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 33. XML: Introducción Ejemplo: <Cliente ID = "HVet948756"> <Nombre>Hospital Veterinario Hermit</Nombre> <Dirección verificada="si"> <Calle>La Carrera 15</Calle> <Ciudad>La Laguna</Ciudad> <CodigoPostal>38200</CodigoPostal> </Direccion> </Cliente> • • • JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 34. XML HTML vs XML <table> <libros> <tr> <libro> <td>XML Schema</td> <titulo>XML Schema</titulo> <td>Eric van der Vlist</td> <autor>Eric van der <td>369</td> Vlist</autor> <td>41,57</td> <paginas>369</paginas> </tr> <precio>41,57</precio> <tr> </libro> … <libro> </tr> … </table> </libro> </libros> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 35. XML: Introducción El XML sirve para…  Hacer publicación electrónica independiente del medio.  Crear protocolos para el intercambio de datos entre miembros de una communidad.  Facilitar el procesamiento de datos usando software barato.  Permite a las personas visualizar la información de la manera que quieran.  Proporcionar metadatos que mejoran la calidad de la búsqueda de información. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 36. XML: Introducción Dos versiones  XML bien formado:  Las etiquetas de inicio y final coinciden  Los elementos vacíos tienen una forma especial.  Los atributos van entrecomillados  XML válido:  Es código bien formado con funciones adicionales.  Se adhiere a una estructura predefinida dictada por un esquema JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 38. XML: Sintaxis Un documento XML es …  Una colección de piezas llamdas "entidades"  Texto y etiquetas en Unicode.  Válido, o por lo menos bien formado  Representa una jerarquía de datos JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 39. XML: Sintaxis Jerarquía de datos Empleado Localización Identificación Cargo División Nombre Primer Departamento apellido Segundo Oficina apellido Nombre de pila JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 40. XML: Sintaxis Creando documentos bien formados…  Un único elemento raíz  Los elementos en la raíz aparecen secuencialmente o anidados.  Todos los elementos tienen una etiqueta de inicio y una de final.  Inicia con <Nombre_elemento>  Termina con </Nombre_elemento>  Los elementos vacios inician y terminan con <Nombre_elemento/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 41. XML: Sintaxis Etiquetas  El XML diferencia entre mayúsculas y minúsculas.  <Libro> ≠ <libro> ≠ <LIBRO> ≠ <LiBrO>  Los nombres de elementos:  Deben comenzar con una letra, subrayado o dos puntos (:).  Los caracteres siguientes pueden ser letras, números, puntos, guiones, subrayados o dos puntos.  El nombre “XML” y sus variaciones están reservadas. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 42. XML: Sintaxis La declaración XML  Dice: "¡Soy un documento XML!"  Tiene partes específicas: <?xml version="1.0" encoding="" standalone="" ?> Apertura Versión Codificación Doc. Independiente Fin (yes / no)  Cada entidad XML que no esté en UTF-8 o UTF-16 debe contener la declaración de codificación (encoding). JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 43. XML: Sintaxis Ejemplos de declaraciones XML  (ninguna)  <?xml version="1.0"?>  <?xml version="1.0" encoding ="UTF-8"?>  <?xml version="1.0" standalone = "yes"?>  <?xml version="1.0" encoding ="UTF-8" standalone = "no"?> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 44. XML: Sintaxis Ejemplos bien formados I <Bienvenida> ¡Hola mundo! </Bienvenida> Ejemplo 01 <?xml version="1.0"?> <Configuracion> <Impresora> <Nombre>HP LaserJet 5SI</Nombre> <Controlador>hplj5si.dll</Controlador> <Opciones> Ejemplo 02 <AlimentadorSobres/> <Scanner/> </Opciones> </Impresora> </Configuracion> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 45. XML: Sintaxis Ejemplo mal formado <?xml version=1.0?> <Configuracion> <Impresora> <Nombre>HP LaserJet 5SI</Controlador> <Controlador>hplj5si.dll</Nombre> <Opciones> <AlimentadorSobres> <Scanner/> </Opciones </Impresora> </configuracion> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 46. XML: Sintaxis Entidades carácter  Para documentos bien formados: > &gt ; (mayor que) < &lt ; (menor que) & &amp; (ampersand) „ &apos; (apóstrofe) “ &quot; (comillas dobles)  Ejemplo:  Nombre=“Mario Moreno &apos;Cantinflas&apos;” JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 47. XML: Sintaxis Atributos  Propiedades (adjetivos)  Contienen información acerca del elemento.  Información sobre gráficos  Fechas, nombres, colores, …  Aparecen en la etiqueta de inicio <Nombre_elemento Nombre_atributo=‚valor‛> <Nombre_elemento Nombre_atributo=‘valor’> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 48. XML: Sintaxis Ejemplo con atributos <?xml version="1.0"?> <Configuracion> <Impresora local="si"> <Nombre>HP LaserJet 5SI</Nombre> <Controlador Instalado="si">hplj5si.dll</Controlador> <Opciones> <AlimentadorSobres/> <Scanner/> <Color Colores="256"/> </Opciones> </Impresora> </Configuracion> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 49. XML: Sintaxis La necesidad de guias de uso y estilo  Si quieremos que todos en nuestra organización (personas y máquinas) usen las mismas etiquetas de la misma manera, entonces necesitaremos...  Guías de uso y estilo para las estructuras de datos:  Listas de etiquetas válidas  Relaciones entre etiquetas  Valores predeterminados para los atributos  Tipos de datos que no sean XML estandarizados JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 50. XML: Sintaxis Reglas: La DTD del XML  Una Definición de Tipo de Documento (DTD) permite:  Definir un conjunto específico de etiquetas con relaciones específicas.  Definir valores predeterminados para los atributos.  Definir entidades de texto y binarias adicionales junto con sus notaciones.  Indicar el elemento raíz JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 51. XML: Sintaxis El control de la DTD  La DTD proporciona:  Una sintaxis formal que sirve de guía a un intérprete / analizador (parser)  La habilidad de definir valores predeterminados para los atributos.  Especificaciones para la estructura.  Una DTD es una buena manera (pero no la única) de controlar la creación de datos. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 52. XML: Sintaxis Ejemplo <?xml version="1.0"?> <!DOCTYPE clima [ <!-- Nombre Modelo contenido --> <!ELEMENT clima (ciudad+) > <!ELEMENT ciudad (nombre, reporte) > <!ELEMENT nombre (#PCDATA) > <!ELEMENT reporte (alta, baja, precip?) > <!ELEMENT alta (#PCDATA) > <!ELEMENT baja (#PCDATA) > <!ELEMENT precip EMPTY > <!ATTLIST precip total_dia CDATA #REQUIRED tipo (lluvia | nieve) "lluvia" fuerza (ligera | fuerte) #IMPLIED > ]> <clima> <ciudad> <nombre>Mexico DF</nombre> <reporte> <alta>27</alta> <baja>18</baja> <precip total_dia="0" tipo="lluvia" fuerza="ligera"/> </reporte> </ciudad> <ciudad> <nombre>Monterrey</nombre> <reporte> <alta>42</alta> <baja>36</baja> <precip total_dia="0" tipo="lluvia" fuerza="fuerte"/> </reporte> </ciudad> </clima> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 54. XML: Esquemas (XSD) Introducción a Esquemas XML  Los esquemas son una alternativa a los DTD basada en XML.  Un esquema define la estructura de un documento XML.  Un esquema se denomina XSD (XML Schema Definition)  Define atributos que pueden aparecer en un documento  Define cuales de los elementos son elementos hijos  Define el orden de los elementos hijos JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 55. XML: Esquemas (XSD) Introducción a esquemas XML  Define el número de elementos hijos.  Define si un elemento está vacío o si tiene texto.  Define los tipos de datos para los elementos y los atributos.  Define valores por defecto o fijos para elementos y atributos. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 56. XML: Esquemas (XSD) XSD vs DTD  Los esquemas son más ricos y útiles que los DTD.  Los esquemas se escriben en XML.  Los esquemas soportan tipos de datos.  Los esquemas soportan espacio de nombres.  Los esquemas son más utilizados que los DTDs y los reemplazarán. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 57. XML: Esquemas (XSD) Mapa conceptual XSD Elemento raíz Tipos Simples Complejos Para Referencia a los Restricciones Indicadores elementos… tipos Derivaciones Vacíos De orden De ocurrencia De grupo Directa Que sólo Valores fijos y contienen All minOccurs group Anónima por defecto elementos Con sólo texto Choice maxOccurs Por nombre Con texto y Sequence Por referencia elementos JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 58. XML: Esquemas (XSD) Partes de un esquema  Elemento raíz  Tipos simples  Tipos complejos JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 59. XML: Esquemas (XSD) Partes de un esquema: Elemento raíz <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> … </xsd:schema> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 60. XML: Esquemas (XSD) Partes de un esquema: Tipos Simples  Describen elementos XML que sólo tienen texto. <nombre>Mahy Yánez</nombre> XML <xsd:element name=‚nombre‛ type=‚xsd:string‛/> XSD JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 61. XML: Esquemas (XSD) Partes de un esquema: Tipos Complejos  Describen elementos XML que contienen elementos y/o atributos y/o texto. <propietario> <nombre>Mahy Yánez</nombre> <email>mahy@gmail.com</email> XML </propietario> <xsd:complexType name=‚propietario‛> <xsd:sequence> <xsd:element name=‚nombre‛ type=‚xsd:string‛/> <xsd:element name=‚email‛ type=‚xsd:string‛/> XSD </xsd:sequence> <xsd:complexType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 62. XML: Esquemas (XSD) Tipos simples  Básicos  Restricciones  Derivaciones  Valores fijos y por defecto JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 63. XML: Esquemas (XSD) Tipos simples: Básicos  string  integer  decimal  float  boolean  time  date  ID  NMTOKEN JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 64. XML: Esquemas (XSD) Tipos Simples: Restricciones <value>99.99</value> XML <xsd:simpleType name=‘value’> <xsd:restriction base=‘xsd:decimal’> <xsd:precision value=‘4’/> <xsd:scale value=‘1’/> XSD <xsd:minInclusive value=’97.0’/> <xsd:maxInclusive value=‘105.0’/> <xsd:restriction/> </xsd:simpleType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 65. XML: Esquemas (XSD) Tipos Simples: Derivaciones  Tipo derivado <xsd:simpleType name=‘healthBodytemp’> <xsd:restriction base=‘bodytemp’> <xsd:maxInclusive value=‘99.5’/> <zsd:restriction/> </xsd:simpleType>  Derivado por numeración <xsd:simpleType name=‘miSemana’> <xsd:restriction base=‘xsd:string’> <xsd:enumeration value=‘lunes’/> <xsd:enumeration value=‘martes’/> … <zsd:restriction/> </xsd:simpleType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 66. XML: Esquemas (XSD) Tipos simples: valores fijos y por defecto  Valor por defecto  Se le asigna al elemento si no se especifica otro valor. <xsd:element name=‘color’ type=‘xsd:string’ default=‘blanco’/>  Valor fijado  Se le asigna automáticamente al elemento <xsd:element name=‘color’ type=‘xsd:string’ fixed=‘blanco’/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 67. XML: Esquemas (XSD) Tipos complejos  Para elementos vacíos  Para elementos que sólo contienen elementos  Para elementos que sólo contienen textos  Para elementos con textos y elementos JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 68. XML: Esquemas (XSD) Tipos Complejos: Para elementos vacíos <img src=‚xmlj.gif‛ alt =‚Icono de programando en Java‛/> XML <xsd:element name = ‚img‛> <xsd:complexType> <xsd:attribute name=‚src‛ type=‚xsd:NMTOKEN‛/> XSD <xsd:attribute name=‚alt‛ type=‚xsd:string‛/> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 69. XML: Esquemas (XSD) Tipos Complejos: Para elementos que sólo contienen elementos <persona> <nombre>Rita</nombre> <apellido>Diaz</apellido> XML </persona> <xsd:element name = ‚persona‛> <xsd:complexType> <xsd:sequence> <xsd:element name=‚nombre‛ type =‚xsd:string‛/> XSD <xsd:element name=‚apellido‛ type =‚xsd:string‛/> </xsd:sequence> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 70. XML: Esquemas (XSD) Tipos Complejos: Para elementos que sólo contienen textos <mostrarTamanio pais=‚francia‛>35</mostrarTamanio> XML <xsd:element name = ‚mostrarTamanio‛> <xsd:complexType> <xsd:simpleContent> <xsd:extension base=‚xsd:integer‛> <xsd:attribte name=‚pais‛ type=‚xsd:string‛/> XSD </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 71. XML: Esquemas (XSD) Tipos Complejos: Para elementos con texto y elementos <p>Esto es texto <b>resaltado</b></p> XML <xsd:complexType name=‚textoResaltado‛ mixed=‚true‛> <xsd:sequence> <xsd:element name=‚b‛ type=‚xsd:string‛ minOccurs=‚0‛ maxOccurs=‚unbounded‛/> </xsd:sequence> XSD </xsd:complexType> <xsd:element name=‚p‛ type=‚textoResaltado‛> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 72. XML: Esquemas (XSD) Indicadores de tipos complejos  De orden  De ocurrencia  De grupo JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 73. XML: Esquemas (XSD) Indicadores de tipos complejos: de Orden  All  Los elementos hijos pueden aparecer en cualquier orden pero sólo una vez <xsd:element name=‚persona‛> <xsd:complexType> <xsd:all> <xsd:element name=‚nombre‛ type=‚xsd:string‛/> <xsd:element name=‚apellidos‛ type=‚xsd:string‛/> </xsd:all> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 74. XML: Esquemas (XSD) Indicadores de tipos complejos: de Orden  Choice  Los elementos hijos pueden aparecer uno u otro <xsd:complexType name=‚itemTipo‛> <xsd:sequence> <xsd:element ref=‚PRODUCTO‛/> <xsd:element ref=‚NUMERO‛/> <xsd:choice> <xsd:element ref=‚PRECIO‛/> <xsd:element ref=‚MUESTRA‛/> </xsd:choice> </xsd:sequence> </xsd:complexType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 75. XML: Esquemas (XSD) Indicadores de tipos complejos: de Orden  Sequence  Los elementos hijos deben aparecer en el orden indicado <xsd:complexType name=‚libro‛> <xsd:sequence> <xsd:element name=‚titulo‛/> <xsd:element name=‚autor‛/> <xsd:element name=‚editorial‛/> </xsd:sequence> </xsd:complexType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 76. XML: Esquemas (XSD) Indicadores de tipos complejos: de Ocurrencia  minOccurs y maxOccurs  Indican la frecuencia de los elementos, por defecto 1. <xsd:complexType name=‚persona‛> <xsd:complexType> <xsd:sequence> <xsd:element name=‚nombreCompleto‛ type=‚xsd:string‛/> <xsd:element name=‚apodo‛ type=‚xsd:string maxOccurs=‚10‛ minOccurs=‚0‛/> </xsd:sequence> </xsd:complecType> </xsd:complexType> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 77. XML: Esquemas (XSD) Indicadores de tipos complejos: de Grupo  Group  Permiten declarar conjuntos de elementos (PRODUCTO, NUMERO, (PRECIO | MUESTRA)) XML <xsd:group name=‚grupoEleccion‛> <xsd:choice> <xsd:element ref=‚PRECIO‛/> <xsd:element ref=‚MUESTRA‛/> XSD </xsd:choice> </xsd:group> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 78. XML: Esquemas (XSD) Referencia a los tipos  Directa  Anónima  Por nombre  Por referencia JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 79. XML: Esquemas (XSD) Referencia a los tipos: Directa <xsd:element name=‚nombre‛ type=‚xsd:string‛/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 80. XML: Esquemas (XSD) Referencia a los tipos: Anónima <xsd:element name=‚propietario‛> <xsd:complexType> <xsd:sequence> <xsd:element name=‚nombre‛ type=‚xsd:string‛/> <xsd:element name=‚email‛ type=‚xsd:string‛/> </xsd:sequence> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 81. XML: Esquemas (XSD) Referencia a los tipos: por Nombre <xsd:complexType nombre=‚registro‛> <xsd:sequence> <xsd:element nombre=‚nombre‛ type=‚xsd:string‛/> <xsd:element nombre=‚email‛ type=‚xsd:string‛/> </xsd:sequence> </xsd:complexType> <xsd:element name=‚propietario‛ type=‚registro‛/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 82. XML: Esquemas (XSD) Atributos  Pueden declararse atributos con valor fijo y por defecto. <xsd:attribute name=‚idioma‛ type=‚xsd:string‛ default=‚SP‛/> <xsd:attribute name=‚idioma‛ type=‚xsd:string‛ fixed=‚SP‛/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 83. XML: Esquemas (XSD) Atributos  Su uso puede ser opcional (por defecto) u obligatorio. <xsd:attribute name=“idioma” type=“xsd:string” use=“optional”/> <xsd:attribute name=“idioma” type=“xsd:string” use=“required”/> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 84. XML: Esquemas (XSD) Atributos  Se pueden aplicar restrcicciones como a los tipos simples <xsd:attribute name=‚semana‛> <xsd:restriction base=‚xsd:string‛> <xsd:enumeration value=‚lunes‛> <xsd:enumeration value=‚martes‛> … </xsd:restriccion> </xsd:attribute> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 85. XML: Esquemas (XSD) Grupos de Atributos <xsd:attributeGroup name=‚atributosImagen‛> <xsd:attribute nombre=‚alto‛ type=‚xsd:string‛/> <xsd:attribute nombre=‚largo‛ type=‚xsd:string‛/> <xsd:attribute nombre=‚src‛ type=‚xsd:string‛ use=‚required‛/> <xsd:attribute nombre=‚nombre‛ type=‚xsd:string‛ use=‚required‛/> </xsd:attributeGroup> <xsd:element name=‚imagen‛> <xsd:complexType> <xsd:attributeGroup ref=‚atributosImagen‛> </xsd:complexType> </xsd:element> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 87. XML: XSL ¿Por qué XSL?  HTML: Formato sin estructura  Lenguaje e composición  No extensible  XML: Estructura sin formato  Define los elementos.  Crea una estructura jerárquica de un conjunto de información JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 88. XML: XSL XSL  Un lenguaje para expresar hojas de estilo  Proporciona semántica de visualización para el XML  Relaciona elementos XML con HTML o con otros lenguajes de formato (PDF, LaTeX, PostScript, …).  Soporte funcional para CSS. • Simple, sintaxis conocida. • Los principiantes pueden aprender rápido. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 89. XML: XSL ¿Cómo funciona el XSL? XSL Arbol resultado Intérprete Arbol fuente (xmlsn:fo) (XML) Transform. Intérprete XSL Hoja de estilo Intérprete (xmlns:xsl) JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 90. XML: XSL XML + XSL  Un documento XML referencia a un documento XSL por medio de un fragmento de código como este: <?xml-stylsheet type=‚text/xsl‛ href=‚clima.xsl‛?> JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 92. XML: Aplicaciones Aplicaciones XML  RDF: Resource Description Framework  Catalogación de recursos de Internet  CDF: Channel Description Format  Envío de información mediante el método push  OSD: Open Software Description  Descripción de paquetes de actualización de software  OFX: Open Financial Exchange  Intercambio de datos financieros para aplicaciones de contabilidad doméstica JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 93. XML: Aplicaciones Aplicaciones XML  XER: XML Encoding Rules  Codificación de mensajes  MARTIF: Machine Readable Terminology Interchange Format  Codificar registros terminológicos  TMX: Translation Memory eXchange  Codificar Memorias de traducción  DOCBOOK:  DTD para manuales y guías técnicas de documentación de software. JORNADAS FORMATIVAS METAMAC I – Introducción a XML
  • 94. Para más información …  XML based technologies used in SDMX (vídeo Eurostat)