1. Prefacio 3 2. XML: el lenguaje de intercambio de datos Bibliografía 27

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

Download "1. Prefacio 3 2. XML: el lenguaje de intercambio de datos 4. 3. Bibliografía 27"

Transcripción

1 DEPARTAMENTO DE INGENIERÍA INFORMÁTICA (DII): IT4128: GESTIÓN DE SISTEMAS EN INTERNET 3. XML Autor: Justo N. Hidalgo Sanz

2 Contenido 1. Prefacio 3 2. XML: el lenguaje de intercambio de datos Etiquetas y elementos Atributos Etiquetas vacías Comentarios El XML Prolog Importancia de XML Posibles usos de XML DTD (Document Type Definition) XMLSchema Especificaciones relacionadas con XML APIs para la utilización de XML en aplicaciones Java APIs JAXP Bibliografía 27

3 1. Prefacio Todo el mundo conoce internet, o al menos ha oído hablar de esta red de redes que ha revolucionado el concepto de globalidad (para bien y para mal). Nos encontramos en una época en la que la información es el recurso más búscado y más útil a la hora de realizar negocios y transacciones. Internet es el repositorio definitivo de todos esos datos. Sin embargo, la utilización sofisticada de internet aún no ha llegado a la mayoría de las empresas. Nuevas herramientas y plataformas han ido surgiendo en los últimos dos años intentando conseguir un desarrollo rápido de aplicaciones, que, a la vez, sean eficientes y útiles para los usuarios finales. En esta asignatura vamos a aprender algunas de las técnicas de creación de audience sites, es decir, portales o sitios web cuya infraestructura requiere algo más que unas cuantas líneas de código y un servidor web. Nos centraremos en el mundo de las aplicaciones de empresa, particularmente alrededor de los contenedores web y servidores de aplicaciones. No es una asignatura histórica o de referencia, sino que contaremos lo que se utiliza ahora mismo, y las tendencias del mercado. Existe tanta heterogeneidad de opciones que nos hemos tenido que decantar por un tipo de solución, que actualmente es líder del mercado: Java J2EE (Java 2 Enterprise Edition). El capítulo 1 nos introducirá en este mundo a través los conceptos básicos de la programación en internet. El segundo capítulo estudia en detalle uno de los pilares actuales de internet: XML (extensible Markup Language). El capítulo 3 se centra en el paradigma central de las aplicaciones cliente/servidor internet en Java: servlets. El capítulo 4 nos permite dar un paso más allá: JSPs (Java Server Pages). En el capítulo 5 descubriremos que tanto los servlets como JSPs como incluso XML forman parte de un plan más amplio, denominado J2EE. Por último, en el capítulo quinto esbozaremos la tendencia del sector hacia lo que se denominan servicios web, mediante las tecnologías SOAP (Simple Object Access Protocolo), UDDI (Universal Description, Discovery and Integration) y WSDL (Web Services Description Language). Este corto e intenso camino nos permitirá construir una aplicación web al estilo de lo que se realiza actualmente. Para conseguir una mayor comprensión, en la asignatura también se requiere la realización de tres prácticas de programación en las que el alumnos tendrá la oportunidad de sumergirse en tres elementos básicos de la programación de aplicaciones web en Java: http, XML, y Servlets y JSPs en J2EE. También, para aquellos alumnos que estén interesados en profundizar en temas que antes del comienzo de la asignatura les atraían, se propondrán una serie de trabajos optativos, sobre, por ejemplo: HTTP1.1,.NET, WAP (en GSM, GPRS, UMTS), TV-interactiva (estándares y empresas), comunicaciones inalámbricas en entornos locales (BlueTooth, etc.), programación en entornos empotrados, etc. Los trabajos deberán constar de: - Trabajo escrito. - Presentación. - Demo práctica (cuyo nivel será determinado por el trabajo en sí). La realización de estas prácticas implica un conocimiento de técnicas de orientación a objetos, y del lenguaje de programación Java, que NO se explicarán en clase. Disclaimer: este documento, y en general todos los capítulos que conforman la documentación detallada de la asignatura IT4128:Gestión de Sistemas en Internet no pretende ser un trabajo totalmente original del autor, sino que comprende ideas, conceptos, ejemplos tanto suyos como de otros autores ampliamente conocidos, y que se relatan en la Bibliografía. Si alguno de los autores o representantes se siente disconforme con la información aquí aportada, póngase en contacto con jhidalgo@nebrija.es

4 Pág: 4 de XML: el lenguaje de intercambio de datos El lenguaje de marcado extensible (extensible Markup Language) se ha convertido en el estándar de intercambio de datos en la web. Al igual que en otros lenguajes de marcado, como HTML, se utilizan etiquetas (etiqueta: texto que identifica una unidad de datos o elemento en XML). De manera colectiva, las etiquetas se conocen como markup. 2.1 Etiquetas y elementos La diferencia fundamental con el otro gran lenguaje de marcado (HTML), es que XML utiliza las etiquetas para identificar los datos, mientras que HTML las utiliza para saber cómo mostrarlas: HTML: <b>avisa a Pedro de que Heidi no volverá jamás</b> XML: <message>avisa a Pedro de que Heidi no volverá jamás</message> Las etiquetas pueden estar contenidas unas en otras: <message> <to>you@youraddress.com</to> <from>me@myaddress.com</from> <subject>xml Is Really Cool</subject> <text> How many ways is XML cool? Let me count the ways... </text> </message>

5 Pág: 5 de Atributos Los elementos pueden contener atributos (attributes), información adicional que se almacena en el propio elemento: <message to="you@youraddress.com from="me@myaddress.com" subject= XML Is Really Cool"> <text> How many ways is XML cool? Let me count the ways... </text> </message> Más tarde veremos cuándo deberemos utilizar atributos, y cuándo elementos, aunque, como siempre, es parte de las elecciones que ha de tomar un diseñador en un momento dado.

6 Pág: 6 de Etiquetas vacías En XML es obligatorio que el documento esté bien formado. En HTML estamos acostumbrados a utilizar la etiqueta de comienzo de párrafo <p>, pero que casi nunca cerramos, y los navegadores lo admiten. En XML eso sería un error. Lo que sí se admite es que una etiqueta no albergue más información que la que ella misma o sus atributos muestran. Por ejemplo, un flag que indique un hito en el documento. En principio podríamos (y podemos) escribirlo de esta manera: <message to="you@youraddress.com" from="me@myaddress.com" subject="xml Is Really Cool"> <flag></flag> <text> How many ways is XML cool? Let me count the ways... </text> </message>, pero también podemos escribirlo de esta manera: <message to="you@youraddress.com" from="me@myaddress.com" subject="xml Is Really Cool"> <flag/> <text> How many ways is XML cool? Let me count the ways... </text> </message> 2.4 Comentarios <! Esto es un comentario en XML

7 Pág: 7 de El XML Prolog Todo fichero XML ha de comenzar con un prólogo. Como mínimo contendrá una declaración que identifica el documento como un documento XML: <?xml version="1.0"?> Puede contener información adicional: <?xml version="1.0" encoding="iso " standalone="yes"?> - version: del lenguaje de marcado XML que se utiliza. Es el único obligatorio. - Encoding: conjunto de caracteres utilizado: o ISO : es Latin-1 utilizado en Europa Occidental y en Inglés. o UTF-8: Unicode. Por defecto. - Standalone: establece si este documento referencia a alguna entidad o especificación de tipos de datos externamente (veremos más adelante) Tras el prolog también se suele indicar el DTD (Document Type Definition) del que hace uso este documento XML. También lo veremos más adelante, pero es importante comprender desde el principio su necesidad. Al igual que cuando dos aplicaciones se intercambian mensajes a través de un socket, ambas partes necesitan comprender y aceptar la estructura del mensaje intercambiado, un fichero XML que es compartido por diferentes aplicaciones necesita tener una estructura explícita que conozcan todas las partes. Para evitar que un documento XML añada elementos incomprensibles, se establece un DTD: metadatos acerca de los datos XML, o, de otra manera, establece la estructura que ese documento puede tener. Actualmente existe otro sistema de metadatos denominado XMLSchema, más potente que DTD. Con esto hemos echado un primer vistazo a XML. Sin embargo, seguramente no nos habrá quedado claro todavía por qué se ha convertido en un estándar de facto de la industria en internet.

8 Pág: 8 de Importancia de XML - Texto plano o XML no tiene un formato binario, por lo que puede ser editado con cualquier bloc de notas. Permite almacenar fácilmente desde pequeñas cantidades de información hasta grandes cantidades (siendo, por ejemplo, un front-end de una base de datos relacional). o Por otra parte, el no tener un formato binario dificulta su utilización en los nuevos entornos empotrados. - Identificación de datos: o Volvemos a repetir: XML utiliza etiquetas para identificar los datos, no para saber cómo mostrarlos. De esta manera, las aplicaciones que procesan estos datos tienen cierta información semántica de lo que cada dato significa. - Muestra de información: o Pero a veces es importante mostrar la información. Para ello existe XSL (extensible Stylesheet Language), que utiliza las etiquetas XML para mostrarlas de cierta manera (por ejemplo, para una etiqueta <to>: crea una nueva línea, muestra To: en negrita, muestra los datos). o Es importante comprender que, como el documento XML es independiente de la presentación XSL, el primero puede tener diferentes XSLs, dependiendo del caso (no como en HTML). - Modularidad: o Las entidades que componen un documento XML pueden residir en diferentes documentos, luego pueden ser reutilizados, lo cuál es importante en un lenguaje que desea ser el nexo entre diferentes aplicaciones. - Fácil procesamiento: o Esto es sencillamente debido a que XML es un lenguaje bien formado, que no admite inconsistencias ni vaguedades. - Estructura jerárquica: o Esta estructura facilita el procesamiento y búsqueda de información.

9 Pág: 9 de Posibles usos de XML - Procesamiento tradicional de datos o Quizá lo más fuerte actualmente: el intercambio de datos XML entre módulos de una misma aplicación o entre distintas aplicaciones (base del EAI: Enterprise Application Integration). o Para ello es necesaria una fuerte estandarización de cuáles son las entidades y elementos que se van a intercambiar (p.e. estándar para compartición de información entre clientes de correo electrónico). - Programación basada en documentos (document-driven programming) o Una nueva aproximación a XML es su utilización para describir cómo debe aparecer una página de aplicación, es decir, el documento XML no se utiliza para mostrar información, sino que contiene referencias a tanto componentes de interfaz gráfica como a componentes de la lógica de negocio, y la manera de engancharlos para crear una aplicación directamente. o Esto no es fácil y aunque J2EE mediante sus JavaBeans ya permite algo parecido, todavía queda trabajo para obtenerlo al 100%. - Binding o - Archivado o La utilización de un esquema (ya sea DTD, XMLSchema o cualquier otro) para la definición de un fichero XML permite conocer ya parte de la estructura final (p.e. si sabemos que el elemento <date> es obligatorio y que tendrá un determinado formato). Esto ofrece la posibilidad de que se pueda generar código automáticamente, de manera que el desarrollador de la aplicación que se ha basado en XML sólo tenga que preocuparse del código que es único a su aplicación. El archivado consiste en que las clases que se utilizan en una aplicación almacenen su estado en ficheros XML. Esas clases se pueden archivar o serializar posteriormente en formato binario, pero como su estado se mantiene en esos ficheros XML (que al fin y al cabo son ficheros de texto), podrían ser fácilmente reutilizados (si una aplicación requiere utilizar uno de esas clases, pero necesita configurar algo, sólo deberá tocar el fichero XML asociado, modificando algunos de sus atributos).

10 Pág: 10 de DTD (Document Type Definition) Los cuatro usos que acabamos de ver requieren de XML una estructura estandarizada que permita su utilización por parte de diferentes aplicaciones. En este capítulo estudiaremos cómo utilizar DTD para generar un fichero XML correcto y completo Referencia de un DTD en un documento XML. Después de la declaración XML, el prolog puede contener un DTD, o un enlace a un DTD, que permite especifiar qué tipos de etiquetas y de qué maneras se pueden insertar en el documento XML. De esta manera, se añade un nuevo concepto, que es el de validación. Los parses XML comprobarán mediante su DTD asociado que cumple todas las restricciones y que es, por tanto, válido : <!DOCTYPE slideshow SYSTEM "slideshow.dtd"> <slideshow Ejemplo de DTD <!ELEMENT PHONE_RECORDS ( CALL)* > <!-- <!ELEMENT PHONE_RECORDS (CALL)+> <!ELEMENT CALL ( FROM, DATE, TIME, DESTINATION, DURATION, CALL_PROMOTION?)> <!ELEMENT FROM ( #PCDATA ) > <!ELEMENT DATE ( #PCDATA ) > <!ELEMENT TIME EMPTY > <!ATTLIST TIME HOUR NMTOKEN #REQUIRED MINUTE NMTOKEN #REQUIRED > <!ELEMENT DESTINATION ( #PCDATA ) > <!ATTLIST DESTINATION CITY NMTOKEN #REQUIRED COUNTRY NMTOKEN #REQUIRED STATE NMTOKEN #IMPLIED > <!ELEMENT DURATION EMPTY > <!ATTLIST DURATION HOURS NMTOKEN #REQUIRED MINUTES NMTOKEN #REQUIRED > <!ELEMENT CALL_PROMOTION ( #PCDATA ) > Este DTD permite la construcción de documentos XML que almacenen llamadas. De esta manera, un posible documento XML generado podría ser: <?xml version="1.0"?> <!DOCTYPE PHONE_RECORDS SYSTEM "calls.dtd"> <PHONE_RECORDS> <!-- Call Record 1 --> <CALL> <FROM> </FROM> <DATE>5/5/2000</DATE> <TIME HOUR="19" MINUTE="32"/> <DESTINATION STATE="California" CITY="Sunnyvale" COUNTRY="US"> </DESTINATION> <DURATION HOURS="1" MINUTES="15"/> </CALL> <!-- Call Record 2 --> <CALL>

11 Pág: 11 de 27 <FROM> </FROM> <DATE>5/15/2000</DATE> <TIME HOUR="20" MINUTE="15"/> <DESTINATION CITY="Birmingham" COUNTRY="UK"> </DESTINATION> <DURATION HOURS="0" MINUTES="30"/> <CALL_PROMOTION>HALF_PRICE</CALL_PROMOTION> </CALL> <!-- <CALL> <FROM> </FROM> <DATE>8/3/2000</DATE> <TIME HOUR="21" MINUTE="32"/> <DESTINATION CITY="FairFax" COUNTRY="US"> </DESTINATION> <DURATION HOURS="0" MINUTES="12"/> </CALL> <CALL> <FROM> </FROM> <DATE>9/15/2000</DATE> <TIME HOUR="13" MINUTE="23"/> <DESTINATION CITY="WesternIsles" COUNTRY="UK"> </DESTINATION> <DURATION HOURS="1" MINUTES="2"/> </CALL> --> </PHONE_RECORDS> Como se ha podido observar existen diferentes cualificadores que se pueden añadir a la definición de un elemento: Cualificador Nombre Descripción? Interrogación Opcional (0 ó 1) * Asterisco 0 ó más. + Suma 1 ó más Se pueden utilizar paréntesis para agrupar varios elementos en un cualificador, por ejemplo: ((image, title)+) está emparejando una imagen con un título. Otro ejemplo es el siguiente: <!ELEMENT slideshow (slide+)> <!ELEMENT slide (title, item*)> <!ELEMENT title (#PCDATA)> <!ELEMENT item (#PCDATA item)* > Nos encontramos con un nuevo elemento aquí: Mixed-content model Cuando se especifica un #PCDATA seguido de un signo OR y de uno o más elementos, todo ello con un cualificador *, se especifica que un elemento contiene una mezcla de texto (PCDATA) y varios elementos Limitaciones del DTD Variaciones del mixed-content model Son imposibles de hacer. Si, por ejemplo se desease que un ítem contuviese o texto, o texto seguido de uno o más ítems, podríamos escribir: <!ELEMENT item (#PCDATA (#PCDATA, item+)) >

12 Pág: 12 de 27 Pero cuando el parser se encuentra con el primer PCDATA y el signo OR, inmediatamente lo asocia a un modelo mixed-content, que después no se cumple: error. Tampoco podemos escribir: <!ELEMENT item (#PCDATA) > <!ELEMENT item (#PCDATA, item+) >, pues se considera una doble definición, lo cuál no está permitido Cualificación de la información almacenada en el texto Es imposible definir que un texto contenga sólo números, o un patrón determinado. Esas comprobaciones han de ser vía software Jerarquía El DTD, al contrario que XML, no está jerarquizado, ni, obviamente, es orientado a objetos Elementos especiales en un DTD ANY El elemento puede contener cualquier otro elemento definido, o PCDATA EMPTY El elemento no tiene contenidos. Útil cuando sólo se quiere transmitir que ese elemento existe, o cuando la información se almacena en los atributos del elemento: <!ELEMENT flag EMPTY> Tipos de atributos en un elemento de un DTD Atributo Especificación (value1 value2...) Lista de valores separados por barras verticales CDATA Unparsed characted data ID Un nombre que ningún otro atributo ID comparte. IDREF Referencia a un ID definido en otra parte del documento. IDREFS Lista separada por espacios que contiene una o más referencias a ID. ENTITY Nombre de una entidad (ver más adelante) definida en el DTD. ENTITIES Lista de entidades separada por espacios NMTOKEN Nombre válido XML compuesto de letras, números, -, _ y :. NMTOKENS Lista de NMTOKENs. NOTATION Nombre de una notación DTD que describe un formato de datos no-xml (p.e. ficheros de imágenes). En desuso Tipos de valores por defecto de los atributos Especificación Especifica... #REQUIRED El valor del atributo ha de estar especificado en el documento. #IMPLIED La aplicación tiene un valor por defecto para ese atributo si no se especifica en el documento. valor por defecto El valor por defecto a utilizar si no se especifica en el documento. #FIXED valor Valor a utilizar. Si se especifica alguno en el documento, ha de ser este Definición de Entidades en un documento DTD La mejor manera de entender qué es una entidad es mediante un ejemplo:

13 Pág: 13 de 27 <?xml version='1.0' encoding='utf-8'?> <!-- A SAMPLE set of slides --> <!DOCTYPE slideshow SYSTEM "slideshow1b.dtd" [ <!ENTITY product "WonderWidget"> <!ENTITY products "WonderWidgets"> ]> <!-- SUBSTITUTIONS WORK IN ATTRIBUTES, TOO --> <slideshow title="&product; Slide Show" date="date of publication" author="yours Truly" > <!-- TITLE SLIDE --> <slide type="all"> <title>wake up to &products;!</title> </slide> <!-- OVERVIEW --> <slide type="all"> <title>overview</title> <item>why <em>&products;</em> are great</item> <item/> <item>who <em>buys</em> &products;</item> </slide> </slideshow> Algunas entidades útiles que se pueden utilizar son las siguientes: <!ENTITY ldquo "&#147;"> <!-- Left Double Quote --> <!ENTITY rdquo "&#148;"> <!-- Right Double Quote --> <!ENTITY trade "&#153;"> <!-- Trademark Symbol (TM) --> <!ENTITY rtrade " "> <!-- Registered Trademark (R) --> <!ENTITY copyr " "> <!-- Copyright Symbol --> Referencia de entidades externas <!DOCTYPE slideshow SYSTEM "slideshow.dtd" [ <!ENTITY product "WonderWidget"> <!ENTITY products "WonderWidgets"> <!ENTITY copyright SYSTEM "copyright.xml"> ]> El fichero copyright.xml puede contener algo como esto: <!-- A SAMPLE copyright --> This is the standard copyright message that our lawyers make us put everywhere so we don't have to shell out a million bucks every time someone spills hot coffee in their lap..., así, podemos añadir en el fichero XML: <!-- COPYRIGHT SLIDE --> <slide type="all">

14 Pág: 14 de 27 <item>&copyright;</item> </slide>

15 Pág: 15 de Ejemplo: ajedrez <!ELEMENT CHESSBOARD (WHITEPIECES, BLACKPIECES)> <!ENTITY % pieces "KING, QUEEN?, BISHOP?, BISHOP?, ROOK?, ROOK?, KNIGHT?, KNIGHT?, PAWN?, PAWN?, PAWN?, PAWN?, PAWN?, PAWN?, PAWN?, PAWN?" > <!ELEMENT WHITEPIECES (%pieces;)> <!ELEMENT BLACKPIECES (%pieces;)> <!ELEMENT POSITION EMPTY> <!ATTLIST POSITION COLUMN (A B C D E F G H) #REQUIRED ROW ( ) #REQUIRED > <!ELEMENT KING (POSITION)> <!ELEMENT QUEEN (POSITION)> <!ELEMENT BISHOP (POSITION)> <!ELEMENT ROOK (POSITION)> <!ELEMENT KNIGHT (POSITION)> <!ELEMENT PAWN (POSITION)> Qué nos dice el DTD Un Rey por color ha de estar presente en el tablero. Cero ó una reina por color De cero a dos alfiles por color De cero a dos torres por color De cero a ocho peones por color Una pieza debe estar en una de las columnas A a H Un pieza debe estar en una de las filas 1 a 8. Sin embargo, el esquema no evita que dos piezas puedan compartir la misma posición.

16 Pág: 16 de XMLSchema DTD no es un gran sistema de generación de ficheros XML: No es orientado a objetos. No permite redefinición de elementos. Pobre en cuanto a definición de datos, rangos y restricciones. XMLSchema es un sistema más complejo. Usan sintaxis de XML, al contrario que los DTDs. Permiten especificar los tipos de datos. Son extensibles Ejemplo Tenemos el siguiente XML: <?xml version="1.0" encoding="utf-8"?> <book isbn=" "> <title> Being a Dog Is a Full-Time Job </title> <author>charles M. Schulz</author> <character> <name>snoopy</name> <friend-of>peppermint Patty</friend-of> <since> </since> <qualification> extroverted beagle </qualification> </character> <character> <name>peppermint Patty</name> <since> </since> <qualification>bold, brash and tomboyish</qualification> </character> </book> Nuestra intención es determinar la estructura válida de este XML mediante XMLSchema, en lugar de con DTD: Opción A: sencilla <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="book"> <xs:complextype> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="character" minoccurs="0" maxoccurs="unbounded">

17 Pág: 17 de 27 <xs:complextype> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:complextype> </xs:element> </xs:schema>

18 Pág: 18 de Opción B: creación de elementos complejos <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <!-- definition of simple type elements --> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> <!-- definition of attributes --> <xs:attribute name="isbn" type="xs:string"/> <!-- definition of complex type elements --> <xs:element name="character"> <xs:complextype> <xs:sequence> <xs:element ref="name"/> <xs:element ref="friend-of" minoccurs="0" maxoccurs="unbounded"/> <xs:element ref="since"/> <xs:element ref="qualification"/> <!-- the simple type elements are referenced using the "ref" attribute --> <!-- the definition of the cardinality is done when the elements are referenced --> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="book"> <xs:complextype> <xs:sequence> <xs:element ref="title"/> <xs:element ref="author"/> <xs:element ref="character" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute ref="isbn"/> </xs:complextype> </xs:element> </xs:schema>

19 Pág: 19 de Opción C: creación de tipos <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <!-- definition of simple types --> <xs:simpletype name="nametype"> <xs:restriction base="xs:string"> <xs:maxlength value="32"/> </xs:restriction> </xs:simpletype> <xs:simpletype name="sincetype"> <xs:restriction base="xs:date"/> </xs:simpletype> <xs:simpletype name="desctype"> <xs:restriction base="xs:string"/> </xs:simpletype> <xs:simpletype name="isbntype"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{10}"/> </xs:restriction> </xs:simpletype> <!-- definition of complex types --> <xs:complextype name="charactertype"> <xs:sequence> <xs:element name="name" type="nametype"/> <xs:element name="friend-of" type="nametype" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="since" type="sincetype"/> <xs:element name="qualification" type="desctype"/> </xs:sequence> </xs:complextype> <!-- Reference to "booktype" to define the "book" element --> <xs:element name="book" type="booktype"/> </xs:schema> <xs:complextype name="booktype"> <xs:sequence> <xs:element name="title" type="nametype"/> <xs:element name="author" type="nametype"/> <xs:element name="character" type="charactertype" minoccurs="0"/> <!-- the definition of the "character" element is using the "charactertype" complex type --> </xs:sequence> <xs:attribute name="isbn" type="isbntype" use="required"/> </xs:complextype>

20 Pág: 20 de Creación de Grupos <!-- definition of an element group --> <xs:group name="mainbookelements"> <xs:sequence> <xs:element name="title" type="nametype"/> <xs:element name="author" type="nametype"/> </xs:sequence> </xs:group> <!-- definition of an attribute group --> <xs:attributegroup name="bookattributes"> <xs:attribute name="isbn" type="isbntype" use="required"/> <xs:attribute name="available" type="xs:string"/> </xs:attributegroup> <xs:complextype name="booktype"> <xs:sequence> <xs:group ref="mainbookelements"/> <xs:element name="character" type="charactertype" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> <xs:attributegroup ref="bookattributes"/> </xs:complextype>

21 Pág: 21 de Otros Compositors Choice <xs:group name="nametypes"> </xs:group> <xs:choice> </xs:choice> <xs:element name="name" type="xs:string"/> <xs:sequence> </xs:sequence> <xs:element name="firstname type="xs:string"/> <xs:element name="middlename type="xs:string" minoccurs="0"/> <xs:element name="lastname" type="xs:string"/> All <xs:complextype name="booktype"> <xs:all> <xs:element name="title type="xs:string"/> <xs:element name="author type="xs:string"/> <xs:element name="character" type="charactertype" minoccurs="0" maxoccurs="unbounded"/> </xs:all> <xs:attribute name="isbn type="isbntype use="required"/> </xs:complextype> Restricciones: Sólo puede aparece como hijo único en el root del modelo de contenidos. Sus hijos sólo pueden ser definiciones xs:element o referencias. No pueden tener cardinalidad mayor que uno Derivación de tipos simples <xs:simpletype name="isbntype"> <xs:union> <xs:simpletype>

22 Pág: 22 de 27 <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{10}"/> </xs:restriction> </xs:simpletype>... <xs:simpletype> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="tbd"/> <xs:enumeration value="na"/> </xs:restriction> </xs:simpletype> </xs:union> </xs:simpletype> Ejemplo: ajedrez Cómo modelaríamos el mismo ejemplo que en el caso del DTD, pero con XMLSchema? <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="chessboard"> <xsd:complextype> <xsd:sequence> <xsd:element name="whitepieces" type="pieces" /> <xsd:element name="blackpieces" type="pieces" /> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:complextype name="pieces"> <xsd:sequence> <xsd:element name="king" type="piece" minoccurs='1' maxoccurs='1'/> <xsd:element name="queen" type="piece" minoccurs='0' maxoccurs='1'/> <xsd:element name="bishop" type="piece" minoccurs='0' maxoccurs='2'/> <xsd:element name="rook" type="piece" minoccurs='0' maxoccurs='2'/> <xsd:element name="knight" type="piece" minoccurs='0' maxoccurs='2'/> <xsd:element name="pawn" type="piece"

23 Pág: 23 de 27 minoccurs='0' maxoccurs='8'/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="piece"> <xsd:sequence> <xsd:element name="position" minoccurs='1' maxoccurs='1'> <xsd:complextype> <xsd:attribute name="column" use='required'> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-h]"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> <xsd:attribute name="row" use='required'> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:mininclusive value="1"/> <xsd:maxinclusive value="8"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> Este esquema cumple las mismas restricciones que el DTD, pero mediante rangos y patrones, lo cuál lo convierte en mucho más potente.

24 Pág: 24 de Especificaciones relacionadas con XML XML no es sólo un lenguaje. Existe mucho acrónimo relacionado, que hay que conocer Estándares básicos - SAX (Simple API for XML). También conocido como serial access protocol permite leer documentos XML de manera rápida y serializada. Es orientado a eventos, ya que el modo de funcionamiento es registrar un handler en un SAX parser, que invoca nuestros métodos callback cada vez que encuentra una nueva etiqueta XML (o cualquier otra cosa). - DOM (Document Object Model): convierte un documento XML en un conjunto de objetos, para poder manipularlo como un árbol. Los datos se pueden modificar, añadir, eliminar, etc. - DTD: ya conocido. - Namespaces: permite escribir un documento XML que utiliza dos o más conjuntos de etiquetas XML de manera modular. De esta manera se pueden utilizar nombres que aparecen en dos definiciones diferentes sin que exista conflicto. - XSL (extensible Stylesheet Language): ya conocido. - XSLT (XLS for Transformations): permite convertir un fichero XML en otro formato (p.e. HTML). - XMLSchema: ya hemos visto las limitaciones que tienen los DTDs. XMLSchema, aunque bastante más complejo, permite definir cualquier estructura que podamos imaginar. Se componen de dos partes: o XMLSchema (structures): especifica relaciones. o XMLSchema (datatypes): mecanismos de validación de los elementos XML Otros estándares - Linking: o Xlink o XML Base o Xpointer - XHTML: documentos XML que actúan como docs HTML, es decir, define un conjunto de etiquetas como las de HTML pero bien formadas.

25 Pág: 25 de APIs para la utilización de XML en aplicaciones Java Las APIs existentes actualmente (aunque el ritmo es vertiginoso: esta misma asignatura hace un año tan sólo podía contar con un API): - JAXP: Java API for XML Parsing. El centro de todos los demás, y el que se utilizará en las prácticas de la asignatura. Provee una interfaz común para la utilización de SAX y DOM. - JAXB: Java Architecture for XML Binding. Mecanismo de serialización entre Java y XML (marshalling y unmarshalling). - JDOM (Java DOM). DOM no siempre es fácil de utilizar. JDOM facilita la tarea mediante la creación de objetos de más alto nivel. - DOM4J: otra alternativa a DOM. - JAXM: Java API for XML Messaging. Mecanismo de intercambio de mensajes asíncronos basados en XML entre aplicaciones. - JAX-RPC: Java API for XML-based Remote Process Communications. Mecanismo de intercambio de mensajes síncronos basados en XML entre aplicaciones. - JAXR: Java API for XML Registries. Mecanismo de publicación de servicios disponibles en un registro externo, y de consulta de esos servicios.

26 Pág: 26 de APIs JAXP Paquetes principales - javax.xml.parsers: API central, provee una interfaz común para los diferentes vendedores de parsers SAX y DOM. - Org.w3c.dom: define la clase Document (un DOM) y otros elementos del DOM. - Org.xml.sax: define las APIs básicas de SAX. - Javax.xml.transform: no lo veremos aquí, pero existe. APIs del XSLT APIs SAX Es un mecanismo basado en eventos que realiza un procesado elemento a elemento. De esta manera, es mucho más rápido aunque impide un acceso aleatorio a los elementos APIs DOM Es un mecanismo que crea una familia de objetos Java en memoria que representa la colección de elementos de un documento XML. Permite un acceso aleatorio a estos elementos, pero al requerir que todos estén en memoria, es mucho más pesado.

27 Pág: 27 de Bibliografía J2EE1.3.1 G. Coulouris, J. Dollimore, T. Kindberg. Sistemas Operativos Distribuidos, Tercera Edición. Addison-Wesley. A. Tanenbaum. Distributed Operating Systems. Prentice Hall R. Orfali, D. Harkey. Client/Server Survival Guide, 2 nd. Edition. Van Nostrand Reinhold. R. Orfali, D. Harkey. Client/Server Programming with Java and CORBA, 2 nd. Edition. Van Nostrand Reinhold. W. Keith Edwards. Core JINI. Prentice Hall. M. Henning, S. Vinoski. Advanced CORBA Programming with C++, 1 st. Edition. Addison-Wesley, Q. H. Mahmoud. Distributed Programming with Java, 1 st. Edition. Manning. M.E. Fayad, D.C. Schmidt, R. E. Johnson. Building Application Frameworks (Object-Oriented Foundations of Framework Design). Ed. Wiley, A. Silberschatz, J. Peterson, P. Galvin. Operating System Concepts, 4 th. Edition. Addison-Wesley.

PROGRAMACIÓN DE ASIGNATURA

PROGRAMACIÓN DE ASIGNATURA AT4118 SISTEMAS OPERATIVOS DISTRIBUIDOS D. VICENTE ORJALES / D. JUSTO N. HIDALGO CURSO: 2003 / 2004 ASIGNATURA: PROFESORES: CUATRIMESTRE: DEPARTAMENTO: ÁREA: GRUPOS: PLAN / CRÉDITOS: PROGRAMACIÓN DE ASIGNATURA

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

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

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. 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

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

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

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

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

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

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

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

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

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

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

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

5.1 Introducción a Servicios Web

5.1 Introducción a Servicios Web 5.1 Introducción a Servicios Web Introducción Continuando con el ejemplo de intercambio de información de películas... => Actualmente ya no es necesario implementar la solución sugerida a mano Se han estandarizado

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

Índice general de materias LECCIÓN 7 74

Índice general de materias LECCIÓN 7 74 Índice general de materias LECCIÓN 7 74 BUSCAR 74 BUSCAR CON FORMATO 77 REEMPLAZAR 78 REEMPLAZAR CON FORMATO 79 NOTAS AL PIE DE PÁGINA 79 CONFIGURAR LAS NOTAS 81 INSERTAR NOTAS AL PIE 83 MODIFICAR NOTAS

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

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

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

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

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005 Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005 1. Acerca de este documento Este documento describe el servicio de estadísticas del que actualmente disfrutan algunas de las páginas

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

El proceso de edición digital en Artelope y CTCE

El proceso de edición digital en Artelope y CTCE El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos

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

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid C/ Santa María Magdalena 16, 28016 Madrid Bandeja de Entrada Autor: S.G.A.A. Fecha: 24/03/2011 Versión: 0.4 Revisiones Edi. Rev. Fecha Descripción A(*) Páginas 0 1 02/02/2007 Versión inicial A Todas (*)

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

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

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

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid.

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, 28016 Madrid. C/ Santa María Magdalena 16, 28016 Madrid Calculadora Autor: S.G.A.A. Fecha: 24/06/2010 Versión: 0.4 Revisiones Edi. Rev. Fecha Descripción A(*) Páginas 0 1 02/02/2007 Versión inicial A Todas (*) Acción:

Más detalles

Manual de OpenOffice Impress

Manual de OpenOffice Impress Manual de OpenOffice Impress. Capítulo 4. Trabajando con gráficos, esquemas y plantillas 1 Manual de OpenOffice Impress Capítulo 4: Trabajando con gráficos, esquemas y plantillas Este material es una adaptación

Más detalles

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU 2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU Antecedentes:... 2 1. Introducción... 3 2. Imágenes que no se visualizan... 3 3. URLs de recursos o actividades que no son autocontenido...

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

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas. Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.

Más detalles

SECRETARÍA VIRTUAL Perfil Ciudadano

SECRETARÍA VIRTUAL Perfil Ciudadano SECRETARÍA VIRTUAL Perfil Ciudadano Marzo 2012 ÍNDICE 1. INTRODUCCIÓN...1 3. COMPONENTES NECESARIOS...3 4. TELETRAMITAR UNA SOLICITUD...4 4.1 Enviar una solicitud...4 4.1.1. Grabación de la solicitud...5

Más detalles

Proyectos de Innovación Docente

Proyectos de Innovación Docente Proyectos de Innovación Docente Manual de Usuario Vicerrectorado de Docencia y Profesorado Contenido INTRODUCCIÓN... 3 DATOS PERSONALES... 6 Modificar email... 6 Modificar contraseña... 7 GESTIÓN PROYECTOS...

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

Plantilla de texto plano

Plantilla de texto plano Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en

Más detalles

Introducción a las tablas dinámicas

Introducción a las tablas dinámicas Introducción a las tablas dinámicas Cuando tenemos una gran cantidad de datos en una planilla de cálculo, puede resultar difícil analizar toda la información. En estos casos, usaremos las tablas dinámicas,

Más detalles

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access Módulo 8: Ofimática básica Unidad didáctica 4: Introducción y modificación de datos Access UNIDAD DIDÁCTICA 4 Introducción y modificación de datos Créditos Autor/es: Fuentes Innovación y Cualificación

Más detalles

Inside. Gestión de Expedientes y Documentos Electrónicos

Inside. Gestión de Expedientes y Documentos Electrónicos Inside Gestión de Expedientes y Documentos Electrónicos Documento de Integración Sistemas Desarrollo Versión 1.0 Fecha de revisión 25/02/2013 Realizado por Sistemas Desarrollo Inside v_1.0 / 1 ÍNDICE 1

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

Usuarios y Permisos. Capítulo 12

Usuarios y Permisos. Capítulo 12 Capítulo 12 Usuarios y Permisos La gente simplemente intenta utilizar el sitio web Joomla! que has creado - ya sea de forma activa o pasiva. Cuanto mejor sea la experiencia que tenga al hacerlo, mejor

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

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento Simple tutorial we riseup Pequeña introducción a We Riseup #Qué es we.riseup o Crabgrass? #Como esta estructurado We.riseup? Lo Esencial Unirse a un grupo Metodo 1 Metodo 2 Crear contenido #1 ) Crear la

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁCTICAS DE GESTIÓN GANADERA: PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta

Más detalles

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com 6.1 Creación de materiales con MS Office ÍNDICE: 1.- DOCUMENTACIÓN CON WORD 1.1 Los Hipervínculos

Más detalles

7.1 Java vs.net, la lucha se acrecienta

7.1 Java vs.net, la lucha se acrecienta 7.1 Java vs.net, la lucha se acrecienta Java fue capaz de introducir una cuña en el negocio de herramientas de Microsoft cuando fue introducida al mercado por primera vez a mediados de los '90 porque ofrecía

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

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón :

Más detalles

OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver.

OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver. SEMINARIO DIOCESANO DE CRISTO SACERDOTE TECNOLOGIA EN INFORMATICA GRADO: 11 TEMA: INTRODUCCIÓN A MACROMEDIA DREAMWEAVER OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver. 1 Qué es

Más detalles

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Versión 1.0 MANUAL DEL USUARIO

Versión 1.0 MANUAL DEL USUARIO Versión 1.0 MANUAL DEL USUARIO ÍNDICE Introducción....2 Acceso a Geocatálogo...3 Descripción de Geocatálogo....4 Página inicial de Geocatálogo...4 Árbol de categorías....5 Lista de recursos...6 Información

Más detalles

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES Joma ha creado una herramienta con la cual, usted, como distribuidor, podrá generar presupuestos de las agrupaciones

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

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

Cómo gestionar menús en Drupal 7

Cómo gestionar menús en Drupal 7 Cómo gestionar menús en Drupal 7 Los menús en Drupal son unas herramientas muy poderosas porqué proporcionan maneras para que los visitantes de nuestro sitio puedan llegar a páginas específicas. Estos

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

Service Oriented Architecture

Service Oriented Architecture Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez josecarlos.cortizo@uem.es http://www.esp.uem.es/jccortizo D. Sistemas Informáticos

Más detalles

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) APRENDERAPROGRAMAR.COM QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A) Sección: Divulgación Categoría: Lenguajes y entornos

Más detalles

Microsoft Excel. El Documento Excel. Interfase de Programa. Celdas

Microsoft Excel. El Documento Excel. Interfase de Programa. Celdas Microsoft Excel Microsoft Excel (en adelante Excel) es una aplicación tipo Hoja de Cálculo destinada al diseño y generación de documentos a partir de datos numéricos. Podría entenderse como una calculadora

Más detalles

Sistemas de Calidad Empresarial

Sistemas de Calidad Empresarial Portal Empresarial Aljaraque Empresarial Sistemas de Calidad Empresarial 1 ÍNDICE 1. INTRODUCCIÓN. 2. CONCEPTO DE CALIDAD Y SU SISTEMA. 3. MÉTODO PARA IMPLANTAR UN SISTEMA DE GESTIÓN DE LA CALIDAD. 4.

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

Microsoft Access 2007 (Completo)

Microsoft Access 2007 (Completo) Microsoft Access 2007 (Completo) Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2007, estudiando los conceptos fundamentales de las bases de datos: desde su análisis

Más detalles

Práctica 2 de Microsoft Access

Práctica 2 de Microsoft Access Práctica 2 de Microsoft Access Israel González Carrasco (israel.gonzalez@uc3m.es) María Belén Ruiz Mezcua (mbelen.ruiz@uc3m.es) 1. FORMULARIOS 1) En primer lugar se creará una base de datos con el nombre

Más detalles

Configuración de DNS seguros

Configuración de DNS seguros Configuración de DNS seguros para la navegación de niños por Internet El otro día os contaba del secuestro de los DNS de Google, y qué son los DNS. Para hacer un resumen rápido: son como las páginas amarillas

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

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer

Más detalles

InfoPath forma parte del paquete ofimático de Microsoft desde la versión XP (2003).

InfoPath forma parte del paquete ofimático de Microsoft desde la versión XP (2003). Formularios Los Sistemas Informacionales utilizan los datos derivados de los OAS y Transaccionales (nóminas, facturaciones, etc.) para, en su aspecto más básico, generar informes que ayuden a los directivos

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

Microsoft Office: EXCEL. Objetivos curso

Microsoft Office: EXCEL. Objetivos curso Objetivos curso Conocer las aplicaciones ofimáticas de Microsoft Office y las utilidades a las que se orientan cada una de ellas, con el objetivo que cada formado descubra las posibilidades concretas de

Más detalles

Capítulo 11. Conclusiones y trabajo futuro

Capítulo 11. Conclusiones y trabajo futuro Capítulo 11. Conclusiones y trabajo futuro En esta tesis ha realizado un entorno de desarrollo Web que proporciona herramientas para la mejora de la calidad del código de los desarrolladores. Para conseguir

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

APLICACIONES WEB GOOGLE ANAYLITICS

APLICACIONES WEB GOOGLE ANAYLITICS APLICACIONES WEB GOOGLE ANAYLITICS Elena Berti Rebecca Thompson 2º DAW ÍNDICE Qué es una Aplicación Web Consideraciones técnicas Estructura de las Aplicaciones Web Ventajas Inconvenientes Diferencia entre

Más detalles

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Índice Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Crear diagrama de clases 5 Crear elementos 7 Editar elementos

Más detalles

Conceptos SOA: XSD, Estructurando XML Por Medio de Esquemas

Conceptos SOA: XSD, Estructurando XML Por Medio de Esquemas Newsletter Junio 2013 Contenido Conceptos SOA: XSD, Estructurando XML Por Medio de Esquemas Página: Por Ing. Daniel Caciá dcacia@datum.com.gt 1 Conceptos SOA: XSD, Estructurando XML Por Cuando creamos

Más detalles

SIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario

SIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO Modulo de Planificación Manual de Usuario Oficina General de Estadística e Informática Oficina de Informática Unidad de Análisis y Desarrollo MÓDULO DE PLANIFICACIÓN

Más detalles

Certific@2 (Altas de prestaciones por ERE S): guía para las empresas

Certific@2 (Altas de prestaciones por ERE S): guía para las empresas Certific@2 (Altas de prestaciones por ERE S): guía para las empresas Servicio Público de Empleo Estatal Madrid, Octubre - 2011 Índice Qué es y recepción de las altas de trabajadores por ERE S Acceso a

Más detalles

Curso Internet Básico - Aularagon

Curso Internet Básico - Aularagon Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla

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

Lectura de datos. Marcelo Reyes Notas sobre gretl 1.8.6cvs

Lectura de datos. Marcelo Reyes Notas sobre gretl 1.8.6cvs Marcelo Reyes Notas sobre gretl 1.8.6cvs Lectura de datos gretl permite cargar datos desde diferentes muestras. Si lo que queremos es practicar se proporciona un generoso banco de datos accesible desde

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

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Instalación del programa PSPP y obtención de una distribución de frecuencias. Práctica 2. Instalación del programa PSPP y obtención de una distribución de frecuencias. Con esta práctica instalaremos el programa PSPP. El programa es un software específico para el análisis estadístico

Más detalles

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN Francisco Belmonte Díaz Diseño e implementación de Sistemas Informáticos. Coordinación de Tareas de Programación Servicio de Gestión Informática. Consejería

Más detalles

P/. Factura Electrónica D/. Manual de Usuario Proveedores

P/. Factura Electrónica D/. Manual de Usuario Proveedores Control documental Versión del Fecha Autor Modificaciones/Comentarios documento 1.0 10/02/2011 Diputación de Teruel Versión inicial del documento 1.1 05/04/2011 Diputación de Teruel Revisado estilo 1.2

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

Planilla de cálculo. Módulo II - OpenOffice.org Calc

Planilla de cálculo. Módulo II - OpenOffice.org Calc Planilla de cálculo Módulo II - OpenOffice.org Calc 1 OpenOffice.org Calc Índice de contenidos Introducción Fórmulas Operadores matemáticos Autorrellenar Una función especial: Autosuma Algunas funciones

Más detalles

Interacción y manejo de documentos XML.

Interacción y manejo de documentos XML. Interacción y manejo de documentos XML. Como último miembro de la familia XML, nos planteamos la tecnología por la cual una aplicación externa, escrita en no importa que lenguaje de programación, puede

Más detalles

Recursos de Aprendizaje

Recursos de Aprendizaje 1.0 Entorno del programa 2.0 Creación de un nuevo programa 2.1 Guardar un programa o una lista de posiciones 2.2 La apertura de una lista de programa o de posiciones 2.3 El cierre de una lista de programas

Más detalles

Modelos y Bases de Datos

Modelos y Bases de Datos Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos

Más detalles

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II [Escriba texto] Contenido CAPÍTULO I: ESTRUCTURANDO UN REPORTE... 4 CAPÍTULO II: FICHA DE INFORMES... 5 CAPÍTULO III: BARRA DE HERRAMIENTAS INFORME... 19 EJERCICIOS...

Más detalles

MICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

MICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL MICROSOFT EXCEL 2007 Qué es y para qué sirve Excel2007? Excel 2007 es una hoja de cálculo integrada en Microsoft Office. Esto quiere decir que si ya conoces otro programa de Office, como Word, Access,

Más detalles