XML. Introducción. Introducción. Introducción. La web semántica: tecnologías y aplicaciones

Tamaño: px
Comenzar la demostración a partir de la página:

Download "XML. Introducción. Introducción. Introducción. La web semántica: tecnologías y aplicaciones"

Transcripción

1 La web semántica: tecnologías y aplicaciones XML Introducción Referencias:» E.R. Harold, W.S. Means: XML in a nutshell, a desktop quick reference. Ed. O reilly, 2001.» M. Morrison, et.al. XML. Al descubierto. Prentice-Hall, 2000.» D. Martin et. al.: Professional XML. Ed. Wrox Press, 2000.» A. Navarro, C. White, L. Burman: Mastering XML. Ed. BYBEX, 2000.» M. Kay: XSLT, 2nd edition. Ed. Wrox Press, 2001.» Charles F. Goldbarg, Paul Prescod. The XML handbook. Ed. Prentice Hall PTR, 2000.» Elliotte Rusty Harold. XML Bible. Ed. Hungry Minds, Inc, Introducción Links interesantes: SGML:» Extract from the Information Interchange Technology Handbook: What is SGML?: Sitios genéricos:» Extensible Markup Language (XML): IBM alphaworks: Cafe con Leche XML News, and Resources: SUN: XML.com: Webreference: ng/languages/xml/» DataChannel XML Resources, XML = Revolution: POET XML Resource Library: Introducción Links interesantes: Ejemplos:» Examples from XML: Extensible Markup Language: Heart of Darkness: ndex.html Tutoriales:» IBM XML Web Site, Education - XML Tutorials for Programmers: DEVELOPERLIFE.COM brought to you by The Bean Factory: Introduction to XML (Webmonkey):

2 Links interesantes: Software: Introducción» IBM: Ayudas/Foros:» IBM alphaworks: DejaNews Search Results: ery=jvm&vw=&maxhits=25&format=terse&showsort =score&st=qs&ln G=ALL DOM:» XML.COM - DOM: Document Object Model (DOM): 5 Introducción Links interesantes: XML/EDI:» EDItEUR: Guidelines for using XML for Electronic Data Interchange: e.htm Varios:» Soporte XML en IE5.0: XML in Mozilla: XML: It's Not Your Father's HTML: ages/xml/intro/browser.html» XML: ts/xml/xml.html» XML.COM - What's the Big Deal With XSL?: 6 Introducción XML ( the extensible Markup Language ).» Estándar apoyado por W3C» Formato para documentos digitales Formato flexible. Posible uso:» En la Web, intercambio electrónico de datos, gráficos vectoriales, serialización de objetos, etc. XML es un lenguaje de meta-marcado (no hay un conjunto finito de etiquetas permitidas)»química»música» Propiedades inmobiliarias» Matemáticas» OTROS? 7 Introducción Carácterísticas básicas de XML» Pueden definirse tantas etiquetas como sea necesario» Es posible anidar estructuras hasta cualquier profundidad» Un documento XML puede contener, opcionalmente, una descripción de su gramática» XML no proporciona información de presentación 8 2

3 Introducción Documentos bien formados Sensible a las mayúsculas Un documento XML tiene» Una estructura (árbol)» Una semántica Datos Documentos El marcado permitido en una aplicación se documenta en un DTD ( Document Type Definition )» Un documento válido es aquél que responde a un DTD» Diferencia entre un documento: Bien formado Válido Ejemplo: Introducción <?xml version="1.0"?> <product barcode=" "> <manufacturer>verbatim</manufacturer> <name>datalife MF 2HD</name> <quantity>10</quantity> <size>3.5"</size> <color>black</color> <description>floppy disks</description> </product> Datos portables:» Independientes de la plataforma» Java da código portable. XML proporciona datos portables 9 10 Introducción La sintaxis del DTD es limitada» No se puede decir, por ejemplo este elemento contiene un número o la longitud del string tiene que estar entre 1974 y 2032 Los parsers comprueban:» Documentos bien formados» Documentos válidos (DTD) Un documento puede contener un DTD o un puntero a una URL donde se encuentra el DTD Introducción La aplicación que recibe datos del parser puede ser:» Un navegador Web» Un procesador de textos (como StarOffice Writer, que carga el documento XML para su edición)» Un servidor de bases de datos, como Oracle, que guarda los datos en una bd» Un programa de dibujo, como Corel Draw, que interpreta XML como coordenadas 2D para una imagen» Una hoja de cálculo, como Gnumeric» Un programa financiero, como Microsoft Money, que toma datos bancarios» etc

4 Introducción XML desciende de SGML ( Standard Generalized Markup Language ) GML (IBM, años 60) SGML (IBM, años 80: IS0 8879) HTML es una aplicación SGML» HTML no es apropiado para intercambio de datos o para su uso en bases de datos Introducción SGML es demasiado complejo (150 páginas para su especificación) 1996: versión más sencilla de SGML 1998: XML 1.0 XSL ( extensible Stylesheet Language )» aplicación XML que transforma documentos XML en otros para mostrar en páginas Web y otros propósitos Introducción XSL se dividió en XSL Transformations (XSLT) y XSL Formatting Objects (XSL- FO) XSLT se ha convertido en un lenguaje (api) de propósito general para transformaciones XSL XSL-FO es una aplicación XML que describe el formato de páginas a imprimir o páginas Web. Un rival de XSL-FO es Postscript Otra opción de estilo para documentos XML es CSS ( Cascading StyleSheet language ). CSS ya se usaba en HTML antes de aplicarse a XML 15 Introducción XLL ( extensible Linking Language ) sirvió para conectar documentos XML en una red de hipertexto. Se dividió en dos estándares separados:» XLink: describe conexiones entre documentos» XPointer: partes individuales de un documento XPath: surgió al haber partes en común de XPointer y XSLT que resultaban ser algo incompatibles» Surgieron algunas otras incompatibilidades, entre por ejemplo XML 1.0, XSLT, XML Schemas, DOM. Por ejemplo en XML 1.0 se considera la raíz de un documento como su raíz, mientras que en XSLT se usa otra raíz más abstracta. 16 4

5 Introducción Una interfaz común para acceder a los contenidos de un documento XML desde un programa Java, C++,...:» DOM (Document Object Model) Fuera del W3C, otros autores desarrollaron el Simple API for XML (SAX). SAX2 se presentó en 2000 Otras direcciones en la especificación XML son:» XFragment: dar sentido a trozos de XML que aisladamente no son documentos bien formados.» XML Schemas: una aplicación XML que describe los contenidos permitidos de un documento XML (alternativa a los DTDs).» XHTML. Reformulación de HTML como un bien formado documento XML. 17 Introducción» XML Query Language. Para encontrar elementos en un documento XML que cumplan un cierto criterio» Canonical XML. Algoritmo estándar para determinar si dos documentos XML son los mismos salvo cambios insignificantes (simples o dobles comillas,...)» XML Signatures. Autentificación de documentos XML Usos de XML otras áreas, aparte de la Web:» OMG (Object Management Group): DTD para describir diagramas UML en XML» American Institute of Certified Public Accountants: DTD para XFRML (the Extensible Financial Reporting Markup Language)» Introducción Tecnologías XML SGML HTML XML XSL XSLT XSL-FO CSS XLL XLink XPointer XPath XFragment XML Schemas XHTML XML Query Language Canonical XML XML Signatures 19 Introducción Tecnologías relacionadas con XML DOM SAX Xerces Jena Jenoki etc Problemas con XML» Demasiadas tecnologías» Definición de estándares dependientes de intereses comerciales 20 5

6 Un documento XML:» Un prólogo. Información estructural (opcional). Partes: Declaración XML:Es una instrucción de procesamiento (IP) Declaración de tipos del documento (DTD)» Un elemento raíz» Un epílogo (opcional)» Puede contener intercalados: Comentarios Otras IP Elemento: Componente básico de un documento XML» Se define a través de dos etiquetas que encierran su contenido» El contenido puede ser texto, un nuevo elemento o una mezcla de ambos 21 Sensible a mayúsculas Etiquetas ( tags ):» Cualquier etiqueta es válida (por ejemplo, en HTML se pueden usar unos 100 tags).» <etiqueta>...</etiqueta>» Etiquetas vacías: <br></br> o bien <br/> Ej: <vacia></vacia> <vacia/> 22 Ejemplo: <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> Estructura de árbol Atributos: Propiedades asociadas a los elementos XML. Se definen a través de pares (nombre, valor) Ej.: <person name= Alan age= 42 = agb@mail.com/> El valor de un atributo debe ser atómico name person profession Atributos (cada uno entre dos o entre dos ) first_name last_name

7 Otro ejemplo: <person> <name first="alan" last="turing"/> <profession value="computer scientist"/> <profession value="mathematician"/> <profession value="cryptographer"/> </person> Cuál de las dos versiones es más adecuada? Por tanto, cómo conviene representar los atributos: atributos XML o hijos XML?» Se suele decir que los metadatos van como atributos» Los datos como hijos XML Nombres XML (tags y nombres de atributos):» Pueden contener cualquier carácter alfanumérico. Sin espacios en blanco.» Pueden contener: _ -» Deben empezar por letras o por _ ( guión abajo» Sin límite de cantidad de caracteres Si se tiene que poner < dentro de un texto (es decir que no es un nombre XML), utilizar < en su lugar.» Para poner &, utilizar & Entidades: Se emplean para representar caracteres especiales, para incluir ficheros externos y para referenciar porciones de texto Comienzan siempre por & y terminan con ; < < XML tiene 5 referencias de entidad ( entity reference ):» <, & >, " (doble comilla),&apos; (simple comilla)

8 En los DTD (Document Type Definitions) se pueden definir nuevas entidades Para evitar el uso de las referencias de entidad se puede utilizar CDATA. Lo que aparece entre <![CDATA[ y ]]> se interpreta como caracteres Comentarios:» <!-- esto es un comentario --> IP ( processing instructions ):» Medio alternativo para pasar información a una aplicación que lee el documento» <?...?>» Pueden informan a motores de búsqueda y otros robots Ejemplo: <?robots index= yes follow= no?> El robot de motor de búsqueda indexa la página pero no sigue los links detrás de ella IP ( processing instructions ):» No son elementos XML. Por tanto, como los comentarios, pueden aparecer en cualquier sitio de un documento XML (incluyendo antes o después de la raíz)» Ejemplo: <?xml version="1.0" encoding="ascii" standalone="yes"?> <person> Alan Turing </person> La declaración XML:» Los documentos XML pueden empezar con la declaración XML» Si un documento comienza con esta declaración, no se pueden poner antes comentarios, espacios en blanco u otra IP» Atributos version, enconding y standalone Version: valor 1.0 Encoding: opcional (valor Unicode por defecto) Standalone: si vale no, se puede necesitar un DTD externo. Es opcional (valor por defecto: no)

9 Un documento XML está bien formado si toda etiqueta está correctamente cerrada y si los atributos son únicos dentro de un mismo elemento Dentro de un elemento, el orden de sus componentes importa No existen más restricciones para que un documento se considere expresado en XML 33 Documento bien formado XML:» Toda etiqueta debe empezar y acabar» Los elementos son independientes» Debe haber sólo un elemento raíz» Los valores de atributos van entre o.» Un elemento no puede tener dos atributos con el mismo nombre» Comentarios e IP no pueden ir dentro de etiquetas» No pueden aparecer cosas como < o & dentro de los caracteres de los elementos o del valor de atributos Ejemplo de parser que comprueba documentos bien formados:» Xerces-J de Apache XML Project Escrito en Java Incluido en Netbeans (haciendo check ) 34 DTDs Document Type Definitions» Constituye una gramática para documentos XML DTDs En un área, puede interesar que sólo determinados documentos bien formados se puedan utilizar» Forma parte del lenguaje XML» Conjunto de meta-información para aplicaciones externas que deben trabajar con documentos XML» Sirve como plantilla para los documentos XML a que hace referencia» Por ejemplo, En HTML, los elementos li deberían descender sólo de ul En un DTD se expresan los contenidos y atributos de las etiquetas

10 DTDs Un DTD puede decir, por ejemplo:» Un elemento ul sólo puede aparecer en un elemento li.» Todo empleado debe tener un atributo número de seguridad social Un parser de validación compara un documento con su DTD La validación es un paso opcional en el procesamiento de un documento XML DTDs Un documento válido tiene una declaración de tipos del documento que identifica el DTD que satisface el documento La validación utiliza:» Todo lo no referenciado está prohibido DTDs Cualquier parte del documento XML debe estar permitida por el DTD El DTD no dice:» Cuál es el elemento raíz» La cantidad de veces que cada elemento aparece en el documento» Cómo son las datos tipo carácter que aparecen en los elementos» El contenido semántico de un elemento (si contiene una fecha o un nombre de persona) DTDs Un DTD no dice nada sobre la longitud, estructura, significado, valores permitidos, del contenido de texto de un elemento Validación es opcional:» Si estamos recibiendo datos de una BD, es importante tener todos los campos» Al presentar una página Web, puede no ser importante, por ejemplo, la falta de un elemento A todos los documentos XML se les exige que sean bien formados, pero la validación es opcional

11 DTDs Validación de documentos:» En general, los navegadores Web no validan y sí que comprueban los documentos bien formados.» Validadores: Online: Brown University Scholarly Technology Group Richard Tobin s Validador de Xerces-J (Apache) Incluido en Netbeans DTDs Ejemplo: <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> Su DTD (varias declaraciones de elementos): <!ELEMENT person (name, profession*)> <!ELEMENT name (first_name, last_name)> <!ELEMENT first_name (#PCDATA)> <!ELEMENT last_name (#PCDATA)> <!ELEMENT profession (#PCDATA)> 41 Importa el orden! (nombre, apellido) 42 DTDs Existen 3 tipos de declaraciones válidas: DTDs 1. ELEMENT <!ELEMENT nombre contenido>» ELEMENT (elementos)» ATTLIST (listas de atributos de un elemento)» DOCUMENT TYPE DECLARATION (raíz del documento, no confundir con DTD) El contenido de un elemento puede ser:» (otros elementos)» ANY Cualquier combinación de elementos o datos» EMPTY No contiene datos ni otros elementos» (#PCDATA) Cualquier combinación de caracteres analizables

12 1. ELEMENT Estructura de un DTD Elementos 1. ELEMENT Estructura de un DTD Elementos Un elemento puede estar formado por dos o más elementos, que se indican a través de una lista de nombres de elementos separada por:», (coma) Cada elemento de la lista debe aparecer en el orden indicado» (pipe) Puede aparece un elemento u otro Es posible indicar la cardinalidad asociada a cada elemento:»? Elemento opcional, puede aparecer o no» + Una o más veces» * Cualquier número de apariciones o ninguna Si no se indica la cardinalidad, el elemento debe aparecer, y sólo puede aparecer una vez Declaración de elementos Declaración de elementos Ejemplos: <!ELEMENT name (first_name, middle_name?, last_name?)> <!ELEMENT digito (cero uno dos)> - Otras posibilidades: <!ELEMENT circulo (centro, (radio diametro))> <!ELEMENT point ((x, y) (r, u))> - Una limitación es el orden. Se pondría <!ELEMENT point ((x, y) (y, x) (r, u))> 47 Contenido mixto:» Lo único permitido es, por ejemplo: <!ELEMENT definicion (#PCDATA abreviatura nombre_persona)*> PCDATA deber ser el primero en esta lista» No se puede, por ejemplo, decir que debe haber exactamente un término abreviatura y luego el parsed character data. Elementos vacíos:» <imagen fuente= bus.jpg anchura= 152 />» <!ELEMENT imagen EMPTY> ANY:» <!ELEMENT pagina ANY> Su contenido es cualquier cosa (uno o varios hijos) 48 12

13 2. ATTLIST Estructura de un DTD Atributos Estructura de un DTD Atributos 2.1 Tipos de atributos Permite definir los atributos de un elemento Existen 10 tipos diferentes (con schemas hay más posibilidades) <!ATTLIST nombre_elemento nombre_atributo tipo valor_defecto> donde:» nombre_elemento Nombre del elemento para el que se define el atributo» tipo Tipo del atributo» valor_defecto Indica el valor por defecto del atributo CDATA Cadena de caracteres ( No confundir con la sección CDATA!!) ENTITY - <movie source= X-Men-Trailer /> - El DTD declara una unparsed entity llamada X- Men-trailer (se verá luego) ENTITIES. Varias de tipo ENTITY Declaración de atributos 2.1 Tipos de atributos ID» Un XML name único en el documento distinto de un XML name token. Un XML name, por ejemplo, no puede ser 123 Único: ningún otro atributo de tipo ID puede tener el mismo valor <!ATTLIST empleado numero_seg_social ID #REQUIRED>» Sería entonces:» <empleado numero_seg_social= _123 > IDREF. Su valor debe coincidir con el nombre de un elemento definido en el documento ( debe ser el mismo que el de un id ): Ejemplo: numero_seg_social (de tipo ID) definido en el elemento XML persona atributo persona definido en el elemento miembro_equipo Estructura de un DTD Atributos 2.1 Tipos de atributos NMTOKEN ( name token )» Cadenas de caracteres conteniendo una única palabra. Esencialmente que no contenga espacios en blanco NMTOKENS» Uno o varios NMTOKENs separados por espacios en blanco Enumeration» Posibles valores (son name token) <!ATTLIST fecha mes (Enero Febrero Marzo... Diciembre) #REQUIRED> IDREFS (varios IDs)

14 Estructura de un DTD Atributos 2.2 Valores por defecto #REQUIRED El atributo debe tener especificado un valor para cada ocurrencia del elemento #IMPLIED No es necesario suministrar un valor para el atributo y no se proporciona valor por defecto valor Valor por defecto. Cualquier valor permitido para el atributo. No es obligatorio indicar un valor #FIXED valor El atributo tiene un valor fijo. No es obligatorio indicar el atributo, pero si aparece debe tener ese valor» <!ATTLIST biografia xlink CDATA #FIXED >» Único posible valor. Además su valor es éste aunque no exista Declaración de atributos Ejemplo: <!ATTLIST image source CDATA #REQUIRED width CDATA #REQUIRED height CDATA #REQUIRED alt CDATA #IMPLIED > Estructura de un DTD Declaración de Tipo de Documento 3. DOCUMENT TYPE DECLARATION Identifica el elemento raíz de un documento y puede contener declaraciones adicionales (DOCTYPE) Todos los documentos XML deben contener un único elemento raíz que engloba al resto de elementos No confundir con Document Type Definition (DTD) Debe situarse siempre a continuación de la cabecera XML. El DTD puede incluirse en el propio documento XML o declararse como una referencia externa 55 Estructura de un DTD Declaración de Tipo de Documento Si se incluye con el propio documento: <?xml version= 1.0 standalone= yes > <!DOCTYPE elemento_raiz [ DTD ]> Si se incluye como referencia externa: <?xml version= 1.0 standalone= no > <!DOCTYPE elemento_raiz SYSTEM URL del DTD > o <!DOCTYPE elemento_raiz SYSTEM PUBLIC nombre DTD URL del DTD > 56 14

15 Ejemplo de DTD <?xml version= 1.0 standalone= yes > <!DOCTYPE biblioteca [ <!ELEMENT biblioteca (libro+)> <!ELEMENT libro (titulo, (autor editor)+,editorial,año)> <!ATTLIST libro isbn CDATA #REQUIRED> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nombre, apellido1, apellido2)> <!ELEMENT editor (nombre, apellido1, apellido2)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT apellido1 (#PCDATA)> <!ELEMENT apellido2 (#PCDATA)> <!ELEMENT editor (#PCDATA)> <!ELEMENT año (#PCDATA)> ]> 57 Ejemplo de DTD Por ejemplo:» <!DOCTYPE person SYSTEM >» El elemento raíz es person Después de la declaración XML, pero antes de el elemento raíz: <?xml version="1.0" standalone="no"?> <!DOCTYPE person SYSTEM " <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> 58 DTDs Si está en el mismo directorio:» <!DOCTYPE person SYSTEM person.dtd > DTDs Se pueden mezclar (se utiliza un DTD interno): <!DOCTYPE person SYSTEM name.dtd [ <!ELEMENT profession (#PCDATA)> <!ELEMENT person (#PCDATA)> ]> SYSTEM: el archivo se encuentra en el sistema local de archivos o en una red PUBLIC: el archivo es un archivo de dominio público que se encuentra en lugar accesible ( sitios estándares ) Se están mezclando DTDs internos con externos» Deben ser compatibles Al usar un DTD externo, el atributo standalone debe valer no en la declaración XML

16 Entidades Hay 5 predefinidas:» < & > " &apos; En un DTD se pueden definir otras (útil en documentos válidos y otros que no se van a validar) <!ENTITY super unejemplo >» Y entonces se puede usar &super; Entidades El contenido puede incluir también etiquetas:» <!ENTITY footer <hr size= 1 />... >» El contenido debe estar bien formado: No se podría poner una etiqueta de inicio en una entidad y el la de finalización en otra» El contenido también puede incluir referencias de entidad, que se resuelven antes de que el texto se sustituya» Autoreferencias y referencias circulares prohibidas Entidades Las entidades no pueden utilizar texto del mismo DTD. Por ejemplo, es ilegal:» <!ENTITY coordinate ((x, y) (y, x)) >» <!ELEMENT poligon (&coordinate;, &coordinate; &coordinate;+)» Las entidades parámetro servirán para esto Entidades Entidades de parámetro» Son analizadas sintácticamente» <!ENTITY % EntityName EntityDef>» <!ENTITY % dimen largo, ancho, alto? >» Puedes hacer referencia a la entidad dentro de la DTD %dimen; Ej: <!ELEMENT suelo (%dimen;)> <!ELEMENT pared (%dimen;)>

17 Entidades Entidades parámetro:» Se utilizan ya que muchos elementos comparten la misma lista de atributos y modelo de contenido» Se evitan errores y duplicaciones de información» Sólo se pueden usar en DTDs» Ejemplo: <!ENTITY % contenido_residencial direccion, habitaciones, baños > <!ENTITY % contenido_precios precio > <!ELEMENT apartamento (%contenido_residencial;, %contenido_precios;)> 65 Entidades Entidades externas analizadas ( external parsed general entity ):» <!ENTITY footer SYSTEM >» No se permiten en valores de atributos» En la declaración XML de la entidad externa, se debe incluir obligatoriamente la declaración de codificación y opcionalmente la información de version: <?xml encoding="iso "?> <hr size="1" noshade="true"/> <font CLASS="footer"> Entidades Entidades externas no analizadas ( external unparsed entity ). Cualquier otro tipo de dato» Muchos autores no están de acuerdo en su inclusión dentro de la especificación de XML» <!ENTITY mi_foto SYSTEM NDATA jpeg>» NDATA indica que no son datos XML (normalmente código binario)» jpeg especifica el tipo del dato Entidades Entidades externas no analizadas» En otro sitio del DTD debe aparecer: <!NOTATION mi_foto SYSTEM image/jpeg > Se está identificando su MIME media type» No es posible hacer una llamada del estilo &mi_foto; Se utiliza en su lugar: <!ELEMENT image EMPTY> <!ATTLIST image source ENTITY #REQUIRED> <image source= mi_foto />

18 DTDs En el mundo real, los DTDs pueden ser muy complejos»el de SVG (lenguaje para descripción de gráficos 2D) tiene más de 1000 líneas» El más sencillo de XHTML 1.0 tiene más de 1,500 líneas»el de DocBook (DTD creación documentación técnica) tiene más de líneas» Lo que se hace es tenerlo en varios ficheros que utilizan referencias a entidades parámetro» Para hacer llamadas externas: <!ENTITY % names SYSTEM names.dtd > %names; DTDs Inclusión condicional:» Comentarios en un DTD (se ignora el código de una DTD): <![IGNORE[ <!ELEMENT production_note (#PCDATA)> ]]>» Algo permitido, es decir se incluye dentro del código de la DTD (igual que si no estuviera): <![INCLUDE[ <!ELEMENT production_note (#PCDATA)> ]]> DTDs Inclusión condicional:» Se puede hacer equivalentemente con: <!ENTITY % notes_allowed INCLUDE > <![%notes_allowed;[ <!ELEMENT production_note (#PCDATA)> ]]>»Ej: Y entonces se puede hacer on y off para incluir o no incluir partes, cambiando el valor de notes_allowed <!ELEMENT % debug INCLUDE > <!ELEMENT % debug IGNORE > DTDs orientados a datos Suelen usar secuencias, y raramente contenido mixto <?xml version="1.0"?> <!DOCTYPE person [ <!ELEMENT person (name+, profession*)> <!ELEMENT name EMPTY> <!ATTLIST name first CDATA #REQUIRED last CDATA #REQUIRED> <!-- The first and last attributes are required to be present but they may be empty. For example, <name first="cher" last=""> --> <!ELEMENT profession EMPTY> <!ATTLIST profession value CDATA #REQUIRED> ]> <person> <name first="alan" last="turing"/> <profession value="computer scientist"/> <profession value="mathematician"/> <profession value="cryptographer"/> </person>

19 DTDs orientados a documentos DTDs orientados a documentos <!ATTLIST biography xmlns:xlink CDATA #FIXED " Más informales, suelen usar contenido mixto, tienden a usar entidades parámetro para agrupar modelo del contenido y listas de atributos Ejemplo: <!ELEMENT person (first_name, last_name)> <!-- Birth and death dates are given in the form yyyy/mm/dd --> <!ATTLIST person born CDATA #IMPLIED died CDATA #IMPLIED> <!ELEMENT date (month, day, year)> <!ELEMENT month (#PCDATA)> <!ELEMENT day (#PCDATA)> <!ELEMENT year (#PCDATA)> <!-- xlink:href must contain a URI. xlink:type must have the value simple if it's present at all. --> <!ATTLIST emphasize xlink:type NMTOKEN #IMPLIED xlink:href CDATA #IMPLIED> <!ELEMENT profession (#PCDATA)> <!ELEMENT footnote (#PCDATA)> <!-- The source is given according to the Chicago Manual of Style citation conventions --> <!ATTLIST footnote source CDATA #REQUIRED> 73 <!ELEMENT first_name (#PCDATA)> <!ELEMENT last_name (#PCDATA)> 74 DTDs orientados a documentos DTDs orientados a documentos <biography xmlns:xlink=" <!ELEMENT image EMPTY> <!ATTLIST image source CDATA #REQUIRED width NMTOKEN #REQUIRED height NMTOKEN #REQUIRED ALT CDATA #IMPLIED > <!ENTITY % top_level "( #PCDATA image paragraph definition graph person profession emphasize last_name first_name footnote date )*"> <!ELEMENT paragraph %top_level; > <!ELEMENT definition %top_level; > <!ELEMENT emphasize %top_level; > <!ELEMENT biography %top_level; > <image source=" width="152" height="345"/> <person born='1912/06/23' died='1954/06/07'><first_name>alan</first_name> <last_name>turing</last_name> </person> was one of the first people to truly deserve the name <emphasize>computer scientist</emphasize>. Although his contributions to the field were too numerous to list, his best-known are the eponymous <emphasize xlink:type="simple" xlink:href=" Test</emphasize> and <emphasize xlink:type="simple" xlink:href=" Machine</emphasize>. <last_name>turing</last_name> was also an accomplished <profession>mathematician</profession> and <profession>cryptographer</profession>. His assistance was crucial in helping the Allies decode the German Enigma machine.<footnote source="the Ultra Secret, F.W. Winterbotham, 1974">1</footnote> He committed suicide on <date><month>june</month> <day>7</day>, <year>1954</year></date> after being convicted of homosexuality and forced to take female hormone injections.<footnote source="alan Turing: the Enigma, Andrew Hodges, 1983">2</footnote> 75 </biography> 76 19

20 DTDs Localización de DTDs estándares:» Ejemplos: Esquemas XML Las restricciones permitidas en un DTD son limitadas W3C: Mediante el uso de schemas se pueden usar:» Tipos de datos» Herencia Un DTD es un también un schema» Un DTD se convierte a un schema definiendo en etiquetas sus parámetros Esquemas XML Comparación con DTD:» Se puede definir cualquier clase de restricción (más general que un DTD)» Los schemas son más difíciles de implementar y más costosos de aprender En un schema se definen:» Relaciones de estructura» Tipos de datos Esquemas XML El Lenguaje de definición de Esquemas XML es un lenguaje XML empleado para definir y restringir el contenido de documentos XML Inconvenientes de los DTD:» La notación empleada no es XML» No pueden indicarse tipos de datos ni formatos para los datos» No soportan espacios de nombres (namespaces) Esquemas XML = DTD + tipos de datos + espacios de nombres

21 Estructura de un Esquema 1. Cabecera Un esquema XML debe contener siempre la definición del elemento esquema. <?xml version= 1.0 encoding= UTF-8?> <xsd:schema xmlns:xsd= chema > </xs:schema> Estructura de un Esquema 2. Elementos - Equivalentes a los elementos definidos para los DTD - Existen dos tipos de elementos:» Simples: Únicamente contienen valores <xsd:element name= nombre type= xs:string />» Compuestos: Formados por otros elementos o atributos <xsd:element name= NombreCompleto > <xsd:sequence> <xsd:element name= nombre type= xsd:string /> <xsd:element name= apellidos type= xsd:string /> <xsd:sequence> </xsd:element> Estructura de un Esquema 3. Tipos de elementos 3.1 Los tipos simples predefinidos son:» string Cadena de caracteres (incluyendo espacios)» integer» decimal» float» boolean» time HH:MM:SS» date AAAA-MM-DD» ID Igual que para los DTD» NMTOKEN Igual que para los DTD» Estructura de un Esquema 3.2 Tipos derivados» Sobre los tipos predefinidos se definen distintos parámetros, denominados facetas, que ofrecen control sobre el formato del tipo. Ej: <xs:simpletype name= NombreMaximo > <xs:restriction base= xs:string > <xs:maxlength value= 30 /> </xs:restriction> </xs:simpletype>» Otra faceta, pattern, permite aplicar una expresión regular: <xs:pattern value= [0-9]{10} />

22 Estructura de un Esquema Estructura de un Esquema Aparte de las facetas, se definen dos métodos de derivación:» Uniones: Tipos simples formados por la unión de varios tipos simples» Listas: Listas de elementos separados por espacios <xs:simpletype name= lista > <xs:list itemtype= xs:integer /> </xs:simpletype> <xs:simpletype name= dnitype > <xs:union> <xs:simpletype> <xs:restriction base= xsd:integer /> <xs:pattern value= [0-9]{8} /> </xs:restriction> </xs:simpletype> <xs:simpletype> <xs:restriction base= xsd:nmtoken /> <xs:pattern value= [A-Z]{1} /> </xs:restriction> </xs:simpletype> </xs:union> </xs:simpletype> Estructura de un Esquema 4. Elementos compuestos Pueden definirse a través de tres operadores:» sequence: Secuencia ordenada de elementos <xs:element name= libro > <xs: sequence> <xs:element name= Titulo type= xs:string /> <xs:element name= Autor type= xs:string /> <xs:sequence> </xs:element> Estructura de un Esquema» choice: Indica una selección entre varios elementos (simples o compuestos) posibles <xs:element name= libro > <xs:sequence> <xs:element name= Titulo type= xs:string /> <xs:choice> <xs:element name= Autor type= xs:string /> <xs:element name= Editor type= xs:string /> </xs:choice> </xs:sequence> </xs:element>

23 Estructura de un Esquema» all: Conjunto de elementos sin orden específico Estructura de un Esquema Para evitar combinaciones ambigüas se definen restricciones para all: <xs:element name= libro > <xs:all> <xs:element name= Titulo type= xs:string /> <xs:element name= Autor type= xs:string /> <xs:element name= Editor type= xs:string /> </xs:all> </xs:element> Sólo pueden agrupar elementos o referencias No pueden tener cardinalidad mayor a 1 Sólo definirse como hijos únicos de un modelo Estructura de un Esquema 5. Cardinalidad asociada a elementos Estructura de un Esquema 6.Espacios de nombres (Namespaces) Se definen los atributos minoccurs y maxoccurs para indicar las ocurrencias mínima y máxima permitidas para un elemento <xs:element name= autor minoccurs= 0 maxoccurs= unbounded /> Se definen para evitar conflictos entre los nombres empleados en las etiquetas Mecanismo sencillo consistente en la inclusión de un prefijo en las etiquetas del esquema. <xs:esquema xmlns:xs = >

24 Estructura de un Esquema 6.Espacios de nombres (Namespaces) Objetivos:» Distinguir entre elementos y atributos de diferentes aplicaciones XML que comparten el mismo nombre» Agrupar elementos y atributos relacionados Un prefijo se puede construir con un nombre XML, excepto el : Estructura de un Esquema 6.Espacios de nombres (Namespaces) Cada prefijo debe estar asociado con una URI (concepto similar a URL)» Por ejemplo, todos los elementos XSLT 1.0 están asociados con que suele ser el prefijo xsl En el siguiente ejemplo aparecen problemas al usar la descripción de metadatos RDF (Resource Description Framework) Espacios de nombres Espacios de nombres <?xml version="1.0" encoding="iso " standalone="yes"?> <catalog> <RDF> <Description about=" <title> Impressionist Paintings </title> <creator> Elliotte Rusty Harold </creator> <description> A list of famous impressionist paintings organized by painter and date </description> <date> </date> </Description> </RDF> <painting> <title>the Swing</title> <artist>pierre-auguste Renoir</artist> <date>1876</date> <description> A young girl on a swing. Two men and a toddler watch. </description> </painting> <!-- Many more paintings... --> </catalog> <painting> <title>memory of the Garden at Etten</title> <artist>vincent Van Gogh</artist> <date>november, 1888</date> <description> Two women look to the left. A third works in her garden. </description> </painting>

25 Espacios de nombres Un prefijo se crea asignando un nombre a una URL, y se puede usar en un nodo o en sus hijos Por ejemplo: Espacios de nombres <?xml version="1.0" encoding="iso " standalone="yes"?> <catalog> <rdf:rdf xmlns:rdf=" <rdf:description xmlns:dc=" about=" <dc:title> Impressionist Paintings </dc:title> <dc:creator> Elliotte Rusty Harold </dc:creator> <dc:description> A list of famous impressionist paintings organized by painter and date </dc:description> <dc:date> </dc:date> </rdf:description> </rdf:rdf> <painting> <title>memory of the Garden at Etten</title> <artist>vincent Van Gogh</artist> <date>november, 1888</date> Espacios de nombres Se asigna un espacio de nombres por defecto al hacer, por ejemplo: <svg xmlns= > <ellipse rx= 110 ry= 130 /> <svg> se supone que svg, ellipse... Pertenecen al mismo espacio de nombres No ocurre lo mismo con los atributos (los espacios de nombres por defecto sólo se aplican a elementos) Otro ejemplo: Espacios de nombres <?xml version="1.0"?> <html xmlns=" xmlns:xlink=" <head><title>three Namespaces</title></head> <body> <h1 align="center">an Ellipse and a Rectangle</h1> <svg xmlns=" width="12cm" height="10cm"> <ellipse rx="110" ry="130" /> <rect x="4cm" y="1cm" width="3cm" height="6cm" /> </svg> <p xlink:type="simple" xlink:href="ellipses.html"> More about ellipses </p> <p xlink:type="simple" xlink:href="rectangles.html"> More about rectangles </p> <hr/> <p>last Modified May 13, 2000</p> </body> </html>

26 Espacios de nombres DTDs y espacios de nombres son independientes Los DTDs deben contener cosas como:» <!ELEMENT dc:title (#PCDATA)> Si decidimos cambiar el prefijo, deberíamos hacerlo en el documento XML y en el DTD» Pero se pueden utilizar entidades parámetro para hacerlo más sencillo: <!ENTITY % dc-prefix dc > <!ENTITY % dc-colon : > <!ENTITY % dc-title %dc-prefix;%dc-colon;title > <!ENTITY % dc-creator %dc-prefix;%dc-colon;creator > y bastaría con: Estructura de un Esquema 6.Espacios de nombres (Namespaces) Existen tres atributos que permiten distinguir entre elementos y atributos definidos en esquemas locales y globales:» targetnamespace: Permite definir el espacio de nombres descrito en el esquema» elementformdefault: Indica si los elementos deben estar calificados, es decir, si deben llevar prefijo» attributeformdefault: Indica si los atributos deben llevar prefijo Todos los atributos y elementos globales deben ir acompañados del prefijo correspondiente <!ENTITY % dc-prefix new-prefix > Estructura de un Esquema Ejemplo: Estructura de un Esquema Ejemplo de esquema <xsd:schema targetnamespace= /tick xmlns:xsd=" XMLSchema xmlns:ej=" elementformdefault="qualified attributeformdefault="qualified"> <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:element name="bibilioteca" type="bibtype"> <xs:annotation> <xs:documentation> Esquema XML para repositorio de libros de una biblioteca </xs:documentation> </xs:annotation> </xs:element>

27 Estructura de un Esquema Estructura de un Esquema <!-- Definicion del tipo libro --> <xs:complextype name="librotype"> <!-- Definicion del tipo biblioteca --> <xs:complextype name="bibtype"> <xs:sequence> <xs:element name="libro" type="librotype" minoccurs="0 maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> <xs:sequence> <xs:element name="titulo type="xs:string"> </xs:element> <xs:choice minoccurs="1 maxoccurs="unbounded"> <xs:element name="editor" type="nombretype"/> <xs:element name="autor" type="nombretype"/> </xs:choice> <xs:element name="editorial" type="xs:string"/> <xs:element name="anyo" type="xs:integer"/> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:complextype> Estructura de un Esquema Estructura de un Esquema Fichero XML adecuado al esquema <!-- Definicion del tipo nombre --> <xs:complextype name="nombretype"> <xs:sequence> <xs:element name="nombre" type="xs:string"/> <xs:element name="apellido1" type="xs:string"/> <xs:element name="apellido2" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema> <?xml version="1.0" encoding="utf-8"?> <bibilioteca xmlns:xsi=" ma-instance" xsi:nonamespaceschemalocation="d:\xmljava \Skandia\ejemplo.xsd">

28 Estructura de un Esquema <libro isbn=" h"> <titulo>titulo 1</titulo> <editor> <nombre>nombre Editor 1</nombre> <Apellido1>Apellido Editor 1</Apellido1> <Apellido2>Apellido Editor 1</Apellido2> </editor> <editorial>editorial 1</editorial> <anyo>2002</anyo> Estructura de un Esquema <libro isbn=" h"> <titulo>titulo 2</titulo> <autor> <nombre>nombre Autor 1</nombre> <Apellido1>Apellido Autor 1</Apellido1> <Apellido2>Apellido Autor 1</Apellido2> </autor> <editor> <nombre>nombre Editor 2</nombre> <Apellido1>Apellido Editor 2</Apellido1> <Apellido2>Apellido Editor 2</Apellido2> </editor> <editorial>editorial 2</editorial> <anyo>2001</anyo> </libro> </bibilioteca> </libro> Ejemplo 2 Ejemplo 2 <?xml version="1.0"?> <purchaseorder orderdate=" "> <shipto country="us"> <name>alice Smith</name> <street>123 Maple Street</street> <city>mill Valley</city> <state>ca</state> <zip>90952</zip> </shipto> <billto country="us"> <name>robert Smith</name> <street>8 Oak Avenue</street> <city>old Town</city> <state>pa</state> <zip>95819</zip> </billto> <comment>hurry, my lawn is going wild!</comment> <items> <item partnum="872-aa"> <productname>lawnmower</productname> <quantity>1</quantity> <USPrice>148.95</USPrice> <comment>confirm this is electric</comment> </item> <item partnum="926-aa"> <productname>baby Monitor</productName> <quantity>1</quantity> <USPrice>39.98</USPrice> <shipdate> </shipdate> </item> </items> </purchaseorder> Ejercicio, definir el esquema adecuado para el anterior documento XML

29 Ejemplo 2 Ejemplo 2 <xsd:schema xmlns:xsd=" <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for Example.com. Copyright 2000 Example.com. All rights reserved. </xsd:documentation> </xsd:annotation> <xsd:element name="purchaseorder" type="purchaseordertype"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complextype name="purchaseordertype"> <xsd:sequence> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </xsd:sequence> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype> <xsd:complextype name="usaddress"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:nmtoken" fixed="us"/> </xsd:complextype> Ejemplo 2 Ejemplo 2... <xsd:complextype name="items"> <xsd:sequence> <xsd:element name="item" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element name="productname" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="usprice" type="xsd:decimal"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="shipdate" type="xsd:date" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="partnum" type="sku" use="required"/> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> <!-- Stock Keeping Unit, a code for identifying products --> <xsd:simpletype name="sku"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> </xsd:schema>

30 XML en documentos XML:» Documentos ( orientados a narraciones )» Datos» Inicialmente pensado para documentos. Extensión para representación de datos.» Los documentos XML no sólo se usan en la Web. Se puede utilizar como material para publicar libros, revistas,... Aplicando diferentes hojas de estilo ( style sheets ) al mismo documento fuente, se pueden conseguir páginas Web, notas del orador, un documento listo para imprimir, etc. Documentos suelen ser:» Hay un elemento raíz.» Si el documento es largo, se divide en secciones: tabla de contenidos, índice, XML en documentos» El elemento raíz suele contener metainformación sobre el documento (título, autor, fechas...) Se suele colocar la meta-información en un hijo del elemento raíz, y el contenido en otro.» Así suele ser en HTML (html, head, body).» Secciones en subsecciones, y éstas a su vez en otras,... El cuántos niveles de subsecciones? depende de lo largo del documento.» Cada sección y subsección suele tener un título. Puede tener también elementos o atributos sobre su metainformación. Se suele verificar que al eliminar las etiquetas utilizadas, se obtiene prácticamente una copia del documento inicial 118 XML en documentos TEI (Text Encoding Initiative):» Literatura» Orientado a análisis escolar de textos» TEI es una aplicación SGML, aunque se está creando la versión XML. DocBook» Una aplicación SGML para nuevos, no viejos, documentos» Uso para documentación digitalizada.» La última versión, 4.1.2, disponible en SGML y en XML» Es un formato de autor, pero no un formato para presentación final. Al final se deberá convertir a: HTML, XSL Formatting Objects, Rich Text Format (RTF), TeX 119 XML en documentos Persistencia de documentos» Algunos documentos son transitorios (se envían entre programas,...)» Otras aplicaciones sí utilizan datos digitalizados más persistentes. Por ejemplo las hojas de cálculo Gnumeric utilizan formato XML. En estos casos, por ejemplo, no es normal tener intercambios de datos con otras aplicaciones distintas» Documentos para humanos son más persistentes y menos dependientes del software

31 XML en documentos Presentaciones:» Basadas en transformaciones: Lenguaje XSLT Otro lenguaje de transformación: Document Style Sheet and Semantics Language (DSSSL) APIs de lenguajes como Java o C++ para transformar documentos: SAX, DOM, JDOM» Uso de hojas de estilo descriptivas para formatear un elemento: Cascading Stylesheets (CSS) CSS adecuado en documentos narrativos 121 XML en la Web XML en la Web:» XHTML, adaptación de HTML 4.0» Mostrar un documento directamente en un navegador (normalmente, mediante un CSS o un XSLT). Requiere un navegador que admita XML.» Otra opción es mezclar vocabularios XML, como MathML, con XHTML. XHTML: Por ejemplo, incluido en la versión XHTML 1.1» Recomendación W3C» Programas para pasar de HTML a XHTML: Programa en C 122 Ejemplo (HTML) <HTML><HEAD> <TITLE>O'Reilly Shipping Information</TITLE> </HEAD> <BODY BGCOLOR="#ffffff" VLINK="#0000CC" LINK="#990000" TEXT="#000000"> <table border=0 width=515> <tr> <td> <IMG SRC="/www/graphics_new/generic_ora_header_wide.gif" BORDER=0> <H2>U.S. Shipping Information </H2> <HR size="1" align=left noshade> <DL> <DT> <B>UPS Ground Service (Continental US only business days):</b></dt> <DD> Ejemplo (XHTML) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <html xmlns=" <head> <meta name="generator" content="html Tidy, see /> <style type="text/css"> body {backgroundcolor: #FFFFFF; color: #000000} a:visited {color: #0000CC} a:link {color: #990000} </style> <title>o'reilly Shipping Information</title> </head> <body> <table border="0" width="515"> <tr> <td><img src="/www/graphics_new/generic_ora_header_wide.gif" style="border-width: 0" alt="o'reilly"/> <h2>u.s. Shipping Information</h2> <hr style="height: 1; text-align: left"/> <dl> <dt><b>ups Ground Service (Continental US only business days):</b></dt> <dd>

32 XML en la Web Tres tipos de XHTML (diferentes DTDs):» Strict (no se permiten algunos elementos como applet )» Transitional (version no estricta que permite por ejemplo el uso de applet )» Frameset (permite frameset o iframe ) Los navegadores Web trabajan con XHTML inconsistentemente.» IE 5.5, Netscape 6.0 y Mozilla 5.0 muestran XHTML válido sin dificultad, pero el problema está en versiones más antiguas de navegadores XML en la Web Tres lenguajes de hojas de estilo ( stylesheet ):» CSS nivel 1 (CSS1)» CSS nivel 2 (CSS2)» Transformaciones XSL 1.0 La hoja de estilo asociada a un documento se indica en la IP en el prólogo del documento (después de la declaración XML pero antes de la etiqueta raíz). <?xml version="1.0"?> <?xml-stylesheet href="person.css" type="text/css"?> <person> Alan Turing </person> XML en la Web IE 5.0 sí entiende XML, aunque el parser no funciona bien y puede incluso rechazar algo de XML 1.0» Puede mostrar ficheros XML directamente, con o sin fichero stylesheet asociado. Si no se da un stylesheet, IE5 utiliza un predefinido XSLT que muestra la estructura de árbol permitiendo expandir o colapsar.» Soporta partes de CSS1 y algo de CSS2, pero hay inconsistencias. IE5.5 mejora lo de los CSS, pero aún hay inconsistencias. IE5 y IE5.5 soportan su propia versión de XSLT, basada en una primera versión de la especificación XSLT. No soportan XSLT XML en la Web Netscape 4.x no da soporte para mostrar XML en el navegador Mozilla y Netscape (6+) sí soportan XSLT y ficheros XML IE6.0:» Soporta XSLT 1.0» Procesador MSXML

33 XML en la Web Enfoques alternativos:» Se siguen utilizando algunos navegadores antiguos (Mosaic 1.0,...)» Una opción es que un servidor recibe una petición para un documento XML, lo convierte a HTML y lo envía al navegador. La manera preferida es mediante una hoja de estilo XSLT y un servlet Java XHTML 1.1 (modular):» Se pueden utilizar y omitir partes XHTML en los DTDs» Ejemplo: XML en la Web <!ELEMENT catalog (catalog_entry*)> <!ELEMENT catalog_entry (name, price, item_number, color, size, description)> <!ELEMENT name (#PCDATA)> <!ELEMENT size (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT item_number (#PCDATA)> <!ELEMENT color (#PCDATA)> <!-- throw away the modules we don't need --> <!ENTITY % xhtml-hypertext.module "IGNORE" > <!ENTITY % xhtml-ruby.module "IGNORE" > <!ENTITY % xhtml-edit.module "IGNORE" > <!ENTITY % xhtml-pres.module "IGNORE" > <!ENTITY % xhtml-applet.module "IGNORE" > <!ENTITY % xhtml-param.module "IGNORE" > <!ENTITY % xhtml-bidi.module "IGNORE" > <!ENTITY % xhtml-form.module "IGNORE" > <!ENTITY % xhtml-table.module "IGNORE" > <!ENTITY % xhtml-image.module "IGNORE" > <!ENTITY % xhtml-csismap.module "IGNORE" > <!ENTITY % xhtml-ssismap.module "IGNORE" > XML en la Web XML en la Web <!ENTITY % xhtml-meta.module "IGNORE" > <!ENTITY % xhtml-script.module "IGNORE" > <!ENTITY % xhtml-style.module "IGNORE" > <!ENTITY % xhtml-link.module "IGNORE" > <!ENTITY % xhtml-base.module "IGNORE" > <!ENTITY % xhtml-target.module "IGNORE" > <!-- import the XHTML DTD, at least those parts we aren't ignoring. You will probably need to change the system ID to point to whatever directory you've stored the DTD in. --> <!ENTITY % xhtml11.mod PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml-modularization/dtd/xhtml11.dtd"> %xhtml11.mod; <!ELEMENT description (%Block.mix;)+)> En XHTML se pueden añadir nuevos elementos que HTML no soporta Ideas para métodos de búsqueda en la Web mejorados:» En la actualidad, en la Web hay pocas páginas XML.» Mientras tanto, es posible añadir información XML adicional mediante el uso de, por ejemplo: Resource Description Framework (RDF) DublinCore IP para robots

Validación de un XML

Validación de un XML Validación de un XML 32 Introducción Se dice que un XML está bien formado cuando esta escrito sintácticamente de forma correcta Como se puede validar sintácticamente un XML? Document Type Definition (DTD)

Más detalles

Sistemas de Información 12/13 XML (extensible Mark-up Language)

Sistemas de Información 12/13 XML (extensible Mark-up Language) 12/13 XML (extensible Mark-up Language) Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Introducción Ejemplos Documentos vs apliaciones XML Espacios

Más detalles

Fundamentos de las tecnologías de la información

Fundamentos de las tecnologías de la información Fundamentos de las tecnologías de la información la guerra de los formatos Diego Martín 2016 1 Definiciones W3C HTML CSS XML Introducción histórica HTML vs XML JSON XML vs JSON DTDsy XML SCHEMAs Qué formato

Más detalles

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect Introducción a XML - Validación y Parseo Huibert Aalbers, Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de

Más detalles

XML: extensible Markup Language (Parte I) Ingeniería de la Información

XML: extensible Markup Language (Parte I) Ingeniería de la Información XML: extensible Markup Language (Parte I) DTDs Ingeniería de la Información Tabla de Contenidos Introducción histórica XML vs. HTML Características de XML Mi primer documento XML El lenguaje XML Entidades

Más detalles

M. Carmen Fernández Panadero <mcfp@it.uc3m.es>

M. Carmen Fernández Panadero <mcfp@it.uc3m.es> Introducción n a XML M. Carmen Fernández Panadero Introducción a XML 1 Objetivos Familiarizarse con conceptos y herramientas básicas de XML Conocer la estructura de un documento XML Ser capaz de diseñar

Más detalles

XML-Schema. XML-Schema. Espacios de Nombre. W3C XML Schema intenta superar las limitaciones de las DTDs con respecto a ellos

XML-Schema. XML-Schema. Espacios de Nombre. W3C XML Schema intenta superar las limitaciones de las DTDs con respecto a ellos Ejemplo. Espacio de nombres con prefijo W3C XML Schema intenta superar las limitaciones de las DTDs con respecto a ellos W3C XML Schema asocia un espacio de nombres a todos los objetos (elementos, atributos,

Más detalles

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML XML Introducción XML(eXtensible Markup Language) es un lenguaje de etiquetas. Hay que tener en cuenta que no es un lenguaje de programación y como tal no ejecuta instrucciones, XML se creó para estructurar,

Más detalles

XML Schema. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/

XML Schema. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ XML Schema Sergio Luján Mora sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ 1 XML SCHEMA... 3 Introducción... 3 Ventajas... 3 Qué necesito para usar XML Schema... 4 Diseño de un documento XML... 5

Más detalles

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD.

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD. 3.1 Tipos de DTDs Introducción (I)! El DTD es un documento que nos permite definir un dialecto XML.! DTD " Document Type Definition! Si queremos validar un documento XML (para comprobar si cumple las normas

Más detalles

extensible Markup Language (XML)

extensible Markup Language (XML) extensible Markup Language (XML) 1. INTRODUCCIÓN Jennifer Pérez Benedí Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia C/Camino de Vera s/n E-46071 Valencia- España

Más detalles

Visualización y Transformaciones en XML

Visualización y Transformaciones en XML Visualización y Transformaciones en XML 106 Visualización Los archivos XLM pueden ser vistos prácticamente en cualquier browser 107 Visualización Los XML en los web browsers no se despliegan como páginas

Más detalles

Transformación de documentos XML con

Transformación de documentos XML con Transformación de documentos XML con X S L T Necesidad de las transformaciones XML se presenta como un estándar para transmitir datos a través de Internet. Ante la posibilidad de que distintos centros

Más detalles

Desarrollo de software para navegación web desde terminales celulares de 3ª generación

Desarrollo de software para navegación web desde terminales celulares de 3ª generación Desarrollo de software para navegación web desde terminales celulares de 3ª generación Registro SIP 2008-0796 Resumen Como parte de un Programa generador de páginas web para celulares, se desarrolló un

Más detalles

XIII Reunión de Usuarios Aleph México. MarcXML. Egar Arturo Garcia Cárdenas

XIII Reunión de Usuarios Aleph México. MarcXML. Egar Arturo Garcia Cárdenas MarcXML Egar Arturo Garcia Cárdenas Secretaría Técnica de Biblioteca Digital Dirección General de Bibliotecas Universidad Nacional Autonóma de México Septiembre de 2009 1. Antecedentes Lenguajes de Marcado

Más detalles

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET DOCENTE: Ing. CARLOS ARTURO RUANO. INSTRUCTOR: Tec. DANIEL EDENILSON

Más detalles

XML Namespaces. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/

XML Namespaces. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ XML Namespaces Sergio Luján Mora sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ 1 XML NAMESPACES... 3 Introducción... 3 Un ejemplo del problema... 3 Empleo de espacios de nombres... 6 Restricción

Más detalles

Ejercicios del bloque de Web de Sistemas de Información:

Ejercicios del bloque de Web de Sistemas de Información: Ejercicios del bloque de Web de Sistemas de Información: Ejercicio 1: Explica brevemente las principales diferencias entre DTDs y XML Schema. Ejercicio 2: En el contexto de XML qué es un documento bien

Más detalles

2 Estructura de un Documento XML

2 Estructura de un Documento XML 2 Estructura de un Documento XML Introducción (I)! Un documento XML contiene texto, nunca datos binarios.! Documento XML Fichero XML! Un documento XML puede estar en un registro de una base de datos,

Más detalles

1 Introducción a XML

1 Introducción a XML 1 Introducción a XML Introducción (I)! Qué es XML?! Últimamente todo el mundo habla sobre XML!! Dicen que es un lenguaje etiquetado...es decir: Es un lenguaje como HTML, pero con nuevas etiquetas?! Dicen

Más detalles

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo Tecnologías XML y Web Semántica Departamento de Informática Universidad de Oviedo Sesión 1 Lenguaje XML Departamento de Informática Universidad de Oviedo Esquema de la Sesión (9-11h) Primera parte: Introducción

Más detalles

Documentación Electrónica

Documentación Electrónica Modelado de datos: Document Type Definition (DTD) Ofimática Avanzada Curso 2010/2011 Ofimática Avanzada 2010/2011 2 Ofimática Avanzada 2010/2011 3 1 Introducción XML es flexible, permitiendo a los usuarios

Más detalles

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur XML XML es el lenguaje de marcado extensible. (extensible Markup Language) Es extensible porque los tags son definibles por el usuario Es la evolución de SGML: Standar Generalized Markup Language. Es la

Más detalles

Primeros pasos con XML y XSL Ricardo Borillo Domenech

Primeros pasos con XML y XSL Ricardo Borillo Domenech Primeros pasos con XML y XSL Ricardo Borillo Domenech Table of Contents 1.Apartadosprincipales...1 2. Introducción al lenguaje de marcas XML... 2 3. Estructura de los documentos: DTDs... 2 3.1. Asociar

Más detalles

TEMA 35: Estándares SGML y XML. Entornos de aplicación.

TEMA 35: Estándares SGML y XML. Entornos de aplicación. Entornos de aplicación TEMA 35: Estándares SGML y. Entornos de aplicación. Índice 1 INTRODUCCIÓN 1 2 SGML 2 2.1 Cómo funciona SGML? 2 2.2 Definición de la sintaxis de un lenguaje SGML 3 2.3 Declaración

Más detalles

XML, parte 3. M. en C. Erika Vilches

XML, parte 3. M. en C. Erika Vilches XML, parte 3 M. en C. Erika Vilches Creando Document Type Definitions Qué es un DTD? Las Document Type Definitions permiten restringir el contenido de los documentos XML Especificar qué tipos de contenido

Más detalles

XML. María Consuelo Franky. Universidad Javeriana 2009

XML. María Consuelo Franky. Universidad Javeriana 2009 XML María Consuelo Franky Universidad Javeriana 2009 1 XML: meta-lenguaje para definir lenguajes de etiquetas 2 Origen de XML SGML: Standard Generalized Markup Language: demasiado complejo para definir

Más detalles

XSL. Introducción. Introducción. Introducción

XSL. Introducción. Introducción. Introducción Introducción XSL 1 XSL (extensible Stylesheet Language)» XSLT (XSL Transformations)» XSL-FO (XSL Formatting Objects) XSLT:» Documento XML que especifica reglas para transformar un documento XML en otro

Más detalles

XML para FP : Introducción

XML para FP : Introducción Supongamos que tenemos una tienda de pinturas, en la cual, mediante un software nos vamos en cargar de almacenar (sin valernos de un gestor de base datos) la información referente a los pedidos que se

Más detalles

Datos Estadísticos y el Lenguaje XML

Datos Estadísticos y el Lenguaje XML Datos Estadísticos y el Lenguaje XML Como Mejorar el Intercambio de Datos Estadísticos y la Adecuación de los Ficheros para su Carga en Bases de Datos, a través del Lenguaje XML Jorge Rubio Navarro 1 José

Más detalles

5.1 Introducción a XSL

5.1 Introducción a XSL 5.1 Introducción a XSL Añadir Forma al Contenido (I)! Un documento XML que cumple las normas del dialecto ListaML:

Más detalles

Estándares SGML y XML. Entornos de aplicación

Estándares SGML y XML. Entornos de aplicación Índice de contenido Estándares SGML y XML. Entornos de aplicación Estándares SGML y XML. Entornos de aplicación...1 Licencia...1 SGML...1 Introducción...1 Etiquetado...2 Estructura de un documento SGML...2

Más detalles

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales

Más detalles

Creación de documentos XML

Creación de documentos XML Creación de documentos XML 'Exchanger XML edition' es un editor estructurado que facilita la edición de lenguajes de marcas (ej XML). La versión Lite se puede descargar y utilizar libremente en aplicaciones

Más detalles

qué es XML? por qué es necesario XML? XML vs. SGML y HTML Hacía la estandarización de los datos

qué es XML? por qué es necesario XML? XML vs. SGML y HTML Hacía la estandarización de los datos qué es XML? Hacía la estandarización de los datos César Ignacio García Osorio Surgió para superar la complejidad de SGML y la inflexibilidad de HTML. Es un meta lenguaje de etiquetado/marcado que permite

Más detalles

DAW LENGUAJES DE MARCAS. Tema 1: Reconocimiento de las características de los Lenguajes de Marcas

DAW LENGUAJES DE MARCAS. Tema 1: Reconocimiento de las características de los Lenguajes de Marcas DAW LENGUAJES DE MARCAS Tema 1: Reconocimiento de las características de los Lenguajes de Marcas Características de los Lenguajes de Marcas 1. Codificación de la información 1.1. Datos binarios 1.2. Datos

Más detalles

XML (Extensible Markup Language)

XML (Extensible Markup Language) José Antonio Echagüe Burgos ja_echague@yahoo.es Tabla de Contenido 1. Lenguajes de marcas - Introducción...1 1.1. HTML...2 2. XML - Introducción...2 3. Estructura y DTD de un documento XML...3 4. Definición

Más detalles

HTML. HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE

HTML. HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE HTML HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE Se elaboró un protocolo para soportar e envío de información por la red. HTTP (Hyper Text Transfer Protocol)

Más detalles

Unidad 6: DTD. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012

Unidad 6: DTD. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012 Unidad 6: DTD JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012 Guíon del tema Qué es un DTD? Declaración de DTD Declaración de Elementos Declaración

Más detalles

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas. 7.3.4 Repeticiones de elementos

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas. 7.3.4 Repeticiones de elementos Apuntes básicos del Tema 7 ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS Contenidos: 7.0 Introducción y definición 7.1 Comenzando con un ejemplo 7.2 Introducción a los namespace

Más detalles

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero <mcfp@it.uc3m.

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero <mcfp@it.uc3m. Introducción a XML Simon Pickin Ingeniería Telemática Basado en una presentación de M. Carmen Fernández Panadero Introducción a XML 1 Qué es XML: Un poco de historia Problemas de HTML Extensibilidad

Más detalles

Creación de una página web accesible sencilla

Creación de una página web accesible sencilla Unidad 2: Las hojas de estilo en cascada Creación de una página web accesible sencilla Objetivos: -Agregar formato a la página creada, a través de una hoja de estilo. Contenidos: -Incorporación de una

Más detalles

XML. Escuela Técnica Superior de Ingeniería de Telecomunicación Universidad Rey Juan Carlos. Marzo de 2016. gsyc-profes (arroba) gsyc.urjc.

XML. Escuela Técnica Superior de Ingeniería de Telecomunicación Universidad Rey Juan Carlos. Marzo de 2016. gsyc-profes (arroba) gsyc.urjc. XML Escuela Técnica Superior de Ingeniería de Telecomunicación Universidad Rey Juan Carlos gsyc-profes (arroba) gsyc.urjc.es Marzo de 2016 GSyC - 2016 XML 1 c 2016 GSyC Algunos derechos reservados. Este

Más detalles

Tema 3.1: Principios de diseño web accesibles

Tema 3.1: Principios de diseño web accesibles Tema 3.1: Principios de diseño web accesibles Lourdes Moreno, Paloma Martínez Universidad Carlos III de Madrid {lmoreno,pmf}@inf.uc3m.es Asignatura Humanidades: Evitando las barreras de accesibilidad en

Más detalles

Tabla de Contenidos. xii

Tabla de Contenidos. xii Tabla de contenidos Capítulo 1. Introducción...1 1.1 MOTIVACIÓN...2 1.2 NOVEDADES APORTADAS POR ESTE LIBRO...3 1.3 ESTRUCTURA DE LA OBRA...4 1.4 CONOCIMIENTOS RECOMENDADOS...8 1.5 CONVENCIONES DE ESTILO

Más detalles

Práctica de introducción a

Práctica de introducción a Práctica de introducción a XML El trabajo consiste en una introducción al uso del lenguaje XML y su aplicación en documentos y sistemas de caracteristicas multimedia. 1.- Qué es XML? XML (extensible Markup

Más detalles

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy Capítulo 3: XML Spy como editor de documentos XML 1. Objetivos del capítulo Este capítulo pretende servir como una introducción a las funciones de la aplicación XML Spy, incluida dentro del conjunto de

Más detalles

XML Schema. Definición y validación

XML Schema. Definición y validación XML Schema. Definición y validación Está claro que XML es una revolución dentro de la tecnología. Un dicho dice, lo bueno si sencillo, dos veces bueno. En concepto de XML es muy sencillo aunque poco a

Más detalles

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha

Más detalles

Tecnología Multimedia

Tecnología Multimedia Tecnología Multimedia Profesor Coordinador: Manuel Castro Antonio Colmenar, UNED Profesores de la asignatura: Manuel Castro, UNED Lenguajes de Marcado Índice LENGUAJES DE MARCADO... 3 Lenguajes de marcado

Más detalles

Práctica 4 Manejo avanzado de Bison

Práctica 4 Manejo avanzado de Bison Práctica 4 Manejo avanzado de Bison Tareas 1. Estudia la información sobre trazas en el Capítulo 8 - Depurando Su Analizador del manual de Bison (bison-es-1.27.pdf). 2. Realiza el ejercicio propuesto.

Más detalles

EXTENSIÓN DE UML PARA APLICACIONES WEB

EXTENSIÓN DE UML PARA APLICACIONES WEB EXTENSIÓN DE UML PARA APLICACIONES WEB 1. Descripción Esta extensión de UML define un conjunto de estereotipos, valores etiquetados y restricciones que nos permiten modelar aplicaciones web. Los estereotipos

Más detalles

Presentacion de Declaraciones Juradas de Retenciones de Sellos. <Cuit> 20213569872 </Cuit> Etiqueta de Apertura

Presentacion de Declaraciones Juradas de Retenciones de Sellos. <Cuit> 20213569872 </Cuit> Etiqueta de Apertura Presentacion de Declaraciones Juradas de Retenciones de Sellos. 1 Consideraciones generales de XML. El XML (extensible Markup Lenguage - Lenguaje extensible de marcas) es un lenguaje abierto, derivado

Más detalles

CÓMO CREAR UNA PÁGINA WEB v.1

CÓMO CREAR UNA PÁGINA WEB v.1 CÓMO CREAR UNA PÁGINA WEB v.1 Índice 1 Introducción 1 2 Diseño gráfico 1 3 El lenguaje HTML 1 4 Alojamiento y publicación 2 5 Promoción 5 1 Introducción 2 Diseño gráfico Una página web es un espacio virtual

Más detalles

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA) PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA) El examen constará de 2 partes. Se evaluará sobre 10 puntos y representará el 60% de la nota final de la asignatura. Para que la calificación en esta prueba

Más detalles

Análisis y Diseño de Sistemas de

Análisis y Diseño de Sistemas de Análisis y Diseño de Sistemas de Información para Internet 1. Introducción a XML Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática

Más detalles

Formularios HTML. Elementos de Programación y Lógica

Formularios HTML. Elementos de Programación y Lógica Formularios HTML Elementos de Programación y Lógica Formularios HTML es un lenguaje de marcado cuyo propósito principal consiste en estructurar los contenidos de los documentos y páginas web. Sin embargo,

Más detalles

Generación de DTD para archivos XML utilizando una gramática visual relacional

Generación de DTD para archivos XML utilizando una gramática visual relacional P-161 Generación de DTD para archivos XML utilizando una gramática visual relacional Dr. Máximo López Sánchez I.S.C Sandra Luz García Orta Centro Nacional de Investigación y Desarrollo Tecnológico (cenidet)

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

XML y XQuery. Qué es XML? Qué es XML? (II) Ejemplo de fichero XML. Cuerpo de un documento XML. Estructura de un documento XML

XML y XQuery. Qué es XML? Qué es XML? (II) Ejemplo de fichero XML. Cuerpo de un documento XML. Estructura de un documento XML Qué es XML? XML y XQuery BDSI 2008/09 Rafael Caballero Conjunto de reglas para definir lenguajes de marcado específicos No se trata de un lenguaje, sino de un metalenguaje XML no es: HTML: : Lenguaje de

Más detalles

CAPAS O CONTENEDORES EN HTML. ETIQUETAS DIV Y SPAN. EJEMPLOS. MAQUETAR O DAR ESTRUCTURA A LAS PÁGINAS WEB. (CU00726B)

CAPAS O CONTENEDORES EN HTML. ETIQUETAS DIV Y SPAN. EJEMPLOS. MAQUETAR O DAR ESTRUCTURA A LAS PÁGINAS WEB. (CU00726B) APRENDERAPROGRAMAR.COM CAPAS O CONTENEDORES EN HTML. ETIQUETAS DIV Y SPAN. EJEMPLOS. MAQUETAR O DAR ESTRUCTURA A LAS PÁGINAS WEB. (CU00726B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML IES Pablo Serrano-ASIR1D/DAM1D-B.Soler Contenidos 1. Introducción 2. Quién ha creado? 3. Definición según W3C 4. Qué es? 5. Objetivos 6. Para qué sirve? 7. Con ya vale? 8. Tecnologías asociadas 9. Familia

Más detalles

extensible Markup Language

extensible Markup Language extensible Markup Language ISLN ISLN () XML 1 / 26 Librería LWP::Simple Bajarse el archivo de internet Para bajar archivos de internet se puede usar alguno de los módulos del CPAN http://search.cpan.org

Más detalles

Transformación de documentos : XSLT

Transformación de documentos : XSLT Transformación de documentos : XSLT XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cómo debería estar estructurado el contenido, cómo debería ser diseñado el contenido

Más detalles

Requisitos para la generación de Xml válido

Requisitos para la generación de Xml válido Requisitos para la generación de Xml válido Referencia: Categoría: AST_iBOA_RequisitosGeneracionXml.doc Público Compañía: Autor: Eurohelp Consulting D. Sancho Fecha de creación: 30 de julio de 2012 Última

Más detalles

Definición de XQuery.

Definición de XQuery. Definición de XQuery. Podemos definir XQuery con un símil en el que XQuery es a XML lo mismo que SQL es a las bases de datos relacionales. XQuery es un lenguaje de consulta diseñado para escribir consultas

Más detalles

XHTML. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/

XHTML. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ XHTML Sergio Luján Mora sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ 1 XHTML... 3 Introducción... 3 Ventajas... 4 Estructura de un documento XHTML correcto... 5 Diferencias con HTML 4... 6 Los documentos

Más detalles

Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por el W3C (http://www.w3.

Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por el W3C (http://www.w3. 2.1 El lenguaje XML Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por el W3C (http://www.w3.org) Es extensible: XML no impone un conjunto de tags,

Más detalles

XML. Necesitamos un formato de datos: Posibles usos. Estandard Robusto Extensible

XML. Necesitamos un formato de datos: Posibles usos. Estandard Robusto Extensible Motivación.- XML XML Necesitamos un formato de datos: Estandard Robusto Extensible Posibles usos Serialización de objetos Registros financieros Gráficos vectoriales RPC Etc. XML.- Ficheros Muchos programas

Más detalles

Tablas en HTML. Tipos de celdas. Ing. Tomás Urbina Programación Web y Desarrollo de la Plataforma Web

Tablas en HTML. Tipos de celdas. Ing. Tomás Urbina Programación Web y Desarrollo de la Plataforma Web Tablas en HTML Ing. Tomás Urbina Programación Web y Desarrollo de la Plataforma Web Una tabla HTML puede ser considerada de manera simple como un grupo de filas donde cada una de ellas contiene un grupo

Más detalles

Imágenes y objetos IMÁGENES

Imágenes y objetos IMÁGENES IMÁGENES Y OBJETOS Imágenes y objetos 2 IMÁGENES Uno de los elementos más vistosos e importantes de las páginas web. Su introducción puede explicar de manera más fácil y agradable nuestra información al

Más detalles

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web. Sesión 01: Introducción a los lenguajes web COMPUTACION E INFORMATICA WEB DEVELOPPER III Competencias a Conseguir: - Introducción general a la programación web. - Conocer y diferenciar el concepto de páginas

Más detalles

XSL: extensible Style Language. Anabel Fraga

XSL: extensible Style Language. Anabel Fraga XSL: extensible Style Language Anabel Fraga 1 Tabla de Contenidos La Familia XML Presentación en XML XSL XSLT Elementos XSL-FO Referencias 2 3 La Familia XML Presentación en XML La presentación en HTML

Más detalles

1º ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

1º ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED UT1: Introducción a los Lenguajes de Marcas 1º ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED Contenidos Definición y clasificación de lenguajes de marcas Tipos de lenguajes de marcas Evolución de los

Más detalles

Cursito 28: Curso de HTML Parte 4

Cursito 28: Curso de HTML Parte 4 Por Roxana Bassi rox@roxanabassi.com.ar / http://www.roxanabassi.com.ar Publicado en la sección los cuadernos de Internet World en la revista Internet World Latinoamérica en el período 1995-1999 Cursito

Más detalles

Práctica 2: Diseño Web inicial. XHTML avanzado.

Práctica 2: Diseño Web inicial. XHTML avanzado. Grado de Información y Documentación Curso 2011-2012 33864-Informática II Práctica 2: Diseño Web inicial. XHTML avanzado. 1. Introducción y objetivos Introducción En esta práctica el alumno tendrá un tema

Más detalles

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES INTRODUCCION El conjunto de herramientas de ayuda aportados por la Agencia Tributaria, para facilitar las obligaciones fiscales

Más detalles

TRABAJO PRACTICO Nº 1 Formateador de contenidos CSV

TRABAJO PRACTICO Nº 1 Formateador de contenidos CSV TRABAJO PRACTICO Nº 1 Formateador de contenidos CSV 1) Objetivo del T.P.: El objetivo de este TP consiste en confeccionar un aplicativo escrito en ANSI-C que permita dar un formato conveniente a un lote

Más detalles

Análisis de esquemas XML [1]

Análisis de esquemas XML [1] Análisis de esquemas XML [1] Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Resumen Un esquema XML describe la estructura de

Más detalles

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA PROGRAMA DE FORMACIÓN UNIDAD DE APRENDIZAJE ACTIVIDAD OBJETIVOS IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA OFIMATICA Y AUXILIAR DE SISTEMAS II-A GESTORES DE CONTENIDO INSTALACIÓN DE JOOMLA Y CREACIÓN DE

Más detalles

Tema 4 Metadatos. Eduardo Martínez Graciá Humberto Martínez Barberá

Tema 4 Metadatos. Eduardo Martínez Graciá Humberto Martínez Barberá Tema 4 Metadatos Eduardo Martínez Graciá Humberto Martínez Barberá Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia Metadatos Definición: datos sobre datos Fichero:

Más detalles

UF2217 Lenguaje XML (Online)

UF2217 Lenguaje XML (Online) TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES UF2217 Lenguaje XML (Online) Duración: 80 horas Precio: 0 * Modalidad: Online * hasta 100 % bonificable

Más detalles

Tema IV. XML V. APIs (DOM & SAX)

Tema IV. XML V. APIs (DOM & SAX) Tema IV. XML V. APIs (DOM & SAX) Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.DOM i. Introducción ii. Interfaces y Clases iii.ejemplos 3.SAX i. Introducción ii. Interfaces

Más detalles

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B) APRENDERAPROGRAMAR.COM RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

ANEXO 1 INFORMACIÓN SOBRE XML ENLACES SITIOS DE INTERES HERRAMIENTAS EDITORES, ETC

ANEXO 1 INFORMACIÓN SOBRE XML ENLACES SITIOS DE INTERES HERRAMIENTAS EDITORES, ETC ANEXO 1 INFORMACIÓN SOBRE XML ENLACES SITIOS DE INTERES HERRAMIENTAS EDITORES, ETC ANEXOS VISUALIZADORES Y PROCESADORES Amaya (en inglés) Visualizador oficial de W3C http://www.w3c.org/amaya/ DocZilla

Más detalles

INYECCIóN DE CóDIGO EN APLICACIONES PHP. Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net)

INYECCIóN DE CóDIGO EN APLICACIONES PHP. Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net) INYECCIóN DE CóDIGO EN APLICACIONES PHP Autor: Iñaki Rodriguez (2005) (mra@euskalnet.net) 0 - Introducción Este sencillo artículo nos introduce un poco en el mundo de las auditorías de aplicaciones web.

Más detalles

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7 PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7 En esta práctica veremos cómo aplicar transformaciones XSLT a documentos XML. Esta tecnología nos permite hacer algo similar a lo que ya hicimos en

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

Trabajo Practico Tema: XML

Trabajo Practico Tema: XML 1. Diseñar un esquema XML para crear documentos para un préstamo. a. En cada documento se indicarán: 1. El nombre y apellidos del bibliotecario 2. Fecha del préstamo y de devolución 3. Datos del lector

Más detalles

PASOS PARA CREAR UNA PÁGINA WEB

PASOS PARA CREAR UNA PÁGINA WEB http://www.rafatux.com PASOS PARA CREAR UNA PÁGINA WEB Con éste documento trato de orientar de una forma genérica los distintos pasos que deben de realizarse para crear una página web. PRIMER PASO: Estructura

Más detalles

Lenguajes de Marcas y Sistemas Gestores de Información

Lenguajes de Marcas y Sistemas Gestores de Información Ciclo Formativo de Grado Superior en Administración y de Sistemas Informáticos en Red IES Valle del Cidacos Calahorra Lenguajes de Marcas y Sistemas Gestores de Información Enrique Rivas Marco Usted es

Más detalles

Estructuras de Datos y Algoritmos. Árboles de Expresión

Estructuras de Datos y Algoritmos. Árboles de Expresión Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software UNIVERSIDAD POLITECNICA DE MADRID Facultad de Informática Departamento de Lenguajes y Sistemas Informáticos e Ingeniería de Software Resumen del Trabajo tutelado: Los requisitos de accesibilidad en un

Más detalles

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.

Más detalles