Este anexo sirve para resumir las tecnologías básicas XML empleadas a lo largo de la tesis, así como ciertas utilidades y estándares asociados.

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

Download "Este anexo sirve para resumir las tecnologías básicas XML empleadas a lo largo de la tesis, así como ciertas utilidades y estándares asociados."

Transcripción

1 ANEXO B: ESTÁNDARES Y UTILIDADES XML Este anexo sirve para resumir las tecnologías básicas XML empleadas a lo largo de la tesis, así como ciertas utilidades y estándares asociados.

2 B.1 Tecnologías Básicas en XML...1 B.1.1 XML Schema...3 B Características básicas... 4 B Namespace... 4 B Elementos... 7 B Atributos B Características específicas B Trabajo con varios Schemas B.1.2 XSLT B Reglas B Ejemplos de Hoja de Estilo B Transformación a XML B Transformación a HTML B Transformación a texto plano B EXSLT B XSL-FO B.1.3 Schematron B Utilidad y Funcionamiento B El Schematron schema B Reglas extendidas B Meta-hoja de estilo: Skeleton B Schematron embebido en un schema B Extensibilidad SCHEMATRON B XML Schema y Schematron B.2 Apache Ant...32 B.2.1 introducción B.2.2 fichero de configuración B Proyecto y Propiedades B Targets y Dependencias B Tareas B.2.3 Verificaciones XML con ant B Task Checkxml B Task Checkschema B Task Xslt B.3 Cocoon...37 B.4 Chaperon...41 B Formato Fichero xlex B Formato Fichero xgrm B Formato Fichero grm B Ejecución desde Jakarta Ant B Ejecución desde Apache Cocoon B Diseño B Pipeline... 47

3 B.5 SVG (Scalable Vector Graphics)...49 B.5.1 Características Generales B.5.2 Elementos básicos B Rectangulo B Line B Circle B Elipse B Polygon B Polyline B Path B Text B Eventos y Scripts... 56

4

5 B..1 1 TECNOLOGÍÍAS BÁSIICAS EN XML Descripción general de las tecnologías XML que se utilizan en el entorno. La comprensión de estas tecnologías es necesaria para entender dónde y cómo encajan dentro del entorno. Las siglas de su nombre (extensible Markup Language) hablan de un lenguaje de marcado extensible, pero parece más correcto denominarlo metalenguaje que lenguaje extensible. XML en un metalenguaje porque ofrece la capacidad de describir nuevos lenguajes (también denominados gramáticas ó vocabularios en la bibliografía), no simplemente extensiones a un determinado lenguaje de marcas. El mecanismo utilizado para ello es el Schema, entendido éste como la descripción formal de un nuevo lenguaje XML. Evidentemente, es necesario usar un lenguaje especializado ó lenguaje de schema para construir estas descripciones y en este punto son varias las alternativas. Cada lenguaje de schema constituye un conjunto de especificaciones que pueden usarse para expresar descripciones formales de familias de documentos XML. El resultado de su uso, el Schema, se puede usar con propósitos de documentación (sintetiza todo lo común y lo variable en el tipo de documentos XML a los que representa), validación (el parser XML será capaz de comprobar que un documento XML cumple con todas las restricciones expresadas en un schema) o automatización del procesado de documentos XML (los schemas permiten conocer la estructura que cabe esperar en un documento y permiten la gestión automática mediante SW de la información contenida). Pero como se avanzaba no existe un único lenguaje de schema estándar, han surgido varios respondiendo a diferentes necesidades expresivas. El proyecto ISO DSDL (Document Schema Definition Language) ( clasifica estos lenguajes. Lenguajes de schema basados en reglas. Tienen como objetivo describir, a través de reglas, qué requisitos deben cumplir los documentos XML. Ya que cualquier requisito puede ser expresado como un conjunto de reglas de algún tipo, estos lenguajes son los considerados de más bajo nivel o de más granularidad, y el resto podrían ser construidos sobre un lenguaje basado en reglas. Con frecuencia se suelen emplear para complementar a algún otro lenguaje de schema terminando el trabajo que éste no pueda hacer. El ejemplo más conocido de este tipo de lenguaje es Schematron (Jelliffe 2003). Lenguajes de schema basados en gramática. Pretenden describir la estructura de los documentos instancia. Pueden asemejarse al uso que se hace de BNF para describir la sintaxis de los lenguajes de programación. Describen las plantillas a las que se podrán ajustar los nodos XML. Se centran en la estructura y no prestan gran atención a los tipos de datos de la información. Ejemplos: DTD (W3C, 2000), RELAX NG (Clark y Makoto 2001). Lenguajes de schema basados en orientación a objetos. W3C XML Schema (W3C 2001) es algo más que un lenguaje de schema basado en gramática. Es un intento por describir las instancias XML en la forma más cercana posible al diseño orientado a objeto: Pág. B 1

6 Importancia de los tipos de datos. Si elementos y atributos se asimilan a objetos, los tipos son lo más cercano a las clases OO y son la clave para expresar las similitudes entre objetos. Mecanismos de derivación y sustitución. Permiten reflejar la herencia entre clases OO. Además de profundizar en dos de estos lenguajes (XML Schema y Schematron), se van a esbozar las características principales de XSLT como lenguaje especializado en la transformación de documentos XML y se van a repasar algunos proyectos de SW libre directamente relacionados con XML. Pág. B 2

7 B.1.1 XML SCHEMA En este apartado se van a recorrer los aspectos más importantes de los XML Schemas. No pretende ser una descripción exhaustiva, pero sí lo suficientemente profunda como para entender las posibilidades que este lenguaje de schema (define la gramática a emplear para escribir un schema) puede aportar al entorno multidisciplinar. Para completar el conocimiento de XML Schema se recomienda consultar Costello (2003), Van Der Vlist (2002) y W3C (2001). Un XML Schema permite definir una nueva gramática mediante sintaxis XML (a diferencia de su antecesor, el DTD, que utilizaba una sintaxis no XML). Es decir, es una formalización de las restricciones que deben cumplir los documentos XML (denominados instancias) que se asocien a dicho schema. De este modo, un parser XML comprobará que un documento es válido asegurándose de que cumple todas las restricciones recogidas por el schema, o dicho de otra forma, comprobando que está escrito utilizando correctamente la gramática definida en el schema. Define lo único válido, porque todas las instancias deben ajustarse a un único modelo. De este modo, permiten que un conjunto de usuarios o de programas puedan intercambiar automáticamente documentos entre sí, porque para todos es conocida y representada en un schema la estructura y las características de los datos contenidos en los documentos que se van a intercambiar. El Schema constituye la documentación explícita de todo ello y a su vez el mecanismo (con un parser) para asegurar el cumplimiento de esos requisitos en todas las instancias. Los tipos de restricciones que puede recoger un XML Schema son: Estructura en forma de árbol. Sistema de tipos de datos (genéricos, definidos por el usuario, rangos, ). Especificación de tipos de datos y longitudes de datos para la información. Tanto tipos predefinidos como definición de nuevos tipos mediante mecanismos de herencia, subrangos, subtipos o empleando reglas EBNF. Requisitos de cardinalidad. Definición del mínimo y máximo número de ocurrencias para un determinado elemento o atributo. Herencia. Namespaces. Para definir diferentes ámbitos de uso de identificadores evitando colisiones y normalizar el uso de identificadores comunes Agrupación de elementos o atributos por grupos dándoles características comunes. Puede especificarse que sólo deba aparecer uno de los elementos del grupo o que puedan aparecer varios Definición de elementos locales, no todo es global Extensión. Permite la inclusión y/o importación de otros XML Schemas, pudiendo definir nuevas gramáticas a partir de otras ya existentes. Pág. B 3

8 Tabla B Comparación Java / Schema / SQL. Java Schema SQL Clase Tipo Tabla Objeto Elemento Fila B Características básicas En el siguiente ejemplo se define un Schema para una biblioteca, la cual puede contener de uno a infinitos libros los cuales a su vez contienen los elementos título, autor, fecha, ISBN y editorial. </xsd:schema> <xsd:element name="bookstore"> <xsd:complextype> <xsd:sequence> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:sequence> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> En un schema se declaran los elementos y atributos que podrán ser utilizados como contenedores de información en las instancias. Es decir, todos los datos de un documento XML aparecerán como contenido de un elemento o de un atributo. Además, el schema define componentes que van a ser usados dentro del propio schema, no en la instancia. Se trata de nuevos tipos de datos simples o compuestos. Toda declaración o definición puede ser global, hijo inmediato del elemento <schema>, y por tanto reutilizable en el contexto del schema; o local, cuando el elemento está anidado dentro de otros elementos, y por tanto no puede emplearse en otros puntos del schema. En el ejemplo anterior tanto Book como Title, Author, Data, ISBN y Publisher han sido declaradas como globales y se les puede referenciar desde dentro de otros elementos. Por ejemplo, Bookstore contiene elementos Book, y Book contiene elementos Title, Author, Data, ISBN y Publisher. B Namespace Todos los documentos XML Schema tienen schema como elemento raíz. Sólo puede aparecer una vez y no puede tener ningún elemento por encima ya que se trata del elemento padre. <?xml version="1.0"?> <xsd:schema xmlns:xsd=" Pág. B 4

9 targetnamespace=" xmlns=" elementformdefault="qualified"> Normalmente, este elemento tiene ciertos atributos que hacen referencia al namespace o espacio de nombres. Todo documento XML (incluidos los schemas) deben indicar el namespace que van a emplear. El namespace es el nombre de un vocabulario, el nombre conjunto dado a la serie de elementos y atributos que se van a emplear en el presente documento XML. De este modo, en el ejemplo anterior se usa el prefijo xsd para hacer referencia al namespace al que pertenecen los elementos de XMLSchema. La Figura B muestra el vocabulario básico de todo XML Schema. element complextype sequence schema string boolean integer Figura B Vocabulario asociado al namespace de XML Schema Todo schema puede definir un namespace (utilizando el atributo targetnamespace) para utilizar en sus instancias, es decir, define un vocabulario finito que puede emplearse en las instancias. Además, el namespace definido en un schema también se puede emplear en otros schemas en los que se extienda. targetnamespace El targetnamespace se define como el URI que expresa el espacio de nombres al que pertenecen los componentes (elementos, tipos, etc ) que se definen en un Schema. En el ejemplo se especifica que todos los elementos que se definen en esta gramática pertenecen al espacio de nombres La Figura B. 1-2 muestra el vocabulario definido en el Schema del ejemplo. Pág. B 5

10 BookStore Author Title ISBN Date Publisher xmlns Figura B Vocabulario asociado al namespace Permite definir los prefijos para uno o más espacios de nombres que se usan en un schema. En el ejemplo se define el prefijo xsd para los elementos que pertenecen al namespace de los XML Schemas, dejando el namespace por defecto (sin prefijo) para los elementos que pertenecen al espacio de nombres Normalmente se asigna el prefijo xsd o xs a los elementos que pertenecen al espacio de nombres XML Schema. En el ejemplo todos los elementos que pertenecen al namespace de los XML Schemas levan el prefijo xsd, mientras que los que no llevan prefijo pertenecen al namespace elementformdefault y attributeformdefault Puede tomar los valores qualified o unqualified (valor por defecto). Indica a los documentos XML instancias del schema si es necesario que los elementos o atributos locales aparezcan cualificados cuando no se está utilizando el namespace por defecto (necesario el prefijo). Referenciar un Schema en una instancia A continuación se muestra un ejemplo de una posible instancia válida del Schema ejemplo de partida. <?xml version="1.0"?> <BookStore xmlns =" xmlns:xsi =" xsi:schemalocation =" BookStore.xsd"> <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>July, 1998</Date> <ISBN> </ISBN> <Publisher>McMillin Publishing</Publisher> </Book> </BookStore> xmlns = le indica al parser XML a qué namespace deben pertenecer los elementos usados en esta instancia. Pág. B 6

11 xsi:schemalocation =" BookStore.xsd indica que los elementos del namespace están definidos en el Schema BookStore.xsd. xmlns:xsi = indica al parser que los elementos que contengan el prefijo xsi pertenecen a ese namespace que hace referencia a la instancia de un XML Schema. schemalocation= " BookStore.xsd" targetnamespace= " BookStore.xml (instancia) BookStore.xsd (Schema) Figura B Relación entre el documento schema y el documento instancia La Figura B. 1-3 muestra la relación entre el documento Schema y el documento instancia. En el Schema se define el nuevo vocabulario que se va a usar en la instancia. En general, al referenciar un Schema se debe tener en cuenta que: El namespace al cual referencia la instancia debe ser el mismo que el definido en el targetnamespace del Schema. El valor del atributo SchemaLocation es un par de la forma. namespace URI. Para los namespaces referenciados que no sean públicamente conocidos (definidos por el usuario, no predefinidos) se debe indicar con el atributo Schemalocation la URI donde encontrar la gramática que los define (*.xsd). B Elementos Existen varias formas de declarar un elemento: Pág. B 7

12 Inline. Se realiza la declaración a la vez que se realiza la definición del tipo (que no será reutilizable). Ésta sería la forma utilizada en el ejemplo anterior, donde se ha utilizado una definición complextype anónima. Modularmente. Esta opción presenta la ventaja de la reutilización del tipo de elemento. utilizando complextype (contiene otros elementos o atributos). Se define un complextype dándole nombre y luego se declaran elementos instanciando ese tipo. Por ejemplo: <xsd:element name="book" type="bookpublication" maxoccurs="unbounded"/> <xsd:complextype name="bookpublication"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:sequence> </xsd:complextype> utilizando simplextype (restricción de un tipo base). Al definir un elemento se puede especificar aspectos como: la cardinalidad (número de veces que debe aparecer en la instancia) a través de minoccurs y maxoccurs, cuyos valores por defecto son 1. Así, minoccurs=0 indica que un elemento es opcional y maxoccurs=unbounded que pueden aparecer todos los que se deseen. valor fijo o por defecto. Si se le asigna un valor en el documento instancia se puede dejar vacío. ComplexType ó simpletype Se debe definir un elemento de tipo complextype cuando dicho elemento va a contener otros elementos o algún atributo. Se debe definir un elemento de tipo simpletype cuando se quiere crear un nuevo tipo derivado refinando otro tipo ya existente. Algunos de los tipos de datos básicos o primitivos sobre los que se puede definir un nuevo simpletype son los siguientes: String, Boolean, decimal, float, double, duration, datetime, time, date, gyearmonth, gyear, gmonthday, gday, gmonth, hexbinary, base64binary, anyuri, QName, NOTATION. También existen tipos de datos predefinidos derivados de los primitivos: normalizedstring, token, language, IDREFS, ENTITIES, NMTOKEN, NMTOKENS, Name, NCName, ID, IDREF, ENTITY, integer, nonpositiveinteger, negativeinteger, long, int, short, byte, nonnegativeinteger, unsignedlong, unsignedint, unsignedshort, unsignedbyte, positiveinteger. Creación de nuevo simpletype Se puede definir un nuevo tipo de datos a partir de un tipo existente (tipo base) especificando una o más facetas opcionales de ese tipo base. Por ejemplo, si se quiere definir un nuevo tipo a partir del tipo base string se puede definir cualquiera de sus facetas opcionales, estas son: length, minlength, maxlength, pattern, enumeration, whitespace. Pág. B 8

13 A su vez, para definir pattern (patrón a seguir) se pueden utilizar expresiones regulares EBNF. Algunos ejemplos se muestran en la Tabla B. 1-2, junto con posibles instancias válidas para el patrón expresado. Tabla B Ejemplos de expresiones regulares para pattern. Expresión regular Posibles instancias Chapter \d Chapter 1 Chapter \d Chapter 1 a*b [xyz]b a?b a+b [a-c]x [-ac]x [ac-]x [^0-9]x \Dx Chapter\s\d (bla){2} fin (bla\s){2} fin.abc (a b)+x a{1,3}x a{2,}x [a-za-z-[ol]]* \p{ll} \p{n} \p{nd} \p{p} \p{sc} b,ab,aab,aaab... xb,yb,zb ab,b ab,aab,aaab ax,bx,cx -x,ax,cx ax,cx,-x caracter no dígito con x caracter no dígito con x Chapter espacio dígito blabla fin bla bla fin un caracter seguido de abc ax,bx,abx,bax,aax... ax,aax,aaax aax,aaax,aaaax cadena sin I ni O una letra minúscula un número un dígito un símbolo de puntuación un símbolo especial En el siguiente ejemplo se define un nuevo tipo de datos simple a partir del tipo base string para describir las características de los números de teléfono: <xsd:simpletype name="telephonenumber"> <xsd:restriction base="xsd:string"> <xsd:length value="8"/> <xsd:pattern value="\d{3}-\d{4}"/> </xsd:restriction> Pág. B 9

14 </xsd:simpletype> Según se ha definido, deben cumplirse todas las facetas de la restricción, es decir sería el equivalente a un AND. Primero se define la longitud de la cadena que debe ser 8 y luego se define el patrón que debe seguir (3 dígitos guión 4 dígitos). En general, varias facetas pattern enumeration restringen en forma de OR. El resto en forma de AND. El tipo de datos integer puede poseer las siguientes facetas: totaldigits, pattern, whitespace, enumeration, maxinclusive, maxexclusive, mininclusive, minexclusive. No es necesario que el tipo base sea uno predefinido, también se pueden crear nuevos tipos de datos simples tomando como base otros tipos simples de datos previamente creados. derivedtypes Se puede hacer una subclasificación dentro de los elementos complextypes que se denomina derivedtypes. Se pueden crear de dos formas: derivación por extensión: añadir nuevos elementos al complextype de partida. Cuando se deriva un elemento por extensión no es necesario repetir los elementos que contiene el tipo base, sino sólo añadir aquellos nuevos. derivación por restricción: definir un subconjunto del tipo base. Es necesario repetir los elementos que contiene el tipo base ya se haga alguna modificación o no, aquellos elementos que no se repiten se considerará que no forman parte del nuevo tipo de datos. A su vez, se puede definir este subconjunto de dos maneras: redefinir un elemento del tipo base para que tenga un rango reducido de valores. redefinir un elemento del tipo base para reducir el número de apariciones. También se puede prohibir la derivación de un tipo de datos, o permitir sólo la derivación por restricción o por extensión. Elementos especiales (<annotation>) El elemento <annotation> se usa para documentar el Schema, tanto para personas como para programas. Para cada caso presenta diferentes elementos hijo: <documentation> para documentación dirigida a personas, este a su vez puede tener dos atributos source contiene el URL de un archivo que contiene más información complementaria lang especifica el lenguaje en el que está escrita la documentación <xsd:documentation source= xml:lang="fr"/> <appinfo> para documentación dirigida a programas, este a su vez puede tener un atributo: source contiene el URL de un archivo que contiene más información complementaria Pág. B 10

15 <xsd:appinfo source=" Las anotaciones no tienen efecto en la validación del Schema, pudiendo ser cualquiera siempre que estén bien formadas en XML. Pero no se pueden poner en cualquier parte del documento, pueden ir antes o después de cualquier componente global. B Atributos Dentro de los elementos se pueden definir atributos que caracterizan al elemento que los contiene. Los atributos no pueden contener otros elementos, es por ello que siempre contendrán tipos simples. Al igual que ocurría con los elementos, los atributos se pueden definier inline o de forma modular, tal y como muestan los siguientes ejemplos: <xsd:attribute name="name" type="simple-type" use="how-its-used" default/fixed="value"/> <xsd:attribute name="name" use="how-its-used" default/fixed="value"> <xsd:simpletype> <xsd:restriction base="simple-type"> <xsd:facet value="value"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> Use sólo se debe usar cuando se está declarando un atributo localmente a un elemento, no en la declaración global de atributos. Los valores que puede tomar use son: required, optional (sólo en este caso se puede definir un valor por defecto o fijo) y prohibited. En el siguiente ejemplo, en la primera declaración del atributo se define su uso como requerido en todas las instancias porque se está haciendo referencia al elemento libro, sin embargo en la definición global del atributo (más abajo) no se añade use. <xsd:element name="book"> <xsd:complextype> <xsd:sequence> </xsd:sequence> <xsd:attribute ref="category" use="required"/> </xsd:complextype> </xsd:element> <xsd:attribute name="category"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="fiction"/> <xsd:enumeration value="non-fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> Algunas consideraciones que hay que tener en cuenta a la hora de definir atributos son: La declaración de atributos siempre se hace al final, después de la declaración de los elementos. Pág. B 11

16 Los atributos hacen referencia siempre al elemento en el que se han definido. Elementos con contenido simple y atributos Imagínese que se quiere definir un Schema para la siguiente instancia: <elevation units="feet">5440</elevation> El elemento elevation tiene dos restricciones, por un lado tiene un contenido simple (integer) y también contiene un atributo denominado units. Como tiene un atributo se debe definir como complextype, pero como no contiene elementos se dice que contiene simplecontent. Entonces, se debe extender este simplecontent para que contenga un atributo. El Schema quedaría de la siguiente forma: <xsd:element name="elevation"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:integer"> <xsd:attribute name="units" type="xsd:string" use="required"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> Este mismo ejemplo se puede hacer más restrictivo, para ello se restringe el valor de integer entre 0 y y el valor de string para que solo pueda tomar los valores meters o feets. <xsd:simpletype name="elevationtype"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="0"/> <xsd:maxinclusive value="12000"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="unitstype"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="feet"/> <xsd:enumeration value="meters"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="elevation"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="elevationtype"> <xsd:attribute name="units" type="unitstype" use="required"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> Se debe utilizar complexcontent cuando se extiende o se hace una restricción sobre un complextype. Se debe utilizar simplecontent cuando se extiende o se hace una restricción sobre un simpletype. B Características específicas Alternativas Si en un Schema se desea que un elemento solo pueda ser una de las opciones, esto es, una or exclusiva, se utiliza choice. En el siguiente ejemplo se define el elemento transportation que sólo puede tomar uno de los siguientes valores: train, plane o automobile. Pág. B 12

17 <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="transportation"> <xsd:complextype> <xsd:choice> <xsd:element name="train" type="xsd:string"/> <xsd:element name="plane" type="xsd:string"/> <xsd:element name="automobile" type="xsd:string"/> </xsd:choice> </xsd:complextype> </xsd:element> </xsd:schema> También se puede añadir cardinalidad: <xsd:choice minoccurs="0" maxoccurs="unbounded"> Orden aleatorio Hasta ahora cuando se utilizaba sequence se tenían que definir los elementos en el mismo orden que en el Schema. Si se desea que aparezcan todos los elementos que se han definido dentro de otro elemento pero no importa el orden se utiliza all. Elemento vacío Se pude definir un elemento vacío que sólo contenga un atributo, así en el siguiente ejemplo se define un elemento imagen que solo contiene un atributo, su dirección. <xsd:element name="image" maxoccurs="unbounded"> <xsd:complextype> <xsd:attribute name="href" type="xsd:anyuri" use="required"/> </xsd:complextype> </xsd:element> La siguiente instancia XML es valida contra el schema anterior: <image href=" Listas Supongamos que se desea declarar un elemento que pueda contener una lista de números enteros, para por ejemplo, definir el elemento número de lotería. (<numbers>) En ocasiones interesa declarar elementos que contengan una lista de valores. Estos son algunos aspectos a tener en cuenta: No se puede crear una lista de listas No se puede crear una lista de complextypes (las listas sólo se aplican a simpletypes) En el documento instancia se debe separar cada componente de la lista con un espacio en blanco (espacio, tabulador o retorno de carro) Sólo se pueden usar las siguientes facetas al crear un tipo lista: Length, minlength, maxlength, enumeration, pattern. Elemento <any> Pág. B 13

18 Este elemento permite al autor del documento instancia extender dicho documento con elementos que no están declarados en el Schema. <xsd:element name="book"> <xsd:complextype> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> <xsd:any minoccurs="0"/> </xsd:sequence> </xsd:complextype> </xsd:element> Ahora en la instancia se puede extender el contenido del elemento <book> con cualquier elemento después de rellenar el elemento <Publisher>. En el siguiente ejemplo se extiende el elemento <Book> con un elemento proveniente de otro Schema: <?xml version="1.0"?> <BookStore xmlns=" xmlns:xsi=" xsi:schemalocation= " BookRetailers.org BookSeller.xsd repository.org SchemaRepository.xsd"> <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>1998</Date> <ISBN> </ISBN> <Publisher>McMillin Publishing</Publisher> <Reviewer xmlns=" <Name> <First>Roger</First> <Last>Costello</Last> </Name> </Reviewer> </Book> <Book> <Title>Illusions: The Adventures of a Reluctant Messiah</Title> <Author>Richard Bach</Author> <Date>1977</Date> <ISBN> </ISBN> <Publisher>Dell Publishing Co.</Publisher> </Book> </BookStore> AnyAttribute El elemento <anyattribute> permite extender el documento instancia con atributos no definidos en el Schema. Ejemplo: <xsd:element name="book"> <xsd:complextype> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> <xsd:any minoccurs="0"/> </xsd:sequence> <xsd:anyattribute/> </xsd:complextype> Pág. B 14

19 </xsd:element> Ahora se puede añadir atributos en el documento instancia al elemento <Book>. Especificar el namespace del elemento (o atributo) añadido Existen las siguientes opciones: Permitir al documento instancia contener un nuevo elemento con namespace diferente del Schema al que pertenece la instancia: <any namespace="##other"/> Permitir un nuevo elemento que provenga del namespace especificado (se puede especificar una lista de namespaces): <any namespace=" Permite un nuevo elemento proporcionado por el namespace que el Schema está definiendo: <any namespace="##targetnamespace"/> Permite un elemento de cualquier namespace (opción por defecto): <any namespace="##any"/> El nuevo elemento no debe provenir de ningún namespace: <any namespace="##local"/> Contenido abierto Los Schemas que posen los elementos <any> o <any Attribute> se denominan abiertos o extensibles ya que permiten aumentar el contenido de las instancias. Esto es necesario porque es muy difícil contemplar todos los elementos que se van a necesitar desde el diseño. Por el contrario se les denomina estáticos al resto de los schemas. B Trabajo con varios Schemas Aplicar varios Schemas a una misma instancia Una instancia puede estar compuesta por elementos de varios Schemas. Se puede aplicar la validación de un Schema sobre un documento entero o sobre elementos concretos del mismo. En el siguiente ejemplo se ve una instancia en la que se definen dos Schemas, uno para aplicar a los documentos book y otro a los elementos employee: <?xml version="1.0"?> <Library xmlns:xsi=" xsi:schemalocation= " Book.xsd Employee.xsd"> <Books> <Book xmlns=" <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>1998</Date> <ISBN> </ISBN> <Publisher>Macmillan Publishing</Publisher> </Book> <Book xmlns=" <Title>Illusions: The Adventures of a Reluctant Messiah</Title> <Author>Richard Bach</Author> Pág. B 15

20 <Date>1977</Date> <ISBN> </ISBN> <Publisher>Dell Publishing Co.</Publisher> </Book> </Books> <Employees> <Employee xmlns=" <Name>John Doe</Name> <SSN> </SSN> </Employee> <Employee xmlns=" <Name>Sally Smith</Name> <SSN> </SSN> </Employee> </Employees> </Library> Incluir Schemas dentro de otros Schemas El elemento include permite incluir Schemas. Al incluir otros Schemas se debe de tener en cuenta que: Todos los Schemas a incluir deben tener el mismo namespace que nuestro Schema de trabajo. El resultado que se obtiene es el mismo que si se hubieran escrito todas las restricciones en nuestro Schema de trabajo. Si uno de los Schemas incluidos no tiene declarado su targetnamespace asimila el del Schema que hizo el include. El elemento import permite importar namespaces. Ejemplo: <xsd:schema > <xsd:import namespace="a" schemalocation="a.xsd"/> <xsd:import namespace="b" schemalocation="b.xsd"/> </xsd:schema> Tanto incluye como import deben ir antes de cualquier definición de tipos o declaración de elementos en un Schema. Pág. B 16

21 B.1.2 XSLT Este apartado recoge las características fundamentales de XSLT con el objetivo de hacer comprender las aportaciones que este lenguaje puede ofrecer al entorno multidisciplinar. Una información más extensa sobre XSLT se puede encontrar en Tidwell (2001) y en W3C (1999). XSLT (XML Stylesheet Language Transformations) es un lenguaje flexible y potente diseñado para transformar un documento XML en otro documento con una estructura distinta. La transformación expresada en XSLT se denomina Hoja de Estilo (stylesheet). El World Wide Web Consortium (W3C) recomienda seguir un proceso modular en la transformación de la información desde un documento XML hasta un determinado formato de presentación. En todo momento se intenta diferenciar el contenido (información pura), la presentación (información sobre el formato) y las instrucciones de transformación. Este proceso se puede dividir en dos etapas: Transformación de la estructura del documento XML original (XSLT). Aquí se efectúan operaciones como selección de datos, agrupamiento de los mismos, ordenación, transformaciones aritméticas, etc. Aplicación de formato al árbol resultante de la transformación (XSL-FO). Se realiza una transformación de la nueva estructura XML al formato de salida (que puede ser HTML, texto plano, SVG, PDF, audio, ). Esta separación modular permite obtener una gran variedad de salidas (adaptadas a diferentes exigencias de usuario, dispositivos, formatos, ) para una misma fuente de información (documento XML de partida). Aún más, como las propias instrucciones de transformación también se encuentran separadas, se habilita la reutilización de las mismas. Aparte de su uso habitual para la separación de contenido y presentación, XSLT se muestra como una potente herramienta para adaptar entre sí los vocabularios de aplicaciones diferentes. Si dos aplicaciones utilizan XML como soporte para la información de entrada y salida, XSLT posibilita la escritura del puente que habilita el intercambio de información. XSLT permite traducir la información de una gramática particular a otra. Una de las grandes ventajas de XSLT es que realiza las transformaciones utilizando un lenguaje declarativo basado en reglas. Se necesita un mecanismo para poder acceder de forma declarativa a partes (nodos o grupos de nodos) de los documentos XML; esta funcionalidad la proporciona XPath (W3C 1999b). XSLT utiliza el lenguaje XPath para seleccionar los nodos sobre los cuales se van a aplicar las reglas definidas en XSLT, y seleccionar fragmentos del árbol origen para incluirlos en el árbol resultado. Todo documento XML tiene una estructura en árbol subyacente. Como ilustra la Figura B. 1-4, al aplicar una transformación XSLT se pasa de una cierta estructura en árbol a otra distinta (es decir, se cambia la gramática para un mismo contenido). Pág. B 17

22 Figura B. 1-4 Cambio de estructura entre dos documentos Un documento XML (que en su conjunto se denominará elemento documento) se representará entonces mediante una estructura en árbol formada por nodos y trayectos de búsqueda (location paths). Se distinguen 7 tipos distintos de nodos en un documento: Nodo raíz: Es único en el documento y se encuentra en la raíz del árbol. Contiene nodos elemento, todas las instrucciones de procesamiento y los comentarios que aparecen en el prólogo y en el final del documento. Nodos elemento: Son los elementos del documento XML. Los nodos secundarios de un nodo elemento pueden ser otros nodos elemento, nodos comentario, nodos instrucción de procesamiento y nodos texto. El nodo raíz es un caso particular de nodo elemento. Nodos atributo: Cada nodo atributo posee un nombre y un valor de cadena. Todo nodo elemento lleva asociado un conjunto de nodos atributo. Nodos de texto: Todo el contenido de caracteres está agrupado en nodos texto. Nodos instrucción de procesamiento: Contiene un nombre y un valor. Nodos comentario: A cada comentario del documento XML le corresponde un nodo comentario. Nodos namespace: Cada elemento lleva asociado un conjunto de namespace (espacio de nombres). Un trayecto de búsqueda proporciona las instrucciones necesarias para poder acceder a cualquier nodo del árbol, es decir, el camino para ir de un nodo a otro. El nodo de partida es el context node (si el trayecto de búsqueda comienza con el símbolo / el context node es el el nodo raíz). Un trayecto de búsqueda devuelve siempre un conjunto de nodos. B Reglas Una transformación XSLT expresa una serie de reglas para transformar una estructura de árbol origen en otra estructura destino. Para cada regla se pueden distinguir dos partes: Patrón (pattern): Identifica el conjunto de nodos del documento origen sobre los cuales va a aplicarse la regla en concreto. Cuerpo: Detalla las operaciones que se van a llevar a cabo sobre dichos nodos. Cada nodo sobre el que se aplica la regla se sustituirá por otro/s en Pág. B 18

23 el documento de salida. El cuerpo indica dicha sustitución. Consta de elementos ó texto. La Figura B. 1-5 muestra la estructura en árbol de un documento XML de entrada y la Figura B. 1-6 la estructura del documento XML de salida. Figura B Árbol XMLde entrada Figura B Árbol XML de salida Hoja de estilo que se aplica para obtener el documento de salida a partir del documento de entrada: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <xsl:output method="xml"/> <xsl:template match="/persona"> <person> <name> <xsl:value-of select="//nombre"/> </name> <age> <xsl:value-of select="//edad"/> </age> </person> </xsl:template> </xsl:stylesheet> Patrón: la regla se aplica al nodo Persona (se ve en <xsl:template match="/persona">). Cuerpo: Contenido entre los tags <person> y </person>. Se realiza una instrucción <xsl:value-of select="//edad"/> de forma que se toma el contenido del elemento nombre (documento de entrada) y se aplica al Pág. B 19

24 elemento name (documento de salida). Del mismo modo se toma el contenido del elemento edad (documento de entrada) y se aplica al elemento age (documento de salida). B Ejemplos de Hoja de Estilo Se parte de un documento XML similar al que se ha visto en el ejemplo anterior. Esta estructura se corresponde con el siguiente schema: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:element name="persona"> <xs:annotation> <xs:documentation>ejemplo para hoja de estilo</xs:documentation> </xs:annotation> <xs:complextype> <xs:sequence> <xs:element name="nombre" type="xs:string"/> <xs:element name="apellido" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Una posible instancia XML que se validaría con dicho schema sería: <?xml version="1.0" encoding="utf-8"?> <Persona xmlns:xsi=" xsi:nonamespaceschemalocation="c:\documents and Settings\Alicia\Mis documentos\xmlalicia\persona.xsd"> <Nombre>Alicia</Nombre> <Apellido>Barrilero</Apellido> </Persona> A continuación, se toma dicha instancia XML y se le aplicarán diferentes ejemplos de hojas de estilo para ver los resultados. Con ello se obtendrán diferentes documentos resultado (con diferentes formatos). B Transformación a XML Figura B Procedimiento habitual XSLT La hoja de estilo que se va a aplicar: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <xsl:output method="xml"/> <xsl:template match="/persona"> <person> <name> <xsl:value-of select="//nombre"/> </name> <secondname> <xsl:value-of select="//apellido"/> Pág. B 20

25 </secondname> </person> </xsl:template> </xsl:stylesheet> La salida que se obtiene es también un documento XML, pero ahora con diferente formato: <?xml version="1.0" encoding="utf-8"?> <person xmlns:fo=" <name>alicia</name> <secondname>barrilero</secondname> </person> Este documento ya no es validable con el mismo schema que el documento de entrada, puesto que no responde a la misma gramática. B Transformación a HTML La hoja de estilo que se va a aplicar en esta ocasión: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <xsl:output method="html" encoding="iso "/> <xsl:template match="/"> <html> <head> <title>pagina web</title> </head> <body> <h1>pagina de <xsl:value-of select="./persona/nombre"/> <xsl:value-of select="//persona/apellido"/> </h1> </body> </html> </xsl:template> </xsl:stylesheet> La salida que se obtiene es un documento HTML. B Transformación a texto plano En este caso, la hoja de estilo que se aplica: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <xsl:output method="text"/> <xsl:template match="/"> <xsl:text>pagina de </xsl:text> <xsl:value-of select="./persona/nombre"/> <xsl:value-of select="//persona/apellido"/> </xsl:template> </xsl:stylesheet> Con ello se obtiene una salida puramente de texto. Pág. B 21

26 B EXSLT EXSLT proporciona librerías de elementos y de funciones para hojas de estilo realizadas por particulares. Todas esas librerías son de libre distribución y se pueden encontrar en Muchas de esas extensiones pueden ser interesantes. Aparecen organizadas según los siguientes módulos: Common: Este módulo comprende elementos y funciones básicas Math: Elementos y funciones que proveen de facilidades para tareas matemáticas Sets: Para conjuntos de nodos Functions: Para definir funciones propias de usuario que se puedan emplear en expresiones y patrones XSLT. Dates and Times: Funciones y elementos relativos a fechas y tiempo. Strings: Para manipulación de cadenas de caracteres Dynamic: Elementos y funciones readicionados con la evaluación dinámica de expresiones XPath. Random: Aleatoriedad B XSL-FO XSL-FO son las siglas de Extensible Stylesheet Language Formatting Objects. Este lenguaje XML se utiliza para describir el formato en el que los datos XML son presentados en pantalla, en papel o en otros medios. Por este motivo está especializado en definir características tales como: tipo de fuente, márgenes, espaciado, bordes, tipo de justificación, tablas, listas, Estructura básica de un documento XSL-FO: <?xml version="1.0" encoding="iso "?> <fo:root xmlns:fo=" <fo:layout-master-set> <fo:simple-page-master master-name="a4"> <!-- Page template goes here --> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-name="a4"> <!-- Page content goes here --> </fo:page-sequence> </fo:root> Como todo documento XML se empieza siempre por la declaración XML, seguido del elemento raíz <fo:root> con el namespace correspondiente. El elemento <fo:layout-master-set> contiene los distintos templates de las páginas. Estos templates son los elementos <fo:simple-page-master>, cada template debe tener un nombre único (master-name). Estos elementos definen el formato de la página y pueden tener los siguientes atributos: Pág. B 22

27 page-width, page-height, margin-top, margin-bottom, margin-left, margin-right, margin (define los cuatro márgenes). Para acabar de definir la estructura de las páginas (ya se ha especificado tamaño y margenes) se utiliza el elemento <fo:region> el cual especifica los tamaños del encabezado, pie de página y barras laterales. A continuación, un template que definiendo completamente la apariencia de una página: <fo:simple-page-master master-name="a4" page-width= "297mm" page-height= "210mm" margin-top= "1cm" margin-bottom="1cm" margin-left="1cm" margin-right= "1cm"> <fo:region-body margin="3cm"/> <fo:region-before extent="2cm"/> <fo:region-after extent="2cm"/> <fo:region-start extent="2cm"/> <fo:region-end extent="2cm"/> </fo:simple-page-master> Hasta ahora no se ha dicho nada del contenido, sólo nos hemos ocupado de la apariencia. El contenido aparece dentro de los elementos: <fo:page-sequence><fo:flow> CONTENIDO <fo:flow/><fo:page-sequence>. El elemento <fo:page-sequence> debe incluir el atributo master-name que hace referencia a uno de los templates definidos, el cual ha especificado el formato de las páginas. Finalmente dentro del elemento <fo:flow> se utilizan bloques <fo:block>, tablas <fo:table-and-caption> y listas <fo:list-block>. Los bloques admiten atributos como borde (anchura, color), tipo de fuente, color de fondo, alineación del texto, Las tablas son similares a las tablas HTML, se especifican las dimensiones de las celdas y pueden contener bloques o incluso otras tablas. Pág. B 23

28 B.1.3 SCHEMATRON El Schematron es un lenguaje de schema XML creado por Rick Jelliffe (Jelliffe 2003) en la Academia Sinica Computer Center (Taiwan). Se dice que es un lenguaje de schema de restricción abierta porque define un conjunto de reglas a cumplir, pero no un modelo completo para las instancias, define lo que está prohibido y permite el resto. A diferencia de los schemas, que comprueban que una instancia XML se ajuste a una cierta gramática (énfasis en léxico, sintaxis y sistemas de tipos), Schematron está enfocado a la validación de contenidos (comprobación de restricciones sobre los valores y las relaciones entre los datos). Las ventajas del Schematron frente a otros lenguajes de schema estriban en que proporciona herramientas poderosas de validación empleando una sintaxis simple para la implementación. Del mismo modo que XSLT, Schematron se apoya absolutamente en los conceptos de árboles, nodos y trayectos de búsqueda de XPath. Por ese motivo se seguirán haciendo uso de las expresiones, funciones y sentencias XPath. En principio la validación de contenidos se puede hacer mediante hojas de estilo; sin embargo, el uso de schematrones aporta la posibilidad de generación dinámica de esas hojas de estilo con un lenguaje mucho más sencillo, ahí radica su potencia. B Utilidad y Funcionamiento El objetivo fundamental de un Schematron es que sirva como validador de contenidos. A continuación se plantea un ejemplo sencillo de validación de contenidos mediante el uso de una hoja de estilo: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <!-- Seleccionamos todos los elementos casa--> <xsl:template match="//house"> <!-- Miramos si los elementos casa tienen elementos pared--> <xsl:if test="not(pared)"> La casa no tiene paredes <xsl:if> </xsl:template> </xsl:stylesheet> El resultado de aplicar esta hoja de estilo a un documento XML es que si en el documento aparece algún elemento casa que no contiene elementos pared se saca un mensaje de error indicándolo. Este ejemplo ilustra cómo se puede utilizar una hoja de estilo XSLT con propósitos de validación de contenidos, pero el lenguaje Schematron supone un nivel de abstracción adicional. Se crea un documento schematron utilizando este lenguaje, de modo que, al trasformar ese documento mediante una meta-hoja de estilo (hoja de estilo que genera otras hojas de estilo), se genera la hoja de estilo final que sirve como un validador similar al del ejemplo (Ver Figura B. 1-8). Pág. B 24

29 Figura B. 1-8 Procedimiento general de uso Schematron. En el documento schematron es donde se especifican las reglas que han de ser validadas, es decir, los campos que hay que comprobar y las acciones que hay que tomar en cada caso. El documento schematron se escribe en un lenguaje específico, por tanto, debe ajustarse a una cierta gramática (un cierto schema) que se explica detalladamente en el siguiente apartado. Para obtener el validador se debe aplicar una meta-hoja de estilo (Skeleton) al documento schematron donde están especificadas las reglas a validar. Finalmente, el documento validador se aplica a una cierta instancia XML y sirve para comprobar si dicha instancia cumple las reglas especificadas previamente. La idea más importante es que mediante el schematron se está generando dinámicamente una hoja de estilo para la validación de contenidos. B El Schematron schema Como se acaba de comentar, un documento schematron debe ajustarse a una cierta gramática, a un cierto schema (el schematron schema). El elemento raíz de un schematron schema es un elemento que se denominará schema cuyo namespace es La Figura B. 1-9 presenta la estructura en árbol del schematron schema. Sólo se muestran algunas de las ramas básicas y no la estructura completa. A lo largo del apartado se explicarán todos los aspectos fundamentales de la estructura. Pág. B 25

30 Figura B Schematron Schema. Un documento schematron consiste en una serie de aseveraciones, que pueden cumplirse o no. Para especificar dichas aseveraciones se usan los dos elementos fundamentales del schematron schema: los elementos assert y report. El primero se emplea para aseveraciones que se espera que sean verdaderas, mientras que el segundo se emplea para el caso contrario. Mediante estos dos elementos se construyen las sentencias XPath que más adelante se validarán. Por ejemplo: <assert test="count (paredes) = 4">La casa no tiene 4 paredes</assert> Si no se cumple lo que se testea, la aseveración falla y se muestra al usuario el mensaje La casa no tiene 4 paredes. <report test="count (paredes)">la casa tiene 4 paredes</report> En este caso, sin embargo, se muestra el mensaje en caso de que sí se cumpla la aseveración. Dado que ambos elementos son inversos parece que haya una cierta redundancia. Sin embargo, se emplean ambos porque se usan con distinta intención. En general se suele emplear assert para denotar que se ha producido algún error, mientras que report se suele usar para remarcar alguna característica importante de algún dato en concreto. Los mensajes que se presentan con assert y report son sólo declaraciones escuetas y concretas, pero si se desea añadir más información se puede usar diagnostics. Son elementos que permiten incluir datos adicionales, que se denominará información de diagnóstico. Por ejemplo: <assert test="count(walls) = 4" diagnostics="1">la casa no tiene 4 paredes </assert> <diagnostics> <diagnostic id="1"> Es muy extraño que una casa tenga más o menos de 4 paredes. Pongase en contacto con su arquitecto </diagnostic> </diagnostics> Pág. B 26

Tecnologías XML Esquemas XML

Tecnologías XML Esquemas XML Esquemas XML Esquemas XML Problemas de los DTDs Di5ciles de manipular (no son XML) No son extensibles (una vez definido, no es posible añadir nuevos vocabularios a un DTD) No soportan Cpos de datos (ej.

Más detalles

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Hojas de Estilos XSLT en el aula Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Resumen Según la Orden EDU/2887/2010, de 2 de noviembre, por la que se establece el currículo

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

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar Clase:005 1 Unidad II Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar 2 Agenda Desarrollo de Apps para Android Aplicaciones en Android Componentes Básicos de las Aplicaciones

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

Diseño de páginas web 2011

Diseño de páginas web 2011 Diseño de páginas web 2011 Al finalizar el curso, el alumno será capaz de planificar y diseñar correctamente desde sencillas páginas web hasta completos sitios web. Para ello, se le proporciona primero

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado)

Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado) Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado) Mg. Elsa Estévez Universidad Nacional del Sur T.2 Agradecimiento Este curso se ha desarrollado

Más detalles

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

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

Más detalles

XML Schema. Departamento de Informática Universidad de Oviedo

XML Schema. Departamento de Informática Universidad de Oviedo XML Schema Departamento de Informática Universidad de Oviedo Lenguajes de Esquemas Esquema = definición de estructura de un conjunto de documentos XML Validar = Chequear que un documento sigue un esquema

Más detalles

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

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

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Transformación documentos XML. Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo

Transformación documentos XML. Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo Transformación documentos XML Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo Hojas de estilos para XML Antecedentes SGML tenía DSSSL (Document Style Semantics and Specification

Más detalles

Capítulo 1 Documentos HTML5

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

Más detalles

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas. Módulo 3 Herramientas de Cómputo Listas, tabulaciones, columnas y cuadros de texto Listas En muchas ocasiones es necesario que enumeres diferentes elementos en tus documentos. Word no sólo reconoce números

Más detalles

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Introducción Con la finalidad de mantenerte informado respecto a todos los cambios y mejoras de los productos de CONTPAQ i, ponemos a tu disposición

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER 2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por

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

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

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Metadatos en Plataformas ECM

Metadatos en Plataformas ECM Metadatos en Plataformas ECM understanding documents Ofrece tu sistema soporte para tipos documentales en bases de datos? Por qué debería importarte? Marzo, 2013 Basado en: Manejo de metadatos en plataformas

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

SIIGO Pyme. Templates. Cartilla I

SIIGO Pyme. Templates. Cartilla I SIIGO Pyme Templates Cartilla I Tabla de Contenido 1. Presentación 2. Qué es un Template? 3. Qué Aspectos se Deben Tener en Cuenta Antes de Diseñar o Modificar un Template? 4. Cuáles son las Formas que

Más detalles

Práctica de introducción a

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

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos: Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende

Más detalles

Manual de uso de la Administración ITALO

Manual de uso de la Administración ITALO Manual de uso de la SUBDIRECCIÓN GENERAL DE TECNOLOGÍAS DE LA INFORMACIÓN Y DE LAS COMUNICACIONES Referencia: ITALOMUAIV01 Nº Versión: 1.0 Fecha: Agosto de 2010 Listados con Organismos) Manual de uso de

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Conceptos Generales en Joomla 1.7.2.

Conceptos Generales en Joomla 1.7.2. 1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente

Más detalles

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

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

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

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

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

PowerPoint 2010 Modificar el diseño de las diapositivas

PowerPoint 2010 Modificar el diseño de las diapositivas PowerPoint 2010 Modificar el diseño de las diapositivas Contenido CONTENIDO... 1 MODIFICAR EL DISEÑO DE LAS DIAPOSITIVAS... 2 DISEÑO DE DIAPOSITIVAS EN POWERPOINT WEB APP... 13 1 Modificar el diseño de

Más detalles

FSE2007. Formato de fichero de Verificaciones UAFSE-FSE2007. Formato de fichero de Verificaciones. Página 1 de 8 FSE2007

FSE2007. Formato de fichero de Verificaciones UAFSE-FSE2007. Formato de fichero de Verificaciones. Página 1 de 8 FSE2007 UAFSE- Formato de fichero de Verificaciones Página 1 de 8 UAFSE- 1- Introducción Para la importación de datos masivos al sistema se dispone de un formato concreto de fichero, dependiendo de la naturaleza

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

ADAPTAEMPLEO INFORME ACCESIBILIDAD. octubre 2013. Versión 1.0

ADAPTAEMPLEO INFORME ACCESIBILIDAD. octubre 2013. Versión 1.0 ADAPTAEMPLEO INFORME ACCESIBILIDAD octubre 2013 Versión 1.0 1.0 Primera versión del documento. CONTROL DE CAMBIOS Índice de Contenido 1. ACCESIBILIDAD WEB...4 2. PUNTOS DE VERIFICACIÓN...5 2.1. IMÁGENES

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

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14)

Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14) Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14) Programación 3 Curso 2011-2012 Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante 1. Introducción En esta segunda práctica

Más detalles

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Estructuras de Datos y Algoritmos Tecnólogo en Informática Estructuras de Datos y Algoritmos Tecnólogo en Informática INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...

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

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Importador Universal - Operaciones

Importador Universal - Operaciones Para todos aquellos clientes que tengan la información de sus Operaciones almacenadas en sus propios sistemas informáticos, Banco Popular les proporciona esta herramienta para poder importarlas a través

Más detalles

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir Ministerio de Educación Diseño de Presentaciones en la Enseñanza Módulo 9: Imprimir Instituto de Tecnologías Educativas 2011 Diseño de Presentaciones en la Enseñanza (OpenOffice) Imprimir Imprimir una

Más detalles

Esquemas XML para intercambio de documentos electrónicos y expedientes electrónicos

Esquemas XML para intercambio de documentos electrónicos y expedientes electrónicos SECRETARÍA DE ESTADO PARA LA FUNCIÓN PÚBLICA DIRECCIÓN GENERAL PARA EL IMPULSO DE LA ADMINISTRACIÓN ELECTRÓNICA MANUAL DE USUARIO Esquemas XML para intercambio de documentos electrónicos y expedientes

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

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

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1 MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1 1. Introducción Esta aplicación tiene como objeto cubrir la informatización de los documentos

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Ejemplos básicos de webmathematica para profesores

Ejemplos básicos de webmathematica para profesores Ejemplos básicos de webmathematica para profesores Cualquier cálculo hecho dentro Mathematica puede ser realizado usando webmathematica con dos limitaciones significativas. Primero, al usar webmathematica,

Más detalles

FICHA TÉCNICA. Introducción. Carga de datos de domiciliación. Mejoras y componentes adaptados. Formatos afectados

FICHA TÉCNICA. Introducción. Carga de datos de domiciliación. Mejoras y componentes adaptados. Formatos afectados Page 1 of 7 FICHA TÉCNICA 366 - Identificador IBAN y código BIC en módulos de cargas Fichas Gt/Win Descriptores: Identificador IBAN y código BIC en módulos de cargas Se ha desarrollado la posibilidad de

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Contenido. Complemento de Estado de Cuenta Bancario. Estructura

Contenido. Complemento de Estado de Cuenta Bancario. Estructura Contenido Complemento de Estado de Cuenta Bancario 1. Estándar del Complemento Estado de Cuenta Bancario 2. Secuencia de Elementos a Integrar en la Cadena Original 3. del Complemento Estado de Cuenta Bancario

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Introducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos

Introducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos Plataforma Moodle Accediendo a los contenidos Formatos ----------------------------------------------------------------------- 2 Glosarios -----------------------------------------------------------------------

Más detalles

Manual del Alumno de la plataforma de e-learning.

Manual del Alumno de la plataforma de e-learning. 2 Manual del Alumno de la Plataforma de E-learning 3 4 ÍNDICE 1. Página de Inicio...7 2. Opciones generales...8 2.1. Qué es el Campus...8 2.2. Nuestros Cursos...9 2.3. Cómo matricularme...9 2.4. Contactar...9

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

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

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Información destacada para Coordinadores TIC sobre el Portal Educamadrid

Información destacada para Coordinadores TIC sobre el Portal Educamadrid Información destacada para Coordinadores TIC sobre el Portal Educamadrid La sección COORDINADORES TIC (www.educa.madrid.org) está dedicada a albergar información relevante para Coordinadores TIC de los

Más detalles

Ajustes del Curso en egela (Moodle 2.5)

Ajustes del Curso en egela (Moodle 2.5) Ajustes del Curso en egela (Moodle 2.5) Manual para el profesorado Versión 2 (12/05/2015) El presente manual ha sido desarrollado por el Campus Virtual de la Universidad del País Vasco / Euskal Herriko

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

NORMA DE DIGITALIZACIÓN ADADA018 ADICIONALES EXPEDIENTESTRU

NORMA DE DIGITALIZACIÓN ADADA018 ADICIONALES EXPEDIENTESTRU NORMA DE DIGITALIZACIÓN ADADA018 ADICIONALES EXPEDIENTESTRU La información estará soportada en DVD's que incluyan los datos alfanuméricos e imágenes asociadas. El DVD irá identificado con una etiqueta,

Más detalles

BOLETÍN OFICIAL DEL ESTADO

BOLETÍN OFICIAL DEL ESTADO Núm. 182 Sábado 30 de julio de 2011 Sec. III. Pág. 87108 III. OTRAS DISPOSICIONES MINISTERIO DE POLÍTICA TERRITORIAL Y ADMINISTRACIÓN PÚBLICA 13170 Resolución de 19 de julio de 2011, de la Secretaría de

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

TARIFAS DE VENTA Y DESCUENTOS

TARIFAS DE VENTA Y DESCUENTOS Manual del módulo TRAZABILIDAD EUROWIN 8.0 SQL TARIFAS DE VENTA Y DESCUENTOS 1 Documento: docew_tarifasventa Edición: 03 Nombre: Tarifas de venta y descuentos Fecha: 06-05-2009 Índice 1. Introducción...

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente. PLANTILLAS EN PHP El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de documentos HTML que se usan en el desarrollo de un sitio web. A lo largo de la navegación

Más detalles

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

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

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

PROGRAMACIÓN PÁGINAS WEB CON PHP

PROGRAMACIÓN PÁGINAS WEB CON PHP PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Internet como herramientas de comunicación: El correo electrónico

Internet como herramientas de comunicación: El correo electrónico Internet como herramientas de comunicación: El correo electrónico 1. El correo electrónico Objetivo del tema: Aprender a manejar el correo electrónico y los medios de comunicación existentes en Internet.

Más detalles