1. Prefacio 3 2. XML: el lenguaje de intercambio de datos Bibliografía 27
|
|
- Pedro Valverde Acosta
- hace 8 años
- Vistas:
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 "“"> <!-- Left Double Quote --> <!ENTITY rdquo "”"> <!-- Right Double Quote --> <!ENTITY trade "™"> <!-- 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>©right;</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
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 detallesextensible 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 detallesXML 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 detallesIntroducció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 detallesXML. 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 detallesXML 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 detalles1 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 detallesFundamentos 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 detallesTEMA 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 detallesValidació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 detalles3.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 detallesCapí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 detallesPrá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 detallesSistemas 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 detallesLa 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 detallesCreació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 detallesAná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 detalles5.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 detallesTransformació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 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 detallesM. 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 detallesDatos 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 detallesXML: 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 detallesGENERAR 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 detallesServicio 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 detallesTecnologí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 detallesEl 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 detallesPASOS 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 detallesDepartamento 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 detallesCorrespondencias 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 detallesLABORATORIO 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 detallesXML, 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 detallesCASO 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 detallesDepartamento 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 detallesManual 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 detalles2011-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 detallesIntroducció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 detallesPara 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 detallesSECRETARÍ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 detallesProyectos 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 detallesGeneració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 detallesPlantilla 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 detallesIntroducció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 detallesMó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 detallesInside. 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 detallesPrimeros 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 detallesUsuarios 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 detallesXML 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
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 detallesLEER 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 detallesJAVA 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 detallesPRÁ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 detallesFeriaOnline.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 detalles7.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 detalles1.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 detallesPara 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 detallesOBJETIVO: 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 detallesTECNOLOGÍ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 detallesCentro 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 detallesVersió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 detallesMANUAL 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 detallesDefinició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 detalles2 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 detallesCó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 detallesUTILIZACION 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 detallesService 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 detallesQUÉ 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 detallesMicrosoft 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 detallesSistemas 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 detallesBASES 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 detallesMicrosoft 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 detallesPrá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 detallesConfiguració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 detallesEn 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 detallesManual 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 detallesInfoPath 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 detallesXML 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 detallesMicrosoft 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 detallesCapí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 detallesVisualizació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 detallesAPLICACIONES 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 Í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 detallesConceptos 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 detallesSIIT 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 detallesCertific@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 detallesCurso 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 detallesCÓ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 detallesLectura 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 detalles5.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 detallesINSTALACIÓ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 detallesInstalació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 detallesDIGITALIZACIÓ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 detallesP/. 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 detallesIntroducció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 detallesPlanilla 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 detallesInteracció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 detallesRecursos 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 detallesModelos 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 detallesBUSINESS 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 detallesMICROSOFT 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