SlideShare une entreprise Scribd logo
1  sur  24
INTRODUCCION A XML Tópicos Avanzados de Bases de Datos
XML es un lenguaje que nos permite definir lenguajes de marcado adecuados a usos determinados. Un documento XML puede parecer parecido a HTML, un documento XML contiene datos que se autodefinen.
Ejemplo de XML: <?xmlversion="1.0"?>  <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">  <mensaje>  <remite>  <nombre>Alfredo Reino</nombre>  <email>alf@ibium.com</email>  </remite>  <destinatario>  <nombre>Bill Clinton</nombre> <email>president@whitehouse.gov</email> </destinatario>  <asunto>Hola Bill</asunto> <texto>  <parrafo>¿Hola quétal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.</parrafo> </texto>  </mensaje>
El anterior documento puede ser visto de forma gráfica, para comprender mejor la estructura de un documento XML.
DOCUMENTOS XML BIEN-FORMADOS Existen varias diferencias entre la sintaxis de HTML y XML. Es bueno conocerlas perfectamente, para poder crear documentos XML bien-formados. Estructura jerárquica de elementos Los documentos XML deben tener una estructura jerárquica para las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra. Además, los elementos con contenido, deben estar correctamente cerrados. Ejemplo. <LI>En XML la <B>estructura <I>es</I> jerárquica</B>.</LI>
Etiquetas vacías XML la etiqueta debe ser de la siguiente forma: <elemento-sin-contenido/> Ejemplo <LI>En XML, somos<BR/> más restrictivos.</LI> Valores de atributos Los valores de atributos en XML, siempre deben estar dentro de comillas simples  ( ' ) o dobles ( " ). Ejemplo <A HREF="http://www.developer.com/">
Tipo de letra, espacios en blanco XML es sensible al tipo de letra utilizado, es decir, distingue las mayúsculas y minúsculascomo caracteres diferentes. Si un elemento en XML está definido como "ELEMENTO", no podemos usar "elemento", ni "Elemento", ni "eleMENto" para referirnos a él. Hay conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los "espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de carro (Unicode/ASCII 13) y los saltos de línea (Unicode/ASCII 10). XML 1.0 permite el uso de esos "espacios en blanco" para hacer máslegible el código, y en general son ignorados por los procesadores XML.
Nombrando cosas En XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas característicasen común. Según la especificación XML 1.0 Un nombre [empieza] con una letra o uno o más signos de puntuación, y [continúa] con letras, dígitos, guiones, rayas, dos puntos o puntos. No se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Marcado y datos Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan ¨marcas ¨. Éstas son las partes del documento que el procesador XML espera entender. En XML las marcas son aquellas porciones que empiezan con "<" y acaban con ">", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";".
EL PRÓLOGO La "declaración XML", define la versión de XML usada. Aunque solo existe la versión 1.0, en la "declaración XML" especificamos la codificación del documento. Además, se puede incluir una declaración de documento autónomo ( standalone), que controla qué componentes de la DTD son necesarios para completar el procesamiento del documento. Ejemplo <?xml version="1.0" encoding="UTF-7" standalone="yes"?> La "declaración de tipo de documento", define qué tipo de documento estamos creando para ser procesado correctamente. Ejemplo <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
ELEMENTOS Los elementos XML pueden tener contenido (más elementos, caracteres, o ambos a la vez), o bien ser elementos vacíos. Ejemplo <nombre>Fulano Mengánez</nombre> <aviso tipo="emergencia" gravedad="mortal">Que no cunda el pánico</aviso> Siempre empieza con una <etiqueta> que puede contener atributos o no, y termina con una </etiqueta> que debe tener el mismo nombre. ATRIBUTOS Los atributos son una manera de incorporar características o propiedades a los elementos de un documento. Ejemplo <chiste tipo="vascos" calidad="bueno">Esto es un dia que Patxi y Josu van paseando…</chiste>
ENTIDADES PREDEFINIDAS En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML. SECCIONES CDATA CDATA es una construcción que utiliza cualquier carácter, especial o no, sin que se interprete como marcado XML. Ejemplo <ejemplo> <![CDATA[ <HTML><HEAD><TITLE>Rock & Roll</TITLE></HEAD> ]]> </ejemplo>
COMENTARIOS comentarios en el documento XML, que sean ignorados por el procesado de la información y las reproducciones del documento. <?xmlversion="1.0"?> <!--Aquíva el tipo de documento --> <!DOCTYPE EJEMPLO [ <!--Esto es un comentario --> <!ELEMENTO EJEMPLO (#PCDATA) <!--¡Eso es todo por ahora! --> ]> <EJEMPLO>texto textotextoblablabla <!--Otro comentario --> </EJEMPLO> <!--Ya acabamos -->
DOCUMENT TYPE DEFINITIONS (DTDs) Hacer una definición del tipo de documento (DTD) es como crear nuestro propio lenguaje de marcado, para una aplicación específica. DTD define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos. Los documentos XML que se ajustan a su DTD, se denominan "válidos". DECLARACIONES TIPO ELEMENTO Los elementos son la base de las marcas XML, y se ajustan a un tipo de documento declarado en una DTD para que el documento XML sea considerado válido. Las declaraciones de tipo de elemento deben empezar con "<!ELEMENT" seguidas por el identificador genérico del elemento que se declara Ejemplo <!ELEMENT receta (titulo, ingredientes, procedimiento)>
DECLARACIONES DE LISTA DE ATRIBUTOS Permiten añadir información adicional a los elementos de un documento. La principal diferencia entre los elementos y los atributos, es que los atributos no pueden contener sub-atributos. Ejemplo <mensaje prioridad="urgente« <de>Alfredo Reino</de> <a>Hans van Parijs</a> <texto idioma="holandés"> Hallo Hans, hoegaathet? ... </texto> </mensaje>
TIPOS DE ATRIBUTOS Atributos CDATA y NMTOKEN Los atributos CDATA (character data) son los más sencillos, y pueden contener casi cualquier cosa. Los atributos NMTOKEN (nametoken) son parecidos, pero sólo aceptan los caracteres válidos para nombrar cosas (letras, números, puntos, guiones, subrayados y los dos puntos).  Ejemplo <!ATTLIST mensaje fecha CDATA #REQUIRED> <mensaje fecha="15 de Julio de 1999"> <!ATTLIST mensaje fecha NMTOKEN #REQUIRED> <mensaje fecha="15-7-1999">
Atributos enumerados y notaciones Los atributos enumerados son aquellos que sólo pueden contener un valor de entre un número reducido de opciones. Ejemplo <!ATTLIST mensaje prioridad (normal | urgente) normal> La notación (NOTATION) es un tipo de atributo permite al autor declarar que su valor se ajusta a una notación declarada. Ejemplo <!ATTLIST mensajefecha NOTATION (ISO-DATE | EUROPEAN-DATE) #REQUIRED>
Atributos ID e IDREF El tipo ID permite que un atributo determinado tenga un nombre único que podrá ser referenciado por un atributo de otro elemento que sea de tipo IDREF. Ejemplo <!ELEMENT enlace EMPTY> <!ATTLIST enlace destino IDREF #REQUIRED> <!ELEMENT capitulo (parrafo)*> <!ATTLIST capituloreferencia ID #IMPLIED>
DECLARACIÓN DE ENTIDADES Una entidad puede no ser más que una abreviatura que se utiliza como una forma corta de algunos textos. Las entidades pueden ser: ,[object Object]
Analizadas o No analizadas
Generales o ParámetroEntidades generales internas Son básicamente abreviaturas definidas en la sección de la DTD del documento XML. Ejemplo <!DOCTYPE texto[ <!ENTITY alf "AlienLifeForm"> ]> <texto><titulo>Un día en la vida de un &alf;</titulo></texto>
Entidades generales externas analizadas Las entidades externas obtienen su contenido en cualquier otro sitio del sistema, ya sea otro archivo del disco duro, una página web o un objeto de una base de datos. Ejemplo <!ENTITY intro SYSTEM "http://www.miservidor.com/intro.xml"> Entidades no analizadas Este tipo de entidades siempre son generales y externas. Si el contenido de la entidad es un archivo MPG o una imagen GIF o un fichero ejecutable EXE, el procesador XML no debe intentar interpretarlo como si fuera texto XML Ejemplo <!ENTITY logo SYSTEM "http://www.miservidor.com/logo.gif"> Entidades parámetro internas y externas. Son aquellas que sólo pueden usarse en la DTD, y no en el documento XML, se usa el símbolo "%" en lugar de "&" tanto como para declararlas como para usarlas. Ejemplo <!DOCTYPE texto[ <!ENTITY % elemento-alf "<!ELEMENT ALF (#PCDATA)>">
EJEMPLO DE DTD DTD que nos defina un lenguaje de marcado para una base de datos de personas con direcciones e-mail. <?xmlencoding="UTF-8"?> <!ELEMENT listin (persona)+> <!ELEMENT persona (nombre, email*, relacion?)> <!ATTLIST persona id ID #REQUIRED> <!ATTLIST persona sexo (hombre | mujer) #IMPLIED> <!ELEMENT nombre (#PCDATA) <!ELEMENT email (#PCDATA)> <!ELEMENT relacion EMPTY> <!ATTLIST relacion amigo-de IDREFS #IMPLIED 	enemigo-de IDREFS #IMPLIED>
DTD DE UN PRIMER LISTIN EN XML <?xmlversion="1.0"? <!DOCTYPE listin SYSTEM "LISTIN.DTD"> <listin> <persona sexo="hombre" id="ricky"> <nombre>Ricky Martin</nombre> <email>ricky@puerto-rico.com</email> <relacion amigo-de="laetitia"> </persona> <persona sexo="mujer" id="laetitia"> <nombre>Laetitia Casta</nombre> <email>castal@micasa.com</email> </persona> </listin> XML SCHEMAS es algo similar a un DTD, es decir, que define qué elementos puede contener un documento XML, cómo se organizan, y que atributos y de qué tipo pueden tener sus elementos.
EXTENDED STYLE LANGUAGE (XSL) XSL es un lenguaje que nos permite definir una presentación o formato para un documento XML,puede tener varias hojas de estilo XSL que lo muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript, sonido, etc.) La aplicación de una hoja de estilo XSL a un documento XML puede ocurrir tanto en el origen, o en el mismo navegador. Básicamente, XSL es un lenguaje que define una transformación entre un documento XML de entrada, y otro documento XML de salida.

Contenu connexe

Tendances

Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datosUTN
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 
Tipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptxTipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptxMiguelLlerena5
 
Tendencias en bases de datos
Tendencias en bases de datosTendencias en bases de datos
Tendencias en bases de datosmillosvale
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 

Tendances (20)

NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datos
 
Vistas en SQL
Vistas en SQLVistas en SQL
Vistas en SQL
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
El DBA y sus funciones
El DBA y sus funcionesEl DBA y sus funciones
El DBA y sus funciones
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Tipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptxTipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptx
 
Tendencias en bases de datos
Tendencias en bases de datosTendencias en bases de datos
Tendencias en bases de datos
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
UML
UMLUML
UML
 

En vedette (10)

MetadataTheory: Metadata Standards (6th of 10)
MetadataTheory: Metadata Standards (6th of 10)MetadataTheory: Metadata Standards (6th of 10)
MetadataTheory: Metadata Standards (6th of 10)
 
Lenguajes de marcado
Lenguajes de marcadoLenguajes de marcado
Lenguajes de marcado
 
XML: Introducción
XML: IntroducciónXML: Introducción
XML: Introducción
 
Introducción xml
Introducción xmlIntroducción xml
Introducción xml
 
XML - Introducción
XML - IntroducciónXML - Introducción
XML - Introducción
 
SEISMIC_DESIGN
SEISMIC_DESIGNSEISMIC_DESIGN
SEISMIC_DESIGN
 
Tutorial XML
Tutorial XMLTutorial XML
Tutorial XML
 
Impact Coaching Solutions Servicios México
Impact Coaching Solutions Servicios MéxicoImpact Coaching Solutions Servicios México
Impact Coaching Solutions Servicios México
 
Investigación sobre Dublin Core Data Model (Camargo-Araújo)
Investigación sobre Dublin Core Data Model (Camargo-Araújo)Investigación sobre Dublin Core Data Model (Camargo-Araújo)
Investigación sobre Dublin Core Data Model (Camargo-Araújo)
 
Xml ppt
Xml pptXml ppt
Xml ppt
 

Similaire à Presentacion xml (20)

Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
Manual XML
Manual XMLManual XML
Manual XML
 
Ensayo Dtd
Ensayo  DtdEnsayo  Dtd
Ensayo Dtd
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Xml
XmlXml
Xml
 
Unidad 1 lenguajes de marcas
Unidad 1   lenguajes de marcasUnidad 1   lenguajes de marcas
Unidad 1 lenguajes de marcas
 
Introducción a xml
Introducción a xmlIntroducción a xml
Introducción a xml
 
Xml
XmlXml
Xml
 
8 Xml
8 Xml8 Xml
8 Xml
 
XML de A a Z
XML de A a ZXML de A a Z
XML de A a Z
 
Qué es xhtml
Qué es xhtmlQué es xhtml
Qué es xhtml
 
Xml
XmlXml
Xml
 
Html Bas
Html BasHtml Bas
Html Bas
 
Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
Introduccion al xml
Introduccion al  xmlIntroduccion al  xml
Introduccion al xml
 
Xml
XmlXml
Xml
 

Plus de itsl

E commerce
E commerceE commerce
E commerceitsl
 
E business
E businessE business
E businessitsl
 
Proyecto EDI
Proyecto EDIProyecto EDI
Proyecto EDIitsl
 
ODMG
ODMGODMG
ODMGitsl
 
C:\fake path\diseño orientado al flujo de datos
C:\fake path\diseño orientado al flujo de datosC:\fake path\diseño orientado al flujo de datos
C:\fake path\diseño orientado al flujo de datositsl
 
Conexion c# sql
Conexion c#   sqlConexion c#   sql
Conexion c# sqlitsl
 
Conexion
ConexionConexion
Conexionitsl
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sqlitsl
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSitsl
 
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESS
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESSAccessCOMO CREAR UNA BASE DE DATOS EN ACCESS
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESSitsl
 
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESS
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESSCOMO CREAR BASES DE DATOS EN MICROSOFT ACCESS
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESSitsl
 
tutorial para crear una base de datos en sql
tutorial para crear una base de datos en sqltutorial para crear una base de datos en sql
tutorial para crear una base de datos en sqlitsl
 

Plus de itsl (12)

E commerce
E commerceE commerce
E commerce
 
E business
E businessE business
E business
 
Proyecto EDI
Proyecto EDIProyecto EDI
Proyecto EDI
 
ODMG
ODMGODMG
ODMG
 
C:\fake path\diseño orientado al flujo de datos
C:\fake path\diseño orientado al flujo de datosC:\fake path\diseño orientado al flujo de datos
C:\fake path\diseño orientado al flujo de datos
 
Conexion c# sql
Conexion c#   sqlConexion c#   sql
Conexion c# sql
 
Conexion
ConexionConexion
Conexion
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
 
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESS
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESSAccessCOMO CREAR UNA BASE DE DATOS EN ACCESS
AccessCOMO CREAR UNA BASE DE DATOS EN ACCESS
 
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESS
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESSCOMO CREAR BASES DE DATOS EN MICROSOFT ACCESS
COMO CREAR BASES DE DATOS EN MICROSOFT ACCESS
 
tutorial para crear una base de datos en sql
tutorial para crear una base de datos en sqltutorial para crear una base de datos en sql
tutorial para crear una base de datos en sql
 

Presentacion xml

  • 1. INTRODUCCION A XML Tópicos Avanzados de Bases de Datos
  • 2. XML es un lenguaje que nos permite definir lenguajes de marcado adecuados a usos determinados. Un documento XML puede parecer parecido a HTML, un documento XML contiene datos que se autodefinen.
  • 3. Ejemplo de XML: <?xmlversion="1.0"?> <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"> <mensaje> <remite> <nombre>Alfredo Reino</nombre> <email>alf@ibium.com</email> </remite> <destinatario> <nombre>Bill Clinton</nombre> <email>president@whitehouse.gov</email> </destinatario> <asunto>Hola Bill</asunto> <texto> <parrafo>¿Hola quétal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.</parrafo> </texto> </mensaje>
  • 4. El anterior documento puede ser visto de forma gráfica, para comprender mejor la estructura de un documento XML.
  • 5. DOCUMENTOS XML BIEN-FORMADOS Existen varias diferencias entre la sintaxis de HTML y XML. Es bueno conocerlas perfectamente, para poder crear documentos XML bien-formados. Estructura jerárquica de elementos Los documentos XML deben tener una estructura jerárquica para las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra. Además, los elementos con contenido, deben estar correctamente cerrados. Ejemplo. <LI>En XML la <B>estructura <I>es</I> jerárquica</B>.</LI>
  • 6. Etiquetas vacías XML la etiqueta debe ser de la siguiente forma: <elemento-sin-contenido/> Ejemplo <LI>En XML, somos<BR/> más restrictivos.</LI> Valores de atributos Los valores de atributos en XML, siempre deben estar dentro de comillas simples ( ' ) o dobles ( " ). Ejemplo <A HREF="http://www.developer.com/">
  • 7. Tipo de letra, espacios en blanco XML es sensible al tipo de letra utilizado, es decir, distingue las mayúsculas y minúsculascomo caracteres diferentes. Si un elemento en XML está definido como "ELEMENTO", no podemos usar "elemento", ni "Elemento", ni "eleMENto" para referirnos a él. Hay conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los "espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de carro (Unicode/ASCII 13) y los saltos de línea (Unicode/ASCII 10). XML 1.0 permite el uso de esos "espacios en blanco" para hacer máslegible el código, y en general son ignorados por los procesadores XML.
  • 8. Nombrando cosas En XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas característicasen común. Según la especificación XML 1.0 Un nombre [empieza] con una letra o uno o más signos de puntuación, y [continúa] con letras, dígitos, guiones, rayas, dos puntos o puntos. No se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Marcado y datos Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan ¨marcas ¨. Éstas son las partes del documento que el procesador XML espera entender. En XML las marcas son aquellas porciones que empiezan con "<" y acaban con ">", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";".
  • 9. EL PRÓLOGO La "declaración XML", define la versión de XML usada. Aunque solo existe la versión 1.0, en la "declaración XML" especificamos la codificación del documento. Además, se puede incluir una declaración de documento autónomo ( standalone), que controla qué componentes de la DTD son necesarios para completar el procesamiento del documento. Ejemplo <?xml version="1.0" encoding="UTF-7" standalone="yes"?> La "declaración de tipo de documento", define qué tipo de documento estamos creando para ser procesado correctamente. Ejemplo <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
  • 10. ELEMENTOS Los elementos XML pueden tener contenido (más elementos, caracteres, o ambos a la vez), o bien ser elementos vacíos. Ejemplo <nombre>Fulano Mengánez</nombre> <aviso tipo="emergencia" gravedad="mortal">Que no cunda el pánico</aviso> Siempre empieza con una <etiqueta> que puede contener atributos o no, y termina con una </etiqueta> que debe tener el mismo nombre. ATRIBUTOS Los atributos son una manera de incorporar características o propiedades a los elementos de un documento. Ejemplo <chiste tipo="vascos" calidad="bueno">Esto es un dia que Patxi y Josu van paseando…</chiste>
  • 11. ENTIDADES PREDEFINIDAS En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML. SECCIONES CDATA CDATA es una construcción que utiliza cualquier carácter, especial o no, sin que se interprete como marcado XML. Ejemplo <ejemplo> <![CDATA[ <HTML><HEAD><TITLE>Rock & Roll</TITLE></HEAD> ]]> </ejemplo>
  • 12. COMENTARIOS comentarios en el documento XML, que sean ignorados por el procesado de la información y las reproducciones del documento. <?xmlversion="1.0"?> <!--Aquíva el tipo de documento --> <!DOCTYPE EJEMPLO [ <!--Esto es un comentario --> <!ELEMENTO EJEMPLO (#PCDATA) <!--¡Eso es todo por ahora! --> ]> <EJEMPLO>texto textotextoblablabla <!--Otro comentario --> </EJEMPLO> <!--Ya acabamos -->
  • 13. DOCUMENT TYPE DEFINITIONS (DTDs) Hacer una definición del tipo de documento (DTD) es como crear nuestro propio lenguaje de marcado, para una aplicación específica. DTD define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos. Los documentos XML que se ajustan a su DTD, se denominan "válidos". DECLARACIONES TIPO ELEMENTO Los elementos son la base de las marcas XML, y se ajustan a un tipo de documento declarado en una DTD para que el documento XML sea considerado válido. Las declaraciones de tipo de elemento deben empezar con "<!ELEMENT" seguidas por el identificador genérico del elemento que se declara Ejemplo <!ELEMENT receta (titulo, ingredientes, procedimiento)>
  • 14. DECLARACIONES DE LISTA DE ATRIBUTOS Permiten añadir información adicional a los elementos de un documento. La principal diferencia entre los elementos y los atributos, es que los atributos no pueden contener sub-atributos. Ejemplo <mensaje prioridad="urgente« <de>Alfredo Reino</de> <a>Hans van Parijs</a> <texto idioma="holandés"> Hallo Hans, hoegaathet? ... </texto> </mensaje>
  • 15. TIPOS DE ATRIBUTOS Atributos CDATA y NMTOKEN Los atributos CDATA (character data) son los más sencillos, y pueden contener casi cualquier cosa. Los atributos NMTOKEN (nametoken) son parecidos, pero sólo aceptan los caracteres válidos para nombrar cosas (letras, números, puntos, guiones, subrayados y los dos puntos). Ejemplo <!ATTLIST mensaje fecha CDATA #REQUIRED> <mensaje fecha="15 de Julio de 1999"> <!ATTLIST mensaje fecha NMTOKEN #REQUIRED> <mensaje fecha="15-7-1999">
  • 16. Atributos enumerados y notaciones Los atributos enumerados son aquellos que sólo pueden contener un valor de entre un número reducido de opciones. Ejemplo <!ATTLIST mensaje prioridad (normal | urgente) normal> La notación (NOTATION) es un tipo de atributo permite al autor declarar que su valor se ajusta a una notación declarada. Ejemplo <!ATTLIST mensajefecha NOTATION (ISO-DATE | EUROPEAN-DATE) #REQUIRED>
  • 17. Atributos ID e IDREF El tipo ID permite que un atributo determinado tenga un nombre único que podrá ser referenciado por un atributo de otro elemento que sea de tipo IDREF. Ejemplo <!ELEMENT enlace EMPTY> <!ATTLIST enlace destino IDREF #REQUIRED> <!ELEMENT capitulo (parrafo)*> <!ATTLIST capituloreferencia ID #IMPLIED>
  • 18.
  • 19. Analizadas o No analizadas
  • 20. Generales o ParámetroEntidades generales internas Son básicamente abreviaturas definidas en la sección de la DTD del documento XML. Ejemplo <!DOCTYPE texto[ <!ENTITY alf "AlienLifeForm"> ]> <texto><titulo>Un día en la vida de un &alf;</titulo></texto>
  • 21. Entidades generales externas analizadas Las entidades externas obtienen su contenido en cualquier otro sitio del sistema, ya sea otro archivo del disco duro, una página web o un objeto de una base de datos. Ejemplo <!ENTITY intro SYSTEM "http://www.miservidor.com/intro.xml"> Entidades no analizadas Este tipo de entidades siempre son generales y externas. Si el contenido de la entidad es un archivo MPG o una imagen GIF o un fichero ejecutable EXE, el procesador XML no debe intentar interpretarlo como si fuera texto XML Ejemplo <!ENTITY logo SYSTEM "http://www.miservidor.com/logo.gif"> Entidades parámetro internas y externas. Son aquellas que sólo pueden usarse en la DTD, y no en el documento XML, se usa el símbolo "%" en lugar de "&" tanto como para declararlas como para usarlas. Ejemplo <!DOCTYPE texto[ <!ENTITY % elemento-alf "<!ELEMENT ALF (#PCDATA)>">
  • 22. EJEMPLO DE DTD DTD que nos defina un lenguaje de marcado para una base de datos de personas con direcciones e-mail. <?xmlencoding="UTF-8"?> <!ELEMENT listin (persona)+> <!ELEMENT persona (nombre, email*, relacion?)> <!ATTLIST persona id ID #REQUIRED> <!ATTLIST persona sexo (hombre | mujer) #IMPLIED> <!ELEMENT nombre (#PCDATA) <!ELEMENT email (#PCDATA)> <!ELEMENT relacion EMPTY> <!ATTLIST relacion amigo-de IDREFS #IMPLIED enemigo-de IDREFS #IMPLIED>
  • 23. DTD DE UN PRIMER LISTIN EN XML <?xmlversion="1.0"? <!DOCTYPE listin SYSTEM "LISTIN.DTD"> <listin> <persona sexo="hombre" id="ricky"> <nombre>Ricky Martin</nombre> <email>ricky@puerto-rico.com</email> <relacion amigo-de="laetitia"> </persona> <persona sexo="mujer" id="laetitia"> <nombre>Laetitia Casta</nombre> <email>castal@micasa.com</email> </persona> </listin> XML SCHEMAS es algo similar a un DTD, es decir, que define qué elementos puede contener un documento XML, cómo se organizan, y que atributos y de qué tipo pueden tener sus elementos.
  • 24. EXTENDED STYLE LANGUAGE (XSL) XSL es un lenguaje que nos permite definir una presentación o formato para un documento XML,puede tener varias hojas de estilo XSL que lo muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript, sonido, etc.) La aplicación de una hoja de estilo XSL a un documento XML puede ocurrir tanto en el origen, o en el mismo navegador. Básicamente, XSL es un lenguaje que define una transformación entre un documento XML de entrada, y otro documento XML de salida.
  • 25. <?xmlversion="1.0"?> <xsl:stylesheetxmlns:xsl="http://www.w3.org/TR/WD-xsl"><xsl:template match="libro"> <HTML> <HEAD> <TITLE><xsl:processselect="titulo"/></TITLE> </HEAD> <BODY> <H1><xsl:processselect="titulo"/></H1> <xsl:processselect="capitulos"/> </BODY> </HTML></xsl:template> <xsl:template match="capitulos"> <xsl:processselect="capitulo"> </xsl:template> <xsl:template match="capitulo"> <HR/> <H2><xsl:processselect="titulo"/></H2> <xsl:processselect="parrafo"/> </xsl:template> <xsl:template match="parrafo"> <P><xsl:process-children/></P> </xsl:template> </xsl:stylesheet>
  • 26. XML DOCUMENT OBJECT MODEL Y VISUALBASIC El parsero analizador de XML es el programa que lee documentos XML y hace que los datos que contiene siempre estén accesibles y puede tener otras funcionalidades, como validar el documento contra una DTD o un schema. Para utilizarlo en Visual Basic, tenemos que añadir el objeto COM Microsoft XML, versión 2.0, en las referencias del proyecto, y luego crear una instancia del objeto: DimobjParser As MSXML.DOMDocument Set objParser = New MSXML.DOMDocument Para cargar un documento XML, usamos el método. Load del objeto. IfobjParser.Load("c:empmlocumento.xml") Then ' Ha funcionado Else' Ha ocurrido un error EndIf ' Ahora destruimos el objeto parser Set objParser = nothing